cancel
Showing results for 
Search instead for 
Did you mean: 

Message Data Type mapping

Former Member
0 Kudos

Hello there,

My scenario is SOAP-XI-SOAP. After doing configuration, I was alble to send the message to server. However, I was not able retrieve data at return.

The following are two xml message that I got from server response and from XI.

1. From SERVER response message.

-


<ns1:doSpellingSuggestionResponse xmlns:ns1='urn:GoogleSearch' xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/' SOAP:actor='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><return xsi:type='xsd:string'>Yahoo!!!</return></ns1:doSpellingSuggestionResponse>

-


2. From XI

-


<ns:doSpellingSuggestionResponse xmlns:ns="http://xi.com/googlesearch"></ns:doSpellingSuggestionResponse>

-


I believe there is something wrong with my data type definition at XI design. I followed the example "How To… Use the XI 3.0 SOAP Adapter".

Would anyone please tell me how to define Data Type at XI for data response? Besides, does it have anything to do with Mapping Template.

Please advise.

Thank you very much.

trith.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hello there,

Thank you so much for your responses.

However, if I used default doSpellingSuggestionResponse from external definition file, I will get the following error:

-


Cannot produce target element /ns0:return. Check xml instance is valid for source xsd and target field mapping fullfills requirements of target xsd.

-


The original xml of message from external definition: <ns0:return xmlns:ns0="urn:GoogleSearch"/>

It is different than from response message from axis web server.

I had been suffered for this problem for many days.

Please help.

Thank you very much.

trith.

Former Member
0 Kudos

Hi,

The error states that the source xsd is not a valid one. It is not having the same structure or the same payload what the target is expecting. Please check this out.

---Satish

Former Member
0 Kudos

Satish,

I agree with you. I saw the difference between the response message at the Message Mapping and Message response :

At Message Mapping, the xml message is displayed as :

-


<ns0:return xmlns:ns0="urn:GoogleSearch"/>

-


At runtime, the message response is:

-


<ns1:doSpellingSuggestionResponse xmlns:ns1='urn:GoogleSearch' xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/' SOAP:actor='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><return xsi:type='xsd:string'>Yahoo!!!</return></ns1:doSpellingSuggestionResponse>

-


The wsdl external definition which I got from :

http://api.google.com/GoogleSearch.wsdl

If you said there is some problem with xsd, how I am supposed to fix that? Would you please give me more hints?

Thank you very much.

trith.

Former Member
0 Kudos

hey

>>If you said there is some problem with xsd, how I am supposed to fix that? Would you please give me more hints?

i think you should be able to test ur WSDLusing Altova XML spy.

jst download XML spy and try to open the WSDL in it,if it is wrong,it will give an error messge in the bottom

thanx

ahmad

Former Member
0 Kudos

Hi,

There is no problem with the wsdl itself. I ran a test calling directly to soap server without going through XI and it worked fine.

trith.

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

import your WSLD as external definition

in configuration check in Communication channel Best Efford option is selected

Rgds

RP

Former Member
0 Kudos

Hi,

Do you have the WSDL definition for the webservice you are trying to consume? It is probably available from the vendor's URL.

You can import the WSDL into External Definition, then use it in your interfaces and mappings. You should not define the interface to call the webservice yourself, because it is error-prone.

Regards,

Bill