You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2003/11/20 03:57:05 UTC
DO NOT REPLY [Bug 24845] New: -
complexType in SOAP response has namespace prefix, chokes .net clients
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24845>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24845
complexType in SOAP response has namespace prefix, chokes .net clients
Summary: complexType in SOAP response has namespace prefix,
chokes .net clients
Product: Axis
Version: 1.1
Platform: All
OS/Version: All
Status: NEW
Severity: Normal
Priority: Other
Component: Serialization/Deserialization
AssignedTo: axis-dev@ws.apache.org
ReportedBy: lycono@mindless.com
The SOAP response from Axis for an RPC style service that returns complexTypes
in the response places a namespace prefix on the complexType elements. .NET
clients cannot hanlde this prefix.
There was a thread about this on the user list a while back. Apparently in
April of 2002, this issue was fixed. The thread is here:
http://marc.theaimsgroup.com/?l=axis-user&m=101793858607643&w=2. But in both
the 1.0 and 1.1 releases, this issue remains. At the request of Davanum, I've
tested against the latest in CVS. The issue remains there as well.
I know that this has been discussed before but I was unable to find any other
references in Bugzilla or the axis-user archive (searching
for ".net", "prefix", "namespace", "complexType", "interop", etc.).
The respone that axis (compiled from the latest cvs) returns:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:op2Response
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://DefaultNamespace">
<ns1:op2Return xsi:type="ns1:MyCustomType">
<ns1:lotsOfBob xsi:type="ns1:BobType">
<ns1:AString xsi:type="xsd:anySimpleType">bobEl1</ns1:AString>
</ns1:lotsOfBob>
<ns1:lotsOfBob xsi:type="ns1:BobType">
<ns1:AString xsi:type="xsd:anySimpleType">bobEl2</ns1:AString>
</ns1:lotsOfBob>
<ns1:bob xsi:type="ns1:BobType">
<ns1:AString xsi:type="xsd:anySimpleType">bob value</ns1:AString>
</ns1:bob>
<ns1:bar xsi:type="xsd:anySimpleType">fooEl1</ns1:bar>
<ns1:bar xsi:type="xsd:anySimpleType">fooEl2</ns1:bar>
<ns1:bar xsi:type="xsd:anySimpleType">fooEl3</ns1:bar>
<ns1:foo xsi:type="xsd:anySimpleType">foo value</ns1:foo>
</ns1:op2Return>
</ns1:op2Response>
</soapenv:Body>
</soapenv:Envelope>
(As a side note, I'm not sure about the "anySimpleType", with axis 1.1 the type
values are the correct xsd types - xsd:string).
Notice the ns1 prefix on every element. A .net client accepts the response,
(not throwing any errors) but all values are null. Taking out the
prefixes, .net correctly understands the response. I don't know whether
prefixes or no prefixes in the SOAP message is correct or if both are. At this
point though, we are unable to invoke any rpc service that returns a complex
type hosted by axis with a .net client.