cancel
Showing results for 
Search instead for 
Did you mean: 

multiref mapping issue using the SOAP Axis adapter

Former Member
0 Kudos

Hi Experts,

We had one issue with the multiref messgage mapping when we are receiving message from the SOAP axis adapter.The responce coming with the multiref tags and the responce present in the WSDL are diffrent.

We are getting the responce from the SOAP Aixs adapter in sxmb_moni as follows::

<?xml version="1.0" encoding="UTF-8" ?>

- <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

- <ns1:cedstr_obt_cle_elem_v2_HResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:CEDSTR">

- <tab_cle xsi:type="soapenc:Array" soapenc:arrayType="ns1:cedstr_cle_elem_v1[3]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<item href="#id0" />

<item href="#id1" />

<item href="#id2" />

</tab_cle>

<nb_cle xsi:type="xsd:int" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">3</nb_cle>

<stat_elem href="#id3" />

<cdr href="#id4" />

</ns1:cedstr_obt_cle_elem_v2_HResponse>

- <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:cedstr_cle_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="urn:CEDSTR" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<id_structure_det xsi:type="xsd:int">118406</id_structure_det>

<ordinal xsi:type="xsd:int">2648545</ordinal>

<appareil xsi:type="xsd:string">C3D1E</appareil>

<type_cable xsi:type="xsd:string">H</type_cable>

</multiRef>

- <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:cedstr_cle_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns3="urn:CEDSTR" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<id_structure_det xsi:type="xsd:int">984806</id_structure_det>

<ordinal xsi:type="xsd:int">2723425</ordinal>

<appareil xsi:type="xsd:string">O5C3X</appareil>

<type_cable xsi:type="xsd:string">H</type_cable>

</multiRef>

- <multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:cedstr_cle_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns4="urn:CEDSTR" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<id_structure_det xsi:type="xsd:int">1163686</id_structure_det>

<ordinal xsi:type="xsd:int">3144641</ordinal>

<appareil xsi:type="xsd:string">Y0A6B</appareil>

<type_cable xsi:type="xsd:string">H</type_cable>

</multiRef>

- <multiRef id="id3" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns5:cedstr_stat_elem_v1" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns5="urn:CEDSTR" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<tension xsi:type="xsd:string">MT</tension>

<nb_concess xsi:type="xsd:int">0</nb_concess>

<nb_restr xsi:type="xsd:int">0</nb_restr>

<localisation xsi:type="xsd:string">DEVILLERS EST DE BEAUREGARD</localisation>

<remarque xsi:type="xsd:string" />

</multiRef>

- <multiRef id="id4" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns6:utlgen_cdr" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns6="urn:CEDSTR" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<succes xsi:type="xsd:int">1</succes>

<code xsi:type="xsd:int">0</code>

<message xsi:type="xsd:string" />

</multiRef>

</soapenv:Body>

But the response message is structured in the SOAP WSDL as follows :

<?xml version="1.0" encoding="UTF-8"?>

<xsd:schema targetNamespace="urn:CEDSTR" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:CEDSTR">

<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>

<xsd:element name="cedstr_obt_cle_elem_v2_HResponse">

<xsd:complexType>

<xsd:sequence>

<xsd:element name="tab_cle" type="ArrayOfcedstr_cle_elem_v1"/>

<xsd:element name="nb_cle" type="xsd:int"/>

<xsd:element name="stat_elem" type="cedstr_stat_elem_v1"/>

<xsd:element name="cdr" type="utlgen_cdr"/>

</xsd:sequence>

</xsd:complexType>

</xsd:element>

<xsd:complexType name="cedstr_cle_elem_v1">

<xsd:sequence>

<xsd:element name="id_structure_det" type="xsd:int"/>

<xsd:element name="ordinal" type="xsd:int"/>

<xsd:element name="appareil" type="xsd:string" nillable="true"/>

<xsd:element name="type_cable" type="xsd:string" nillable="true"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="utlgen_cdr">

<xsd:sequence>

<xsd:element name="succes" type="xsd:int"/>

<xsd:element name="code" type="xsd:int"/>

<xsd:element name="message" type="xsd:string" nillable="true"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="cedstr_stat_elem_v1">

<xsd:sequence>

<xsd:element name="tension" type="xsd:string" nillable="true"/>

<xsd:element name="nb_concess" type="xsd:int"/>

<xsd:element name="nb_restr" type="xsd:int"/>

<xsd:element name="localisation" type="xsd:string" nillable="true"/>

<xsd:element name="remarque" type="xsd:string" nillable="true"/>

</xsd:sequence>

</xsd:complexType>

<xsd:complexType name="ArrayOfcedstr_cle_elem_v1">

<xsd:complexContent>

<xsd:restriction base="soapenc:Array">

<xsd:sequence>

<xsd:element name="item" type="cedstr_cle_elem_v1" minOccurs="0" maxOccurs="unbounded"/>

</xsd:sequence>

<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="impl:cedstr_cle_elem_v1[]"/>

</xsd:restriction>

</xsd:complexContent>

</xsd:complexType>

</xsd:schema>

Obviously, these two payloads has differents (xml) structure.

Will you suggest what we can do in this case...i tried to make an intermediate structure but not able to do it.

Regards,

Accepted Solutions (0)

Answers (1)

Answers (1)

stefan_grube
Active Contributor
0 Kudos

This is a similar thread:

Does this help?

Regards

Stefan

Former Member
0 Kudos

Hi Stefan,

No luck....

I have only one way to write Axis handler to solve this issue.But again my question is like "will the module java code/Axis handler will able to change this incoming strucutre in the desired one structure.

Appreciate if any other solution is there!!!

Regards.

Edited by: Nacer Bennacer on Feb 25, 2009 2:12 PM