cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP to IDOC scenario

Former Member
0 Kudos

Hello All,

I have a scenario where the sender system is outside our landscape and I need to post the PO data to SAP system using XI. I know its a SOAP to IDOC scenario but I am not given a wsdl but am given only a xsd and one XML as input. Can I use this XSD to create a sender message interface or is there any way I can convert the XSD to WSDL? Also, where should I give the path of the XML file in sender SOAP adapter?

And also I have to create a value mapping table where I have almost 4000 entries. Can any one let me know on how to create this?

I have browsed thru the SDN but havent found any information that I am looking for. Can anyone please help me on this.

I will be greatful if anyone can help me with Step by Step to SOAP to IDOC scenario.

Thanks and regards,

Neelima

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

Take the xsd and import it under external definitions.

You will create a Web Service if required in the ID (Tools -> Define Web Service)

The input xml which has been given to you will be used to do the testing using Altova XML Spy.

You need not give the path of this xsd anywhere.

For creating the soap Sender CC, you just need to define name space and the name of a message interface (values can be taken from Integration Repository).

Thanks

Former Member
0 Kudos

I think what is this person asked to do is build an integration scenario using two business system

1. A business system understand web service technologies and also have a data definition they would like to use to communicate data with their business partner.

2. A business system which like to accept DATA in the format of IDOC.

So As long as we use XI as an integration framework, this is called SOAP to IDOC scenario.

I recomend to use the following steps to implement the integration need.

1. Understand the XSD data structure from the external service provider.

2. Using the external data definition create and outbound interface either SYNC or ASYNC format ( You have to discuss this with service provider for confirmation) in XI.

3. External service provider can use this outbound interface definition and associated data structure to send their data in their provided XML format to XI integration server.

4. Create an inbound service definition by using the XSD structure created for the IDOC you like to use.

5. XI integration server can use the inbound interface definition to pass the outbound interface message received once the outbound and inbound interface are connected using a configured scenario.

6. Using the outbound message type and inbound message type create a message mapping.

7. Using the message mapping create an interface mapping between outbound and inbound interface.

8. Create a WSDL from the outbound interface so that the service provider can use the service contract defined by the outbound interface in a web service enabled business system (Note: you have provided the data requirement in XSD format indicate that your business system is web service enabled). Make sure you are not getting fooled by the concept propose URL for the WSDL. You must provide the URL end point in created WSDL according to the following format.

http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?

channel=<party>:<service>:<channel>

If the SOAP adapter channel belongs to a service without party, the address is as

follows:

http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?

channel=:<service>:<channel>

9. Provide the WSDL to the service provider, ask them to use that WSDL to send data to your integration framework.

10. Configure the SOAP adaptor in sender mode, so that it can act as a end point to receive the XML data based on the XSD defined in the WSDL and convert the same to an XI document.

11. When u define the sender soap adaptor make sure you have selected the namespace and interface name same as the one you created for outbound interface.

Also recomend to read two How to guide related to web service and soap adaptor to complete your scenario.

Thanks

Answers (6)

Answers (6)

Former Member
0 Kudos

Hello All,

Thank you all for responding to my question and also for giving valuable answers and suggestions. I was able to address the issue.

Thanks again.

Regards,

Neelima

CSC

Former Member
0 Kudos

Hi neelima,

yes ur scenario is SOAP to IDoc.So for sending the PO data u need WSDL.

u can create the WSDL.

Do the following steps

1. import XSD

2. Create Message Interface by using the External definition object.

Now after doing all the step of IR and ID.

Go to ID->Tool->cretae Webservice.

remeber the URL format that is needed during the creation of webservice is of the form..

http://url:port/XISOAPAdapter/MessageServlet?channel=:service:channel

After creating the WSDL u can send the PO details to Xi using XML spy/SOAPUI....

check the pdf...here u can get one scenario ...

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/903a0abc-e56e-2910-51a8-9dc616df...

And for value mapping....check below blogs

/people/sukumar.natarajan/blog/2006/10/23/accessing-value-mapping-defined-in-directory-using-java-functions

/people/community.user/blog/2007/01/08/valuemapping-using-the-graphical-mapping-tool

Value mapping Replication:

/people/sreekanth.babu2/blog/2005/02/23/value-mapping-replication

Regards

BILL

prateek
Active Contributor
0 Kudos

<i>I know its a SOAP to IDOC scenario but I am not given a wsdl but am given only a xsd and one XML as input.</i>

U dont need a wsdl from the client in SOAP to IDOC scenario. U have to create wsdl in XI. Create webservice in XI in Integration Directory. There a wsdl is created and sent to the SOAP sender.

<i>Can I use this XSD to create a sender message interface or is there any way I can convert the XSD to WSDL?</i>

U can create ur sender side structure using the xsd u have. As I said no need to convert this xsd into wsdl.

<i>

Also, where should I give the path of the XML file in sender SOAP adapter?</i>

if u r talkin about sending the data, then u need a SOAP clinet tool. U may use Altove or search for it in SDN.

Regards,

Prateek

former_member214364
Active Contributor
0 Kudos

Hi Neelima,

> Can I use this XSD to create a sender message interface or is there any way I >can convert the XSD to WSDL?

You can use given XSD to create Message Type, from this message type create Message Interface.you dont have to convert XSD in to WSDL.

Do the following steps

1. import XSD as <b>External Definitions</b> under <b>Interface objects</b> Node.This external definitions acts as <b>Message Type</b>

2. Create <b>Message Interface</b> by using this <b>Message Type(External definition)</b>

Please let me know if you want more details regarding this process.

Cheers,

Jag

agasthuri_doss
Active Contributor
0 Kudos

Hi,

>>And also I have to create a value mapping table where I have almost 4000 entries.

4000 entries is more...for value mapping...Is the Data stored in any other database if so why cant you go for look up.

Value Mapping

1. Start the value mapping maintenance (Tools --> Value Mapping)

2. Select Value Mapping Agencies and enter your agencies

3. Maintain your mapping without the duplicates.

4. Start the value mapping maintenance again, but this time with the option Value Mapping Group Selected By. You can either use Group Name (if you have maintained groups) or Representation for those values where you need to maintain duplicates.

Regards

Agasthuri Doss

agasthuri_doss
Active Contributor
0 Kudos

Hi,

This might help you

/people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873...

Regards

Agasthuri Doss