wsdl2ruby request invalid while soapui's is correct

L

Lee Grey

[Note: parts of this message were removed to make it a legal post.]

[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.

In SOAPUI, the generated raw request looks like this:

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

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:eek:xb="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\"
User-Agent: SOAP4R/1.5.5
Accept: */*
Host: oxbranch.optionsxpress.com
Content-Length: 510

<?xml version=\"1.0\" encoding=\"utf-8\" ?>
<env:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
xmlns:env=\"http://schemas.xmlsoap.org/soap/envelope/\">
<env:Body>
<GetOxSessionWithSource xmlns=\"http://oxbranch.optionsxpress.com\">
<sUserName></sUserName>
<sPassword></sPassword>
<sSessionID></sSessionID>
<sSource></sSource>
</GetOxSessionWithSource>
</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\r\n"
-> "X-AspNet-Version: 2.0.50727\r\n"
-> "Set-Cookie: TLTHID=B1B3C4E642E7B78CBAB2CF8EB944A39C; Path=/; Domain=.
optionsxpress.com\r\n"
-> "Set-Cookie: TLTSID=B1B3C4E642E7B78CBAB2CF8EB944A39C; Path=/; Domain=.
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 Grey
http://www.leegrey.com/hmm
 
N

nabblee

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 hav=
e
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

=20

=20
Version 1.5.5 is broken. Please install version 1.5.8 and try again.
=20
-- Mark.
=20
=20
=20

--=20
View this message in context: http://www.nabble.com/wsdl2ruby-request-inval=
id-while-soapui%27s-is-correct-tp19717554p19726137.html
Sent from the ruby-talk mailing list archive at Nabble.com.
 
L

Lee Grey

[Note: parts of this message were removed to make it a legal post.]

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
 
N

nabblee

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=3Dutf-8
Soapaction: "http://oxbranch.optionsxpress.com/GetOxSessionWithSource"
User-Agent: SOAP4R/1.5.8
Accept: */*
Host: oxbranch.optionsxpress.com
Content-Length: 543

<?xml version=3D"1.0" encoding=3D"utf-8" ?>
<env:Envelope xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd=3D"http://www.w3.org/2001/XMLSchema"
xmlns:env=3D"http://schemas.xmlsoap.org/soap/envelope/">
<env:Body>
<n1:GetOxSessionWithSource xmlns:n1=3D"http://oxbranch.optionsxpress.co=
m">
<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=3Dutf-8
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Set-Cookie: TLTHID=3D6D076B6B48711349484380840CF90FF8; Path=3D/;
Domain=3D.optionsxpress.com
Set-Cookie: TLTSID=3D6D076B6B48711349484380840CF90FF8; Path=3D/;
Domain=3D.optionsxpress.com
HostName: EQBRANCH3
Set-Cookie: TLTCNT=3DEQBRANCH30000000000814400
Date: Sat, 04 Oct 2008 01:49:11 GMT

System.InvalidOperationException: Request format is invalid: text/xml;
charset=3Dutf-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=3DUTF-8
SOAPAction: "http://oxbranch.optionsxpress.com/GetOxSessionWithSource"
User-Agent: Jakarta Commons-HttpClient/3.0.1
Host: oxbranch.optionsxpress.com
Content-Length: 458

<soapenv:Envelope xmlns:soapenv=3D"http://schemas.xmlsoap.org/soap/envelope=
/"
xmlns:eek:xb=3D"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


=20

=20
Version 1.5.5 is broken. Please install version 1.5.8 and try again.
=20
-- Mark.
=20
=20
=20

--=20
View this message in context: http://www.nabble.com/wsdl2ruby-request-inval=
id-while-soapui%27s-is-correct-tp19717554p19808348.html
Sent from the ruby-talk mailing list archive at Nabble.com.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,226
Members
46,815
Latest member
treekmostly22

Latest Threads

Top