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=7268>. 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=7268 Responses no not declare correct EncodingStyles Summary: Responses no not declare correct EncodingStyles Product: Axis Version: beta-1 Platform: PC URL: http://www.silbergrau.com OS/Version: Windows NT/2K Status: NEW Severity: Major Priority: Other Component: Basic Architecture AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] CC: [EMAIL PROTECTED] SOAP Specification on Encoding Styles (4.1.1): "[...] This attribute MAY appear on any element, and is scoped to that element's contents and all child elements not themselves containing such an attribute, much as an XML namespace declaration is scoped. There is no default encoding defined for a SOAP message. [...]" When AXIS sends back a response it does not provide correct encoding styles for referenced elements. The example below shows a testcase for such a call. Actually you could guess the encoding style from the reference, however, there may be more references to this element that are within different encoding styles! More important is that you CAN NOT determine wether the <multiRef> element has id "id0" if you do not know the encoding style of this element, since this is defined in the encoding style (encoding styles different from the soap encoding style may define identifier attributes different to "id")! TYPES: ------ public class TypeA { private TypeA reference; } Remote method = TypeA passThroughTypeA(TypeA a) REQUEST ENVELOPE: ----------------- <soap-env:Envelope xmlns:soap-enc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap- env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap- enc12="http://www.w3.org/2001/06/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:silbergrauSoapExtensions="http://www.silbergrau.com/soap/extensions"> <soap-env:Body> <ns2:passThroughTypeA xmlns:ns2="TestService"> <param soap-env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:TypeA" id="1" xmlns:ns3="http://www.silbergrau.com/schemas/encodedTypes"> <reference xsi:type="ns3:TypeA" xsi:null="1" xsi:nil="true"></reference> </param> </ns2:passThroughTypeA> </soap-env:Body> </soap-env:Envelope> RESPONSE ENVELOPE ----------------- <SOAP-ENV:Envelope 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:passThroughTypeAResponse SOAP- ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="TestService"> <passThroughTypeAResult href="#id0"/> </ns1:passThroughTypeAResponse> <!-- THIS ELEMENT MUST DECLARE AN ENCODING STYLE --> <multiRef id="id0" SOAP-ENC:root="0" xsi:type="ns2:TypeA" xmlns:SOAP- ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://www.silbergrau.com/schemas/encodedTypes"> <reference xsi:nil="true"/> </multiRef> </SOAP-ENV:Body> </SOAP-ENV:Envelope>