[jboss-user] [JBossWS] - xsi:type attribute not set in SOAP request
georgesberscheid
do-not-reply at jboss.com
Wed Oct 4 11:19:46 EDT 2006
Hi,
I generated client artifacts from a WSDL file using wstools and I'm trying to consume a third-party web service. However the server seems to expect xsi:type attributes to be set in the request which the generated web service client doesn't do.
This is the fragment from the WSDL file:
| <xsd:element name="login">
| <xsd:complexType>
| <xsd:sequence>
| <xsd:element name="username" type="xsd:string" maxOccurs="1" minOccurs="1"></xsd:element>
| <xsd:element name="password" type="xsd:string" maxOccurs="1" minOccurs="1"></xsd:element>
| </xsd:sequence>
| </xsd:complexType>
| </xsd:element>
|
The generated SOAP request looks as follows:
| <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
| <env:Header />
| <env:Body>
| <ns1:login xmlns:ns1='http://testuri.org' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
| <username>TestUser</username>
| <password>MySecretPassword</password>
| </ns1:login>
| </env:Body>
| </env:Envelope>
|
This generates the following error message from the server: "server error. invalid method parameters"
However , if I (manually, using a debugger in org.jboss.ws.soap.SOAPConnectionImpl.call()) change the request string to include xsi:type for the parameters, the request is successfully accepted by the server:
| <env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
| <env:Header />
| <env:Body>
| <ns1:login xmlns:ns1='http://testuri.org' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
| <username xsi:type="xsd:string">TestUser</username>
| <password xsi:type="xsd:string">MySecretPassword</password>
| </ns1:login>
| </env:Body>
| </env:Envelope>
|
How do I make JBossWS add the parameter types to the request?
Thanks,
Georges
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3976044#3976044
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3976044
More information about the jboss-user
mailing list