cancel
Showing results for 
Search instead for 
Did you mean: 

Receiving IDOC through SOAP

Former Member
0 Kudos

Hello everyone,

Being new to XI, i'm still trying to process this brave new world. I've read and developed some simple scenarios using webservices. The last one i did was in a company A that needed to send ORDERS05 Idocs to company B. The latest provided a wsdl file used to create an external definition of the order document being sent. mapping is direct between all fields.

Now, Company B needs me to setup things here, and receive the IDOC sent from company A (message monitoring states that all messages from there are sent with success, but still missing the part i just described).

What is the best way to achieve this? can anyone point me to a document i could read on the subject (IDOC->IDOC with SOAP).

Thank you in advance

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/sapR3 - Entire Steps for IDOC

you can't get the exact scenario required. but you find them in parts. Go through the above doc for the setup.

- using WSDL you can create the data types/message types needed for the idoc strcuture.

search for IDOC Sender and Receiver adapter and you will find lot..

Former Member
0 Kudos

Thank you for the tip, Anand. But i'll try and be more specific. Imagine that all process is allready up and running in company A.

When monitoring messages in company B, i can see the messages coming from company A, that include the payload with IDOC information.

the message received should be put where in the integration repository? and should it be of type ORDERS05 directly, or should i create a data type and message type? and in wich software component should i put it ? if i put it in COMPANYA, i would like to state that miOrder is of type ORDERS05, but the Idoc definition is only available in software component XI_COMPANYB, the one that imports definitions and RFC's from SAP R3.

Thank you

Answers (2)

Answers (2)

dharamveer_gaur2
Active Contributor
0 Kudos

Could you Write Your Problem in detail. So that we can provide helpful and specific ans.

Former Member
0 Kudos

I'll try and explain the best i can:

In company B, i have two SWC:

COMPANYA - Represents the company that sent the IDOC ORDERS05 via webservice.

PI_COMPANYB - Represents the company where i stand fisically, where the IDOC must arrive and be integrated into SAP R3.

Here in company B i have created:

- edORDERS05 - An external definition, on a namespace dependent of COMPANYA, importing a xsd file ORDERS05.

- miOrdersDocuments - A message interface, of type edORDERS05.

In Integration Directory i have:

- COMPA - Party representing Company A

- COMPAPI - Business Service of COMPA with channel SOAP_Receiver_OrderRequest.

- SOAP_Receiver_OrderRequest - channel of communication to receive the webservice arriving from Company A, with URL like this:

http://65.222.222.222:50000/XISOAPAdapter/MessageServlet?channel=COMPB:COMPBPI:SOAP_Sender_OrdersRequests&version=3.0&Sender.Party=http%3A%2F%2Fsap.com%2Fxi%2FXI%3AXIParty%3ACOMPB&Sender.Service=COMPBPI&Interface=http%3A%2F%2FcompanyA.com%2FOrdersRequests%5EmiSalesDocumentsReq

The URL was snipped from "Location" tag in wsdl webservice previously created in Company B, using the "Tools->Define Webservice" from Integration Repository.

Right now the idoc is being sent successfully from SAP R3 to XI Engine in Company A, and then sent to Company B where the message should be arriving (logs in proxy at the company say so), but when arriving at XI Engine of company B, nothing appears on sxmb_moni transaction.

Hope i explained everything as asked.

dharamveer_gaur2
Active Contributor
0 Kudos

Hi

IDOC Can not be used as cross SWC till PI7.0. But in PI7.1 we can use Imported IDOC of any SWC.

Former Member
0 Kudos

Hello Dharamveer,

Thank you for your answer. My version is in fact older. So, in that way, how can i state in SWC XI_COMPANYB that the message arriving from COMPANYA is in fact a xml containing a payload with idoc data?

Thank you.