on 2004 Oct 20 11:46 AM
Hi
Following Problem
Scenario
Step 1
Sending a SOAP Request to a Webservice.
( PTV GEO Coder )Message Interface Outbound / Synchronous
<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'><SOAP:Header/><SOAP:Body><nr1:Request xmlns:nr1='http://www.w3.org/2001/XMLSchema-instance' Type='eLocate.Locate' Version='1' User='Example' Pwd='Pwd'>
<GeocodeParameters MaxResults='1' UniquenessFilter='false' SortFieldCount='2'>
<SortField Name='Weight' Order='Descending'/>
<SortField Name='PostCode'Order='Ascending'/>
</GeocodeParameters><Address Country='D' PostCode='10245' City='Berlin' CityDistrict='Friedrichshain' Street='Dirschauer' HouseNumber='17'/>
</nr1:Request>
</SOAP:Body>
</SOAP:Envelope>
2. PTV Geo
Getting a Response from PTV
Message Interface Inbound / Synchronous
Response string: <?xml version="1.0" encoding="UTF-8"?><SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"><SOAP:Body><Response xmlns="http://xml.ptv.de/eServer/eLocateServer/xml/eLocateServer.Locate.v2.wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xml.ptv.de/eServer/eLocateServer/xml/eLocateServer.Locate.Response.v1.xsd" Type="eLocate.Locate" Version="1" Status="0"><InputAddress InputAddress="D10245BerlinFriedrichshainDirschauer~17"/><Addresses AddressCount="2" ResultListExceeded="0"><Address Country="D" PostCode="10245" City="Berlin" CityDistrict="Friedrichshain" Street="Dirschauer Str." HouseNumber="17" X="1496389" Y="6884982" CityID="11000000" Weight="100" Classification="" DetailLevel="7" DetailInformation="0" Unique="false" Levelling="15" Population="8" Area="0" MainEntry="false" UserFieldCount="0" ResultJunctionNode="0" AmbiguitiesResolved="0" SegmentID="53504555"/><Address Country="D" PostCode="10245" City="Berlin" CityDistrict="Friedrichshain" Street="" HouseNumber="" X="1496260" Y="6885766" CityID="11000000" Weight="68" Classification="" DetailLevel="4" DetailInformation="8" Unique="false" Levelling="15" Population="8" Area="0" MainEntry="false" UserFieldCount="0" ResultJunctionNode="0" AmbiguitiesResolved="0" SegmentID="-1"/></Addresses></Response></SOAP:Body></SOAP:Envelope>
3. Problem
Inbound Interface
In the moment when the Soap Response is convert to the input Data Type Response not all data are past.
Type="eLocate.Locate" Version="1" Status="0" are OK
but the rest is not in the there ?
The Problem is coming form the Namespace ="http://xml.ptv.de/eServer/eLocateServer/xml/eLocateServer.Locate.v2.wsdl"
Testing the Response Message without this Name space all is fine.
So the question is what to due ??
The information from the PTV server (SOAP Response)can not be changed ?
I need some help
Thank a lot Olaf
Message was edited by: Olaf Lehmann
Hi Olaf,
how do you call that web service? Did you create a proxy or RFC to call the XI? How did you create the data type? Did you upload the WSDL or create the data type by your own?
The easiest way to get rid of this namespace is, to create a mapping between the SOAP response and the response of your message type in repository. You just upload an example XML file to the graphical mapping tool, or you upload the WSDL to an external definition object and use that for mapping.
If you create the outbound interface (for proxy) directly from the WSDL definition, everything should work fine.
regards
Stefan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Stefan
first of all thank you for you fast reply
1. SOAP Internal SOAP Adt.
2. Proxy
3. by your own
So you say to convert the respons string to a XML file
Create a Message Mapping ?
Upload this file xlm response file . ( SOAP RESPONSE PTV )
Upload the Response Data message type
make the mapping.
Is this the Way ?
Thanks
yes, this could be a way.
If you upload the WSDL as external definition, relate your interface to this and create a proxy for it, the namespaces are be correct and you need no mapping here.
In your scenario the proxy interface is slightly different to the SOAP interface, so you need a mapping.
Regards
Stefan
Hi Olaf,
you create in interface mapping and include the message mapping there.
The sending interface is your proxy interface. The receiver interface is that one, you create in the receiver agreement of the SOAP adapter.
When you did not create an interface in the IR for that purpose, just type any virtual name and namespace for it, but make sure, that the interface mapping in IR and the interface determination in ID correspond.
Regards
Stefan
Sorry Step 2 is like
Response string:
<?xml version="1.0" encoding="UTF-8"?><SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"><SOAP:Body>
<Response xmlns="http://xml.ptv.de/eServer/eLocateServer/xml/eLocateServer.Locate.v2.wsdl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://xml.ptv.de/eServer/eLocateServer/xml/eLocateServer.Locate.Response.v1.xsd" Type="eLocate.Locate" Version="1" Status="0"><InputAddress InputAddress="D10245BerlinFriedrichshainDirschauer~17"/><Addresses AddressCount="2" ResultListExceeded="0"><Address Country="D" PostCode="10245" City="Berlin" CityDistrict="Friedrichshain" Street="Dirschauer Str." HouseNumber="17" X="1496389" Y="6884982" CityID="11000000" Weight="100" Classification="" DetailLevel="7" DetailInformation="0" Unique="false" Levelling="15" Population="8" Area="0" MainEntry="false" UserFieldCount="0" ResultJunctionNode="0" AmbiguitiesResolved="0" SegmentID="53504555"/><Address Country="D" PostCode="10245" City="Berlin" CityDistrict="Friedrichshain" Street="" HouseNumber="" X="1496260" Y="6885766" CityID="11000000" Weight="68" Classification="" DetailLevel="4" DetailInformation="8" Unique="false" Levelling="15" Population="8" Area="0" MainEntry="false" UserFieldCount="0" ResultJunctionNode="0" AmbiguitiesResolved="0" SegmentID="-1"/></Addresses>
</Response>
</SOAP:Body>
</SOAP:Envelope>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
70 | |
10 | |
10 | |
7 | |
6 | |
6 | |
6 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.