I'm attempting to interop with Axis client and BEA WebLogic Workshop
service.
Workshop SOAP-faulted when using multirefs in the request so I disabled
them:
AxisEngine engine = service.getEngine();
engine.setOption("sendMultiRefs",new Boolean("false"));
The request my axis client sends now looks like this:
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<ns1:echoStruct xmlns:ns1="http://openuri.org/">
<arg0 xmlns:ns2="http://openuri.org/encodedTypes"
xsi:type="ns2:SOAPStruct">
<inputInteger
xsi:type="xsd:int">10</inputInteger>
<inputString
xsi:type="xsd:string">Adam</inputString>
<inputFloat
xsi:type="xsd:float">1.1</inputFloat>
</arg0>
</ns1:echoStruct>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The response I get, which looks like valid SOAP to me is:
<SOAP-ENV:Envelope
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<m:echoStructResponse xmlns:m="http://openuri.org/">
<echoStructResult>
<inputString
xsi:type="xsd:string">Adam</inputString>
<inputInteger
xsi:type="xsd:int">10</inputInteger>
<inputFloat
xsi:type="xsd:float">1.1</inputFloat>
</echoStructResult>
</m:echoStructResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
However the client throws the following exception:
org.xml.sax.SAXException: SimpleDeser cannot handle structured data!
Im gonna step throught the src to see if that will shed any light.
In the meantime has anyone encountered this problem before/yet?
TIA
Adam Leggett
UPCO
Direct Line: 0113 20 10 631
Fax: 0113 20 10 666
<http://www.upco.co.uk>
The contents of this email are intended for the named addressees and may
contain confidential and / or privileged material. If received in error,
please contact UPCO on +44 (0)113 20 10 600 and then delete the entire email
from your system. Unauthorised review, distribution, disclosure or other use
of this information could constitute a breach of confidence. Your
co-operation in this matter is greatly appreciated.