You could probably turn it off by setting a property in
server-config.wsdd to false.

<deployment ...>
 <globalConfiguration>
  .........
  .........
  <parameter name="sendMultiRefs" value="false"/>

BTW, Multirefing has some advantages such as reducing duplication of
data, better modeling for message etc.

-- Venkat


On Wed, 22 Sep 2004 13:53:40 +0200, Patrick Herber <[EMAIL PROTECTED]> wrote:
> 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