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> > >> > >> > >> > >> > >> > >>. > >> > > > > > > . > > >