# Wsdl2ruby request invalid while soapui's is correct

**URL:** <https://www.ruby-forum.com/t/wsdl2ruby-request-invalid-while-soapuis-is-correct/149731>\
**Category:** Ruby\
**Created:** [September 29, 2008, 4:13am UTC](https://www.ruby-forum.com/t/wsdl2ruby-request-invalid-while-soapuis-is-correct/149731 "2008-09-29T04:13:04Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![leegodden](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/bc8723/32.png) [@leegodden](https://www.ruby-forum.com/u/leegodden)\
**Post date:** [September 29, 2008, 4:13am UTC](https://www.ruby-forum.com/t/wsdl2ruby-request-invalid-while-soapuis-is-correct/149731/1 "2008-09-29T04:13:04Z")

</div>

[Apologies if this ends up being a duplicate post. I’ve been waiting  
for  
over three hours for my post to appear, so I’m wondering if there is a  
problem between Nabble and this list.]

I’m trying to use wsdl2ruby with the optionsXpress web services. The  
WSDL  
can be retrieved at  
[https://oxbranch.optionsxpress.com/accountservice/account.asmx?WSDL](https://oxbranch.optionsxpress.com/accountservice/account.asmx?WSDL).

In SOAPUI, the generated raw request looks like this:

Content-Length: 468  
Host: [oxbranch.optionsxpress.com](http://oxbranch.optionsxpress.com)  
User-Agent: Jakarta Commons-HttpClient/3.0.1  
SOAPAction: “[http://oxbranch.optionsxpress.com/GetOxSessionWithSource](http://oxbranch.optionsxpress.com/GetOxSessionWithSource)”  
Content-Type: text/xml;charset=UTF-8

\<soapenv:Envelope  
xmlns:soapenv=“[http://schemas.xmlsoap.org/soap/envelope/](http://schemas.xmlsoap.org/soap/envelope/)”  
xmlns:oxb=“[http://oxbranch.optionsxpress.com](http://oxbranch.optionsxpress.com)”\>  
soapenv:Header/  
soapenv:Body  
oxb:GetOxSessionWithSource  
oxb:sUserName?\</oxb:sUserName\>  
oxb:sPassword?\</oxb:sPassword\>  
oxb:sSessionID?\</oxb:sSessionID\>  
oxb:sSource?\</oxb:sSource\>  
\</oxb:GetOxSessionWithSource\>  
\</soapenv:Body\>  
\</soapenv:Envelope\>

The wiredump from soap4r request looks like this (after my  
clean-up/reformatting):

POST /accountservice/account.asmx/GetOxSessionWithSource HTTP/1.1  
Content-Type: text/xml; charset=utf-8  
Soapaction: "[http://oxbranch.optionsxpress.com/GetOxSessionWithSource\](http://oxbranch.optionsxpress.com/GetOxSessionWithSource%5C)"  
User-Agent: SOAP4R/1.5.5  
Accept: _/_  
Host: [oxbranch.optionsxpress.com](http://oxbranch.optionsxpress.com)  
Content-Length: 510

\<?xml version=\"1.0\" encoding=\"utf-8\" ?\>

\<env:Envelope xmlns:xsi="[http://www.w3.org/2001/XMLSchema-instance\](http://www.w3.org/2001/XMLSchema-instance%5C)"  
xmlns:xsd="[http://www.w3.org/2001/XMLSchema\](http://www.w3.org/2001/XMLSchema%5C)"  
xmlns:env="[http://schemas.xmlsoap.org/soap/envelope/\](http://schemas.xmlsoap.org/soap/envelope/%5C)"\>  
env:Body  
\<GetOxSessionWithSource xmlns="[http://oxbranch.optionsxpress.com](http://oxbranch.optionsxpress.com)"\>  
  
  
  
  
  
\</env:Body\>  
\</env:Envelope\>

The call from SOAPUI works perfectly. The soap4r call results in the  
following response:

→ “HTTP/1.1 500 Internal Server Error\r\n”  
 → “Cache-Control: private\r\n”  
 → “Content-Length: 236\r\n”  
 → “Content-Type: text/plain; charset=utf-8\r\n”  
 → “Server: Microsoft-IIS/6.0\r\n”  
 → “X-Powered-By: [ASP.NET](http://ASP.NET)\r\n”  
 → “X-AspNet-Version: 2.0.50727\r\n”  
 → “Set-Cookie: TLTHID=B1B3C4E642E7B78CBAB2CF8EB944A39C; Path=/;  
Domain=.  
[optionsxpress.com](http://optionsxpress.com)\r\n”  
 → “Set-Cookie: TLTSID=B1B3C4E642E7B78CBAB2CF8EB944A39C; Path=/;  
Domain=.  
[optionsxpress.com](http://optionsxpress.com)\r\n”  
 → “HostName: DABRANCH1\r\n”  
 → “Set-Cookie: TLTCNT=DABRANCH10000000000140155\r\n”  
 → “Date: Sun, 28 Sep 2008 21:39:30 GMT\r\n”  
 → “\r\n”  
reading 236 bytes…  
 → “System.InvalidOperationException: Request format is invalid:  
text/xml;  
charset=utf-8.\r\n at  
System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()\r\n  
at  
System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest  
()\r\n”  
read 236 bytes  
Conn keep-alive  
System.InvalidOperationException: Request format is invalid: text/xml;  
charset=utf-8.  
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()  
at  
System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()

I’m not sure, but it looks like the “\<?xml…” prolog could be the  
problem.  
The namespaces seem the same. I don’t understand why the server says  
request format text/xml is invalid; that’s what SOAPUI is sending.

I’m new to soap4r. Can anyone with some experience give me a clue  
what’s  
going on and what to do about it, please? I’ve been spinning my wheels  
on  
this for longer than I care to admit.

Where are the docs??? If I could just suppress the xml prolog, maybe I  
could get past this.

Thanks,  
Lee G.  
[http://www.leegrey.com/hmm](http://www.leegrey.com/hmm)

---

<div class="post-metadata">

**Author:** ![leegodden](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/bc8723/32.png) [@leegodden](https://www.ruby-forum.com/u/leegodden)\
**Post date:** [September 29, 2008, 4:28pm UTC](https://www.ruby-forum.com/t/wsdl2ruby-request-invalid-while-soapuis-is-correct/149731/2 "2008-09-29T16:28:35Z")

</div>

On Sep 28, 10:10 pm, Lee G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> The wiredump from soap4r request looks like this (after my  
> clean-up/reformatting):
> 
> POST /accountservice/account.asmx/GetOxSessionWithSource HTTP/1.1  
> Content-Type: text/xml; charset=utf-8  
> Soapaction: "[http://oxbranch.optionsxpress.com/GetOxSessionWithSource\](http://oxbranch.optionsxpress.com/GetOxSessionWithSource%5C)"  
> User-Agent: SOAP4R/1.5.5

Version 1.5.5 is broken. Please install version 1.5.8 and try again.

– Mark.

---

<div class="post-metadata">

**Author:** ![leegodden](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/bc8723/32.png) [@leegodden](https://www.ruby-forum.com/u/leegodden)\
**Post date:** [September 29, 2008, 6:06pm UTC](https://www.ruby-forum.com/t/wsdl2ruby-request-invalid-while-soapuis-is-correct/149731/3 "2008-09-29T18:06:58Z")

</div>

I’m confused by what seems to be a conflict in JRuby. If I’m reading  
things  
right (I’m fairly green with Ruby, so I may not be reading it right), I  
have  
soap4r 1.5.5 installed in JRuby 1.1.4 but soap4r gem 1.5.8 installed, as  
well.

How do I run with the gem rather than the stuff in the JRuby library?

Thanks,  
Lee

---

<div class="post-metadata">

**Author:** ![leegodden](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/bc8723/32.png) [@leegodden](https://www.ruby-forum.com/u/leegodden)\
**Post date:** [September 29, 2008, 10:33pm UTC](https://www.ruby-forum.com/t/wsdl2ruby-request-invalid-while-soapuis-is-correct/149731/4 "2008-09-29T22:33:40Z")

</div>

Maybe I should ask this another way:

How do I update my Ruby library to include the latest copy of soap4r? I  
have no experience with maintaining the underlying Ruby platform; I’m  
just a  
user at this point.

Thanks,  
Lee

---

<div class="post-metadata">

**Author:** ![leegodden](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/bc8723/32.png) [@leegodden](https://www.ruby-forum.com/u/leegodden)\
**Post date:** [October 4, 2008, 3:58am UTC](https://www.ruby-forum.com/t/wsdl2ruby-request-invalid-while-soapuis-is-correct/149731/5 "2008-10-04T03:58:32Z")

</div>

The problem still appears with 1.5.8. Here is my request:

POST /accountservice/account.asmx/GetOxSessionWithSource HTTP/1.1  
Content-Type: text/xml; charset=utf-8  
Soapaction: “[http://oxbranch.optionsxpress.com/GetOxSessionWithSource](http://oxbranch.optionsxpress.com/GetOxSessionWithSource)”  
User-Agent: SOAP4R/1.5.8  
Accept: _/_  
Host: [oxbranch.optionsxpress.com](http://oxbranch.optionsxpress.com)  
Content-Length: 543

\<?xml version="1.0" encoding="utf-8" ?\>

\<env:Envelope xmlns:xsi=“[http://www.w3.org/2001/XMLSchema-instance](http://www.w3.org/2001/XMLSchema-instance)”  
xmlns:xsd=“[http://www.w3.org/2001/XMLSchema](http://www.w3.org/2001/XMLSchema)”  
xmlns:env=“[http://schemas.xmlsoap.org/soap/envelope/](http://schemas.xmlsoap.org/soap/envelope/)”\>  
env:Body  
\<n1:GetOxSessionWithSource  
xmlns:n1=“[http://oxbranch.optionsxpress.com](http://oxbranch.optionsxpress.com)”\>  
n1:sUserName\</n1:sUserName\>  
n1:sPassword\</n1:sPassword\>  
n1:sSessionID\</n1:sSessionID\>  
n1:sSource\</n1:sSource\>  
\</n1:GetOxSessionWithSource\>  
\</env:Body\>  
\</env:Envelope\>

And the response is:

HTTP/1.1 500 Internal Server Error  
Cache-Control: private  
Content-Length: 236  
Content-Type: text/plain; charset=utf-8  
Server: Microsoft-IIS/6.0  
X-Powered-By: [ASP.NET](http://ASP.NET)  
X-AspNet-Version: 2.0.50727  
Set-Cookie: TLTHID=6D076B6B48711349484380840CF90FF8; Path=/;  
[Domain=.optionsxpress.com](http://Domain=.optionsxpress.com)  
Set-Cookie: TLTSID=6D076B6B48711349484380840CF90FF8; Path=/;  
[Domain=.optionsxpress.com](http://Domain=.optionsxpress.com)  
HostName: EQBRANCH3  
Set-Cookie: TLTCNT=EQBRANCH30000000000814400  
Date: Sat, 04 Oct 2008 01:49:11 GMT

System.InvalidOperationException: Request format is invalid: text/xml;  
charset=utf-8.  
at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()  
at  
System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()  
…c

And it still works fine with SOAPUI, where the request looks like this:

POST /accountservice/account.asmx HTTP/1.1  
Content-Type: text/xml;charset=UTF-8  
SOAPAction: “[http://oxbranch.optionsxpress.com/GetOxSessionWithSource](http://oxbranch.optionsxpress.com/GetOxSessionWithSource)”  
User-Agent: Jakarta Commons-HttpClient/3.0.1  
Host: [oxbranch.optionsxpress.com](http://oxbranch.optionsxpress.com)  
Content-Length: 458

\<soapenv:Envelope  
xmlns:soapenv=“[http://schemas.xmlsoap.org/soap/envelope/](http://schemas.xmlsoap.org/soap/envelope/)”  
xmlns:oxb=“[http://oxbranch.optionsxpress.com](http://oxbranch.optionsxpress.com)”\>  
soapenv:Header/  
soapenv:Body  
oxb:GetOxSessionWithSource  
oxb:sUserName\</oxb:sUserName\>  
oxb:sPassword\</oxb:sPassword\>  
oxb:sSessionID\</oxb:sSessionID\>  
oxb:sSource\</oxb:sSource\>  
\</oxb:GetOxSessionWithSource\>  
\</soapenv:Body\>  
\</soapenv:Envelope\>

Any ideas?

Thanks for any leads!

–Lee
