cancel
Showing results for 
Search instead for 
Did you mean: 

Use external XSD in SOAP Adapter

Former Member
0 Kudos

Hi everybody,

I have uploaded an external XSD and want to use this in the mapping. My problem is that the receiver needs the following two informations in the root tag:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://message.de/Message.xsd"

How can the soap receiver adapter insert this values in the root tag?

Regards

Florian

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

2 options,

1.Make the change in the XSD to insert these namesapces or,

2. Use an XSLT or Java Mapping.

Regards

Bhavesh

Former Member
0 Kudos

What should I change in the XSD that it inserts the namespaces automatically?

bhavesh_kantilal
Active Contributor
0 Kudos

Florian,

Havent worked much on modifying XSD's but if you can give us the XSD will sure give it a try and let you know.

Regards

Bhavesh

Former Member
0 Kudos

Thank you for your informations. I updated the xsd and the xml file now contains the namespaces.

The problem is now that XI should now consume the web service provided by the IIS. Are there any specific parameters in SOAP receiver adapter I must activate?

bhavesh_kantilal
Active Contributor
0 Kudos

><i>The problem is now that XI should now consume the web service provided by the IIS. Are there any specific parameters in SOAP receiver adapter I must activate</i>

Can you explain further?

Regards

Bhavesh

Former Member
0 Kudos

I have following scenario:

SAP -> XI -> SOAP (IIS)

When I send messages from SAP I can see positive feedback in message monitoring. But the data is not in database of target application. Therefore I think the web service rejects messages send from XI.

I have written a small Java Client to test the web service and when I transmit data with this client the web service writes data into the database of the target application.

Motivated by this error I want to know what special cases I should consider when I consume a web service from IIS.

One question is what parameters in SOAP receiver adapter I should activate? And another question is, is such a string in target url right? http://host/Service/Service.asmx

bhavesh_kantilal
Active Contributor
0 Kudos

The target URL is correct. Looks correct.

To monitor SOAP messages check this blog by stefan grube,

/people/stefan.grube/blog/2007/03/29/troubleshooting-soap-http-and-mail-adapter-scenarios-with-tcpgateway

Check with the SOAP message you see in the TCFP Gateway as this is the messge that reaches the target Webservice. Ask the webservice team to check if the format and content is correct and they should be able to guide further,

Regards

Bhavesh

henrique_pinto
Active Contributor
0 Kudos

Check in Message Monitoring Details if the message which is actually sent to Web Service (post-mapping message) has the correct format (if it has the correct nodes, necessary namespaces etc).

Also, to test this payload, copy it inside <SOAP:Body> tag of a soap client tool (such as oXygen/ or XMLSpy) and see the response of WS (also, check if the server's database has inserted your inputs).

Regards,

Henrique.

Former Member
0 Kudos

Thanks to all. I have it. The SOAP server dropped the messages because the namespace was not delivered. So I enriched the xsl mapping and now the namespace is delivered and the server application stores data into the database.

To test this I generated a SOAP Request with XMLSpy and "played" with the generated message.

Regards

Florian

henrique_pinto
Active Contributor
0 Kudos

Cheers!

Henrique.

Answers (0)