# Xmlrpc client (HttpBadResponse error)

**URL:** <https://www.ruby-forum.com/t/xmlrpc-client-httpbadresponse-error/135766>\
**Category:** Ruby\
**Created:** [April 24, 2008, 7:43pm UTC](https://www.ruby-forum.com/t/xmlrpc-client-httpbadresponse-error/135766 "2008-04-24T19:43:30Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nateleavitt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/3bc359/32.png) [@nateleavitt](https://www.ruby-forum.com/u/nateleavitt)\
**Post date:** [April 24, 2008, 7:43pm UTC](https://www.ruby-forum.com/t/xmlrpc-client-httpbadresponse-error/135766/1 "2008-04-24T19:43:30Z")

</div>

Hey guys… I’m having some issues connecting to an xmlrpc server.

Here is my code below:

require “xmlrpc/client”

server = XMLRPC::Client.new(“[webservice.com](http://webservice.com)”, “/api/xmlrpc”, 443)  
result = server.call(‘ContactService.load’, ‘4525435214321543’,  
[“FirstName”, “LastName”])

when doing the code above in irb… i keep getting the following error:

Net::HTTPBadResponse: wrong status line: “\025\003\001\000\002\002”  
from /usr/local/lib/ruby/1.8/net/http.rb:2031:in `read_status_line' from /usr/local/lib/ruby/1.8/net/http.rb:2018:in `read\_new’  
from /usr/local/lib/ruby/1.8/net/http.rb:1059:in `request' from /usr/local/lib/ruby/1.8/net/http.rb:1046:in `request’  
from /usr/local/lib/ruby/1.8/net/http.rb:547:in `start' from /usr/local/lib/ruby/1.8/net/http.rb:1044:in `request’  
from /usr/local/lib/ruby/1.8/net/http.rb:1001:in `post2' from /usr/local/lib/ruby/1.8/xmlrpc/client.rb:535:in `do\_rpc’  
from /usr/local/lib/ruby/1.8/xmlrpc/client.rb:420:in `call2’  
from (irb):22  
from :0

I have searched everywhere trying to figure out what this means. Please  
help.

---

<div class="post-metadata">

**Author:** ![nateleavitt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/3bc359/32.png) [@nateleavitt](https://www.ruby-forum.com/u/nateleavitt)\
**Post date:** [April 24, 2008, 8:37pm UTC](https://www.ruby-forum.com/t/xmlrpc-client-httpbadresponse-error/135766/2 "2008-04-24T20:37:16Z")

</div>

- Nate L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) (19:43) schrieb:

> server = XMLRPC::Client.new(“[webservice.com](http://webservice.com)”, “/api/xmlrpc”, 443)

Port 443 is https, that is http over ssl. I don’t know the XMLRPC-API,  
but you have to tell it to use TLS/SSL.

mfg, simon … hth

---

<div class="post-metadata">

**Author:** ![nateleavitt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/3bc359/32.png) [@nateleavitt](https://www.ruby-forum.com/u/nateleavitt)\
**Post date:** [April 24, 2008, 9:06pm UTC](https://www.ruby-forum.com/t/xmlrpc-client-httpbadresponse-error/135766/3 "2008-04-24T21:06:49Z")

</div>

Simon K. wrote:

> - Nate L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) (19:43) schrieb:
> 
> > server = XMLRPC::Client.new(“[webservice.com](http://webservice.com)”, “/api/xmlrpc”, 443)
> 
> Port 443 is https, that is http over ssl. I don’t know the XMLRPC-API,  
> but you have to tell it to use TLS/SSL.
> 
> mfg, simon … hth

Wow! Thanks for the tip Michael… Yes, I did have to specify the  
‘use\_ssl’ parameter for the xmlclient.

I now use this:

server = XMLRPC::Client.new3({‘host’ =\>“[website.com](http://website.com)”, ‘path’ =\>  
“/api/xmlrpc”, ‘port’ =\> 443, ‘use\_ssl’ =\> true})

I should also try the new\_from\_uri.

It’s working now! Thanks guys!

Nate

---

<div class="post-metadata">

**Author:** ![nateleavitt](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/3bc359/32.png) [@nateleavitt](https://www.ruby-forum.com/u/nateleavitt)\
**Post date:** [April 24, 2008, 8:55pm UTC](https://www.ruby-forum.com/t/xmlrpc-client-httpbadresponse-error/135766/4 "2008-04-24T20:55:05Z")

</div>

Nate L. wrote:

> Hey guys… I’m having some issues connecting to an xmlrpc server.
> 
> Here is my code below:
> 
> require “xmlrpc/client”
> 
> server = XMLRPC::Client.new(“[webservice.com](http://webservice.com)”, “/api/xmlrpc”, 443)  
> result = server.call(‘ContactService.load’, ‘4525435214321543’,  
> [“FirstName”, “LastName”])

XMLRPC::Client.new\_from\_uri(“[https://webservice.com/api/xmlrpc](https://webservice.com/api/xmlrpc)”)

Regards,

Michael
