Thanks everybody for the antwort.
I implemented also the WEB Service in document/literal (I'm going to publish
both versions).
My problem is that (my/the) document/literal version does not work with .NET
Clients (they don't see the arrays of complexes objects)... so as workaround
I've also implemented this other version...

Patrick

 

> -----Original Message-----
> From: Jim Murphy [mailto:[EMAIL PROTECTED] 
> Sent: Mittwoch, 22. September 2004 17:08
> To: [EMAIL PROTECTED]
> Subject: Re: "Strange" format of RPC/encoded messages
> 
> Yes I agree with all this.  I would ask if you are interested 
> in readability why not chose to implement in document/literal 
> mode instead of rpc/enc?
> 
> Jim Murphy
> Mindreef, Inc.
> 
> Bouche Paul wrote:
> 
> > Patrick,
> > 
> > What I write know is what I understand from talking to 
> others (credit be to them ;-) and reading the spec.
> > The references you see are the normal behaviour of the 
> /encoded use of the parameters (here RPC/encoded).  This is 
> to allow serialization of complex object graphs (with cyclic 
> references).  This is specified by the SOAP Encoding and is 
> normal (correct me anyone if I am wrong).  You can change 
> this behaviour of AXIS in the server-config.wsdd which is in 
> the WEB-INF directory of the AXIS webapp directory.
> > 
> > Paul
> > 
> > 
> > 
> >>-----Original Message-----
> >>From: Patrick Herber [mailto:[EMAIL PROTECTED]
> >>Sent: Mittwoch, 22. September 2004 13:54
> >>To: [EMAIL PROTECTED]
> >>Subject: "Strange" format of RPC/encoded messages
> >>
> >>
> >>Hi,
> >>
> >>I created a simple web service with style RPC/encoded, 
> which receives 
> >>and returns complex objects (a request containing an array of 
> >>sub-requests, which in turn contain arrays of 
> sub-sub-requests and the 
> >>same structure for the response). It works fine (for the moment), 
> >>however I see that the generated message (I see it on the 
> SOAPMonitor) 
> >>is (for me) something strange. In fact the child 
> collections are not 
> >>directed included in their parents but referenced, like:
> >>
> >>    <doctorResponse 
> soapenc:arrayType="ns2:DigniResponseDoctorRPC[1]"
> >>xsi:type="soapenc:Array">
> >>      <item href="#id2"/>
> >>    </doctorResponse>
> >>
> >>The same happens also for "xsd:int" elements like:
> >>
> >>  <requestResponseCode href="#id1"/>
> >>  ...
> >>  <multiRef id="id1" soapenc:root="0" 
> >>        
> >>soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
> >>        xsi:type="xsd:int" 
> >> 
> >>xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>0<
> /multiRef>
> >>
> >>This makes it difficult for a human to read these messages.
> >>
> >>Could you kindly tell me whether this is the normal behavior of 
> >>RPC/encoded messages or if it is due to a problem/mistake 
> in my WSDL 
> >>definition?
> >>I join a simple Response message and an extract of my WSDL file 
> >>(schema and message definitions).
> >>
> >>Thanks a lot for your help!
> >>
> >>Regards,
> >>Patrick
> >>
> >>
> >><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:validateResponse
> >>        
> >>soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
> >>        xmlns:ns1="urn:ch.arpage.digni.rpc">
> >>    <response href="#id0"/>
> >>  </ns1:validateResponse>
> >>  <multiRef id="id0" soapenc:root="0" 
> >>        
> >>soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
> >>        xsi:type="ns2:DigniResponseRPC"
> >>xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; 
> >>        xmlns:ns2="urn:ch.arpage.digni.rpc">
> >>    <insuranceEAN xsi:type="xsd:string">7612345678901</insuranceEAN>
> >>    <insuranceRequestId 
> xsi:type="xsd:string">123</insuranceRequestId>
> >>    <responseDate
> >>xsi:type="xsd:dateTime">2004-09-22T11:19:24.574Z</responseDate>
> >>    <requestResponseCode href="#id1"/>
> >>    <doctorResponse 
> soapenc:arrayType="ns2:DigniResponseDoctorRPC[1]"
> >>xsi:type="soapenc:Array">
> >>      <item href="#id2"/>
> >>    </doctorResponse>
> >>  </multiRef>
> >>  <multiRef id="id1" soapenc:root="0" 
> >>        
> >>soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
> >>        xsi:type="xsd:int" 
> >> 
> >>xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>0<
> /multiRef>
> >>  <multiRef id="id2" soapenc:root="0" 
> >>        
> >>soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
> >>        xsi:type="ns3:DigniResponseDoctorRPC" 
> >>        xmlns:ns3="urn:ch.arpage.digni.rpc" 
> >>        xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>
> >>    <doctorEAN xsi:type="xsd:string">1108</doctorEAN>
> >>    <doctorResponseCode href="#id3"/>
> >>    <positionResponse xsi:type="ns3:DigniResponsePositionRPC"
> >>xsi:nil="true"/>
> >>  </multiRef>
> >>  <multiRef id="id3" soapenc:root="0" 
> >>        
> >>soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
> >>        xsi:type="xsd:int" 
> >> 
> >>xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";>100<
> >>/multiRef>
> >></soapenv:Body>
> >></soapenv:Envelope>
> >>
> >>
> >>SCHEMA DEFINITION (EXTRACT):
> >>===========================
> >>
> >>   <complexType name="DigniResponsePositionRPC">
> >>    <sequence>
> >>     <element name="tarmedKey" nillable="true" type="xsd:string"/>
> >>     <element name="invoiceDate" nillable="true" type="xsd:date"/>
> >>     <element name="responseCode" type="xsd:int"/>
> >>    </sequence>
> >>   </complexType>
> >>   <complexType name="DigniResponsePositionRPCList">
> >>    <complexContent>
> >>     <restriction base="soapenc:Array">
> >>      <attribute ref="soapenc:arrayType"
> >>wsdl:arrayType="impl:DigniResponsePositionRPC[]"/>
> >>     </restriction>
> >>    </complexContent>
> >>   </complexType>
> >>   <complexType name="DigniResponseDoctorRPC">
> >>    <sequence>
> >>     <element name="doctorEAN" nillable="true" type="xsd:string"/>
> >>     <element name="doctorResponseCode" type="xsd:int"/>
> >>     <element name="positionResponse" nillable="true"
> >>type="impl:DigniResponsePositionRPCList"/>
> >>    </sequence>
> >>   </complexType>
> >>   <complexType name="DigniResponseDoctorRPCList">
> >>    <complexContent>
> >>     <restriction base="soapenc:Array">
> >>      <attribute ref="soapenc:arrayType"
> >>wsdl:arrayType="impl:DigniResponseDoctorRPC[]"/>
> >>     </restriction>
> >>    </complexContent>
> >>   </complexType>
> >>   <complexType name="DigniResponseRPC">
> >>    <sequence>
> >>     <element name="insuranceEAN" nillable="true" 
> type="xsd:string"/>
> >>     <element name="insuranceRequestId" nillable="true" 
> >>type="xsd:string"/>
> >>     <element name="responseDate" nillable="true" 
> >>type="xsd:dateTime"/>
> >>     <element name="requestResponseCode" type="xsd:int"/>
> >>     <element name="doctorResponse" nillable="true"
> >>type="impl:DigniResponseDoctorRPCList"/>
> >>    </sequence>
> >>   </complexType>
> >>
> >>
> >>MESSAGE DEFINITION
> >>==================
> >>
> >>   <wsdl:message name="validateResponse">
> >>      <wsdl:part name="response" type="impl:DigniResponseRPC"/>
> >>   </wsdl:message>
> >>
> >>
> >>
> >>
> >>
> >>.
> >>
> > 
> > 
> > .
> > 
> 


Reply via email to