1:N mapping idoc to soap
Hi,
We are planing to implement idoc to soap scenario , which is based on BOMMAT idoc filed value to two soap receiver.
if STLAN=1 send idoc data to soap 1 and if STLAN=3 then send idoc data to soap 2.
So i understant i have to use Correlation using BPM.
Please descibe the step to achive this.
Thanks
Laxmi Bhushan Jha
Hi Laxmi,
>>If Receiver Business Systems are same for both the SOAP 1 and SOAP 2, you need not set the condition in Receiver Determination.You have to give the condition in the Interface Determination instead.
For eg. Suppose you have Inbound Service Intefaces named SI_SOAP1 and SI_SOAP2 for SOAP1 and SOAP2 respectively.
Then in Interface Determination, set the condition as:
if STLAN=1 send idoc data to SI_SOAP1 else if STLAN=3 then send idoc data to SI_SOAP2.
If receiver Business Systems are different for SOAP1 and SOAP only then you will have to set the Condition in Receiver Determination.
Fo eg. Supppose You have: For SOAP1-Business System is B1, and for SOAP2--Business System is B2.
Then in receiver determination, set the condition as:
if STLAN=1 send idoc data to B1 else if STLAN=3 then send idoc data to B2.
>>You will be having 2 Operation mappings with two Inbound Service Interfaces.
>>Now you will have 2 Receiver Agreements for the 2 SOAP communication channels with respective Inbound Service Interfaces.
THANKS
BISWAJIT
Edited by: 007biswa on Feb 11, 2011 10:01 AM
Edited by: 007biswa on Feb 11, 2011 10:08 AM
Similar Messages
-
Idoc to soap sync without bpm. is it possible? Helping me..
Hi Experts,
i have a small clarification Idoc to soap sync interface in sap pi 7.0. i created IDoc to Soap sync using BPM but some times the signals are stuck due to load issue in swpr, while reprocess those signals all going successfully to the receiver. So We are trying to eliminate BPM.
I just wanted to know Idoc to Soap sync scenario without BPM is possible or not in SAP PI 7.0?
if it is possible kindly send me the links
Regards,
Kiran polaniHi Kiran,
Could you please let us know the exact requirement. How do you want to send the response back to IDOC?
ASync - Sync Bridge with IDOC sender is not possible in PI 7.0.
If It is something like IDOC --> SOAP --> IDOC , And If the SOAP request is small then you can use SOAP Lookup in IDOC to IDOC Scenario.
In The mapping You can do a lookup and get the response from SOAP(Webservice) and map that to your Target IDOC.
This is one possible way for you without BPM in PI7.0.
Please let me know if you need more details about this.
Thanks
Jyothi A -
Hi all,
I want to do the following scenario:
IDoc is sent to XI, Xi is doing a Soap call with information from the Idoc, from the soap call I receive a response code. This response code will be sent by mail TOGETHER with info from the Idoc.
I've made the scenario from Idoc to Soap call. I also know how to sent information out with the mail adapter.
Where the problem is for me, is the combination of this all together.
I guess I have to use BPM for this?
Can anyone point me into the right directions for this problem?
Thinks like wich message types, interface mappings etc?
Thnx in advance!I guess I have to use BPM for this?
Not necessary.
U may perform a Idoc - Xi - Mail scenario with Soap lookup in mapping
Webservice Calls From a User Defined Function.
Regards,
Prateek -
IDOC -XI-SOAP one sender different receivers based on condition
Hi All,
I have an IDOC to SOAP scenario.
For each record based on the input flag XI has to send the any one of the request ...like either create or update or delete request. All these message types are a part of single WSDL.
How can i do it?
Thanks in Advance
Jyothsnahi There are two ways you can do this:
1. Without BPM - Since you have to create all the target messages adn you want either the 1st and second, or the first and third: create two multi-mapping with one and two, and one and three. In the receiver determination check the condtion based on which you decide the second or the third message has to be created and route it to the correct mapping accordingly.
2. with BPM, create all the target mapping. In the BPM check the condtion in the switch and do a send accordingly.
You can do this either on Receievr Determination or on Interface Determination.
Add multiple Receievrs/ Interfaces and then add the conditons on which the target should be choosen
to use Xpath for your receiver det. ref these blogs;
a combination of logics should help you in this case ...
/people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
pls reward points if solution found helpfull
regards
chandra.k -
IDOC---XI----SOAP(Webservice) Sync
Experts,
Need to Develop IDOC-XI--SOAP(Webservice) Sync Communication Interface
I have importing the Standard Idoc & External Def for WSDL ,which has the Request & Response Structure.
I need to handle the SYNC message in the XI and ignore it/ do not pass to the source system.
Any Weblog will help ,
Thnaks
EdwardHi Edward,
Follow the steps given below
In IR create following objects:
1: Import Web Service definition file in External Definition.
2: Import IDoc ZDLVRY. (I have used custom IDoc)
3: Create Message Interface
a. Abstract Synchronous for sender
b. Abstract Synchronous for Receiver
c. Abstract Asynchronous for request
d. Abstract Asynchronous for response
4. Create Message Mapping for Source Request to Target Request
5. Create Message Mapping for Target Response to Source Response.
6. Create Interface mapping and specify proper input in request and response tab.
7. Create Integration Process
Configuration in ID:
1. Create Integration Process for BPM created in IR.
2. Create receiver determination
a. From SAP R/3 to Integration Process
b. From Integration Process to Third Party (Web Service)
c. From Integration Process to SAP R/3
3. Create Interface Determination
a. From SAP R/3 to Integration Process
b. From Integration Process to Third Party (Web Service)
c. From Integration Process to SAP R/3
4. Create Receiver Agreement
5. Create Communication channel for Soap Receiver and IDoc Receiver.
6. Create Receiver Agreement for Soap Receiver
7. Create Receiver Agreement for IDoc Receiver
if u have any doubt in any step please let me know
Regards,
Manisha -
IDoc to SOAP scenario is showing error
Dear Experts,
We were trying a scenario which is IDoc-XI 3.0->SOAP and where the WebService is situated outside our office network. Our network team have bypassed proxy for accessing that WebService URL and the same is accessible from our XI3.0 application server from browser. We have configured the scenario and when we have tested the scenario from RWB->Component M onitoring->Integration Engine->Test and this has worked fine. But when we have tested the scenario by triggering IDoc from the R/3 system, it is throwing the below mentioned error in both at the comm chanel and at the SXMB_MONI acknowledgement.
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 403 Service Error
points to be noted here:
1. Business Service has been configured correctly for triggering ALEAUD messages and ALEAUD messages are reaching R/3 successfully.
2. We have chosen option Keep Headers and Do not use SOAP header options.
3. We are passing some values to the SOAP Header from SOAP channel.
Please could somebody help us on the root cause of the error message.
We have run report IDX_NOALE for that particular IDoc so that it doesn't return any acknowledgement back to the R/3 system.
Thanks and regards,
Sugata
Edited by: Sugata Basu on Nov 19, 2011 12:40 PMDear,
IDoc to Soap scenario we have to import wsdl at receiver end and map the field from the mapping document but some times receiver end some changes may happen. if it is correct only your mapping we have to conclude from the below points.
1. Check the mapping in Message Mapping and Operation Mapping Test and conclude.
2. you should check url from receiver that is correct or wrong.
3. ask the wsdl from receiver end.
the given ED and receiver side application is same this type of error will not come.
Please check at receiver application or else what ever new fields are added in reciver may be miss mach of ED.
Regards,
Kiran Polani -
IDOC to SOAP scenario and transport process
Scenario:-IDOC to SOAP:
We got the WSDl file from Target system and our current scenario is working perfectly fine in Dev.
Requirement:
I have to send the same IDOC to two different SOAP target system with different SOAP URL WSDL structure is same only the URl differ.
Solutions which I thought of:
1) Separate Design for both the scenarios in IR and one CS with two SOAP channel, interface and receiver determination and agreement.
2) Use the same WSDL file structure for both the case. this will avoid the separate IR configuration. in this case there will be common MM,IM. In ID the configuration will remain the same as the case one.
In 2 case I would like to know whether I can use the WSDL file which has the details of first SOAP target for the second SOAP target. Will this WSDL file act simply as structure? Does the URL mentioned in the WSDL file will create any problem?
Transport process:
SOAP WSDL file has different URL for DEV,QA and PROD. when I transport the IR from Dev to QA the Dev WSDl file will be reflected in QA as external definition, I wanted to know what is the best method to do the transport in the above situation.
Solution which I thought of
1) Go to QA IR and import the QA WSDL file.
2) Go to Dev and import the WSDl file of QA and import it in QA which avoids manual import in QA, if I go by this way will this affect the testing of my interfaces in Dev system.
What is the best method we do the transport for the above scenario.
Need ur suggestions?
chirag
Edited by: Chirag Gohil on Oct 1, 2008 1:29 PMHi Chirag,
As far as i know there wil not be any target URL in the WSDL File which we bought from the webservice application.
Can u please paste the WSDL File which u have .....
If we come to Dynamic URL Config means, as per my concern
You have only 2 Target locations to receive the Idoc. so its better to go a head with ur existing approch itself.
Why becase for Dynamic URL Config.....
we have to maintain the target URL's in One Table and need to use RFC lookup to pick this URL Dynamically based on some value from the Input file.
And also we need to use Standard UDF code for Dynamic config in Mapping .
And need to check the option Use ASMA in the Receiver SOAP CC.
Regards
Seshagiri -
Idoc to soap scenario - soap response error
hi
i am using pi 731 single stack.
the scenario is idoc to soap. the message mapping is working fine and output is generated successfully.
the message is failing in mesage monitor and communication channel monitor. error is -
Exception caught by adapter framework: SOAP: Response message contains an errorXIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: VEN-OMI-1007:
This scenario is async scenario. How to soap remove this response message error.
rgdsDear,
IDoc to Soap scenario we have to import wsdl at receiver end and map the field from the mapping document but some times receiver end some changes may happen. if it is correct only your mapping we have to conclude from the below points.
1. Check the mapping in Message Mapping and Operation Mapping Test and conclude.
2. you should check url from receiver that is correct or wrong.
3. ask the wsdl from receiver end.
the given ED and receiver side application is same this type of error will not come.
Please check at receiver application or else what ever new fields are added in reciver may be miss mach of ED.
Regards,
Kiran Polani -
Question: User defined acknowledgement (IDOC to SOAP)
Hello friends,
A very happy new year to all of you!
The flow im working on is like this -
R/3 -> Idoc -> XI -> SOAP adapter -> webservices
I have a requirement of sending an acknowledgement back from XI. But the problem is the acknowledgement has to be of a structure that is specified by the client. I will have to send this acknowledgement through RFC to R/3 where they will update.
q1. Can i access the information about the idoc, like if it has failed in sender channel,or IR or at the mapping etc. They want these info codified into something like 101,102 103 etc with each having specific meanings in terms of Idoc status.
q2. Are these information stored somewhere so that i can access them and map it to the acknowledgement structure?
q3. what are the steps for achieving this?
Looking forward to your help .... Thanks in advance!
Regards,
LakshmiHi,
As suggested by Swarup, "you can go for Fault message type and have the customized structure to give the details."
In addition, I would suggest to use FixedValue Table in mapping to maintain your entries (101,102, etc) and their respective meanings or you can use Value Mapping (maintain your entries in Integration Directory. For more info search SDN).
Regards,
Sarvesh -
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 advanceI'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. -
SOAP Receiver/Sender in IDOC- XI- SOAP receivers?
hi,
i have idoc-> xi-> soap receiver.
1. How can i get a response back from soap receiver?
2. in the above scenario is SOAP the receiver or agian the sender?
3. not sure how i can get a response back from the soap receiver?
any tips would be helpful.
thanks,
tirumalHi,
It should be
<i>
Under Target URL, enter the complete address (URL) of the Web service provider that you want to send the message to.</i>
http://help.sap.com/saphelp_nw04/helpdata/en/29/5bd93f130f9215e10000000a155106/content.htm
What are you specifying?
Can you give the entry in Target URL...
Regards
Suraj
Message was edited by: S.R.Suraj -
How to XI error message will mapped to the SOAP faul message-SOAP(Axis)
Hi,
Receiver end I am using SOAP (Axis) adapter and I am getting the system error and I am not getting the payload in SXMB_MONI.
What ever the error message how do MAP as a SOAP Fault message in SXMB_MONI.
I found the Solution from OSS note 1039369 but did not explain where to set what parameter and what modules...
SOAP Fault code
If parameter Category is XIAdaptger, Area SOAP, Code FAULT
In this case, parameters P1 and P2 may be set to the fault namespace and fault name. If these parameters are set, the SOAP fault code is set to namespace P1 and name P2. Otherwise, it is set as in other cases.
For all other cases
In this case, the SOAP fault code is set to namespace "http://sap.com/xi/XI/Message/30" and name category.area.code, where category, area, code represent the XI error category, area, and code values, respectively.
SOAP detail
If parameter ApplicationFault is set
The SOAP detail child is set to the XI application payload. If, however, the payload extraction mode is set to Envelope, the application payload is taken as the SOAP envelope and the SOAP detail content is set to its body content. Similarly, if the extraction mode is set to Body, the application payload is taken as the SOAP body and the SOAP detail content is set to its content.
Otherwise
No SOAP detail content is set in this case.
Examples
XI error element
<sap:Error ...>
<sap:Category>XIAdapterFramework</sap:Category>
<sap:Code area="MESSAGE">GENERAL</sap:Code>
<sap:AdditionalText>Failed to determine a receiver agreement for the given message.</sap:AdditionalText>
</sap:Error>
SOAP fault element
<soapenv:Fault>
<faultcode xmlns:ns1="http://sap.com/xi/XI/Message/30">ns1:XIAdapterFramework.MESSAGE.GENERAL</faultcode>
<faultstring>Failed to determine a receiver agreement for the given message.</faultstring>
<detail/>
</soapenv:Fault>
Help appriciated
Regards,
Venu.
Edited by: Venugopalarao Immadisetty on Sep 24, 2009 3:39 PMUsing Receiver SOAP Axis adapter and I am getting the below exception
XI error element
<sap:Error ...>
<sap:Category>XIAdapterFramework</sap:Category>
<sap:Code area="MESSAGE">GENERAL</sap:Code>
<sap:AdditionalText>Failed to determine a receiver agreement for the given message.</sap:AdditionalText>
</sap:Error>
and above exception how do I convert as a SOAP Fault message..
SOAP fault element
<soapenv:Fault>
<faultcode xmlns:ns1="http://sap.com/xi/XI/Message/30">ns1:XIAdapterFramework.MESSAGE.GENERAL</faultcode>
<faultstring>Failed to determine a receiver agreement for the given message.</faultstring>
<detail/>
</soapenv:Fault>
Any idea what modules need to add in Receiver SOAP Axis adapter. -
I am doing IDOC to SOAP(3rd party) scenario and I get this error
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_INV_SND_SERV</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Unable to convert sender service to an ALE logical system</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
I have searched the forums and there is lot of info on this,
According to this blog
/people/michal.krawczyk2/blog/2005/03/29/xi-error--unable-to-convert-the-sender-service-to-an-ale-logical-system
He says Click on the Business System and see the adapter specific Identifiers,So do I have to click on my 3rd pary Business System here? since for IDOC sender there will be no BS.Am I correct.
ThanksHi Guest
first login to SDN with good name
This problem occurs due to INVALID SENDER SERVICE
kindly check in your configuration whether you have given a valid name to your sender service and also check the conditions in RCVR deetermination
if not modify that and activate again .Make a CACHE refresh
hope this will work for you
Regards
sandeep
PS if helpful kindly reward good points -
IDOC to SOAP asynchronous scenario Error handling
Need an expert!!!!!!!!! advise on error handling for IDOC--PI--
SOAP scenario.This is a asynchronous scenario where PI is calling a Legacy system using SOAP adapter.My question is how i can do error handling in this scenario.If i get an alert in pi with payload variable that would be fine, do i need to use BPM and if that is tthe case what will be steps.
Appreciate your help.
ManishHello Manish,
My question is how i can do error handling in this scenario.
Use the standard alert framework. Search on SDN / SAP Help for details.
do i need to use BPM and if that is tthe case what will be steps.
BPM is not required to raise alerts, as this is an async call.
Regards,
Neetesh -
Dear All,
My scenario is IDOC to SOAP(Asynchronous) .
In MONI ,I am able to see the succesful message but in receiver communication channel, I am getting the following below error,
SOAP:call failed:java.net.ConnectException:Connectiontimedout:
Please suggest me on this.
Regards,
Lavanya B.Hi Lavanya,
Its very hard to tell exactly where it is going wrong. Some issues are already mentioned by prateek. Apart from it you can take the receiver payload and see whether it is the same as expected by the webservice or not. If possible try to load this payload manually so that if any issues are there you may come to know.
Regards,
---Satish
Maybe you are looking for
-
How Can i open Html file in a Browser from Jar file
Hi i am having Html help files inside my Jar file ... if i use getclass().getRource("\lib\start.html"); it is not opening ... so i have to ship seperate folders for html files along with jar files.... can anyone give the solution to have(open) html f
-
iphoto- I accidently created a smart album which is capturing all current new photos. I put them in their own album but I can't delete them in the smart album. Can I delete the smart album without losing the photos in the other albums? larrybksfld
-
I moved and now cannot get my airpot express to respond
I have been unable to have my MacBook Air find my Airpot Express since I moved. What's up with that?
-
Use of Widening Cast in Inheritence
Hello All, Request you to help me in understanding the use of widening cast in Inheritence. As of my understanding, before widening cast we need to copy the a subclass reference z_sub1 to a superclass reference z_super1 (to ensure that contents of su
-
FRM-13008 when adding JavaBeans to Forms
I'm keep getting a FRM-13008 "Cannot find JavaBean with name ..." when I try to set the Implementation Class for a new BeanArea in a form. Even with the demo classes I'm getting the same error. I'm using the fully qualified class names, such as oracl