SAP PI 7.4 SOAP - ABAP Proxy Synchronous Webservice
Hi Everyone,
I am developing the following scenario:
3rd party makes a SOAP call to SAP (via PI) to determine whether a vendor exists or not in the SAP system. The link for the call is provided by us from the Integrated Configuration.
The request comes in, calls an ABAP Proxy to check if a vendor exists and sends a response back to the SOAP call with a 'Y' or an 'N'.
I've read a lot about various scenarios but I'm having trouble connecting the dots as I'm fairly new to PI. I'd appreciate any help.
I've made the following set-up based on assuming I need separate Service Interfaces for the SOAP Request & Proxy Response
ESR
1. Message Types
SOAP (MT_SOAP_REQ & MT_SOAP_RESP) - PROXY (MT_PRXY_REQ & MT_PRXY_REQ)
2. Message Mappings
MM_REQUEST which maps MT_SOAP_REQ to MT_PRXY_REQ)
MM_RESPONSE which maps MT_PRXY_RESP to MT_SOAP_RESP)
3. Service Interfaces (Synchronous)
(SOAP Request)
SI_IN (Inbound Interface) with Request = MT_SOAP_REQ and Response = MT_SOAP_RESP
(Proxy Response)
SI_OUT (Outbound Interface) with Request = MT_PRXY_REQ and Response = MT_PRXY_RESP
4. Operation Mapping
OM_LOOKUP which maps SI_IN to SI_OUT with Request (MT_SOAP_REQ to MT_PRXY_REQ)
and Response (MT_SOAP_RESP to MT_PRXY_RESP)
I create the ABAP Proxies for each Service Interface. SI_IN contains the required coded method to check if there is a vendor.
I create the webservice and binding for SI_IN in SOAMANAGER
At this point I'm somewhat unsure - what do I need to do for SI_OUT ? Do I need to create a logical port ? how is SI_OUT associated to SI_IN (apart from the Operation) to get the response.
ID
In the Integration Directory I've created a SOAP_SENDER communication channel for System A and SOAP_RECEIVER channel for SAP. For the SOAP Receiver I need to specify a URL - what should this be ? Is it meant to point to the web service for SI_IN in SICF or just to the generic http://host:8000/sap/xi/engine?type=entry
Do I need to use the HTTP_AAE adapter for the receiver instead of SOAP ?
I created an Integrated Configuration for the SI_IN Service Interface with comm channel SOAP_SENDER from System A and SOAP_RECEIVER for SAP backend. I then got the WSDL for this to provide to the 3rd Party to test (via SOAP UI) . Again my concern is how is the SI_IN linked to the SI_OUT to achieve the response ?
I appreciate you taking the time to go through this . Any help is greatly appreciated.
Thanks very much
Gary
I create the webservice and binding for SI_IN in SOAMANAGER
At this point I'm somewhat unsure - what do I need to do for SI_OUT ? Do I need to create a logical port ? how is SI_OUT associated to SI_IN (apart from the Operation) to get the response.
>>>>No need to do anything in SOAMANAGER
Do I need to use the HTTP_AAE adapter for the receiver instead of SOAP ?
>>> No. Soap adapter is fine. Configure your receiver channel as explianed in the below blog (section 4.3)
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70066f78-7794-2c10-2e8c-cb967cef407b?overridelayout=t…
Again my concern is how is the SI_IN linked to the SI_OUT to achieve the response ?
>>>>Your receiver determination and interface determination takes care of this.(receiver interface & outbound processing tabs in ICo)
Similar Messages
-
SOAP to Proxy synchronous scenario
Hi,
Hope you are all doing well.
I have a SOAP to Proxy synchronous scenario. As part of this scenario, the data structure of the response sent by SAP is different from the response sent back to the SOAP requester. Hence I have used request message mapping between the SOAP request sent by requester and the one passed on to SAP and response message mapping between the response sent by SAP and the one passed on to the requester. Both the message mappings are incorporated in a single Interface mapping.
The problem is that the interface is behaving like a asynchronous one, i.e., request is passing over to SAP but though the proxy is giving a response back, the same is not coming over to XI.
It would be really helpful if you can let me know what might have gone wrong.
regards
DebansuHi,
you should have that:
1. Two Message Mapping:
1.1. a Message Mapping for request (called MM_request) , from MT_SOAP_request to MT_Proxy_request.
1.2. a Message Mapping for response (called MM_response) , from MT_Proxy_response to MT_SOAP_response.
2. One Operation Mapping (in PI 7.1) or Interface Mapping (in PI 7.0) from SI_SOAP to SI_ Proxy with:
2.1 in the tab "request", so from MT_SOAP_request to MT_Proxy_request , give your Message Mapping "MM_request".
2.2 in tab "response" , so from MT_Proxy_response to MT_SOAP_response, give your Message Mapping "MM_response".
3. In you Directory, you define a flow like that:
from SI_SOAP to SI_ Proxy by using your Operation Mapping.
If I missed nothing, that's all.
MT = Message Type
MM = Message Mapping
SI =Service Interface in PI 7.1 or Message Interface in PI 7.0.
regards.
Mickael
Edited by: Mickael Huchet on Oct 19, 2011 4:07 PM -
CANNOT_READ_PALOAD error with SOAP to PROXY Synchronous interface
Hi,
Problem with SOAP to PROXY Synchronous interface.
In Production client, some times we are getting the below shown error in SXMB_MONI. There is no Inbound payload also.
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="MAPPING">CANNOT_READ_PAYLOAD</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack>Unable to read payload from the message object</SAP:Stack>
<SAP:Retry>N</SAP:Retry>
</SAP:Error>
Please suggest me to resolve this.
Thanks in advance,
Hari.Hi Hari,
In your case, check SAP Notes: 1082111 and 1060723.
Regards,
P.Rajesh -
SOAP - XI- PROXY synchronous scenario
Hi Experts,
I have a
SOAP -
XI -
PROXY Synchronous Scenario
I have done the following things ESR and ID
ESR:
1. Created DT and respective MT for Request and Response.
2. Created Service Interfaces with Synchronous mode with respective MT's.
3. Created Two separate MM with respective Request and Response MT's.
4. Created Operation Mapping and call both Request and Response Mappings in it.
Integration Directory (ID):
1. Configured considering Sender SOAP and Receiver ECC Services.
2. Configured CC with required parameters in Sender SOAP CC and Receiver XI CC.
3. Generate wsdl from Sender agreement and save it as a local file.
I am getting error in receiver agreement. Do I need to specify any Module parameters in Module TAB for Sender CC or Receiver CC to synchronous scenario.
Please hep me out.
ThanksHi Ram,
I am getting error in receiver agreement. Do I need to specify any Module parameters in Module TAB for Sender CC or Receiver CC to synchronous scenario.
It looks like you did not create a receiver agreement, or if you did, it did not match the interface that is given or configured in Interface Determination. Can you recheck your configuration?
Regards,
Mark -
Web Service u0096 ABAP proxy synchronous interface
hi experts,
can you suggest me how to do this scenario?
<i><b>Web Service ABAP proxy synchronous interface.</b></i>hi,
you can create a web service on XI
which will call ABAP proxy (on ERP, SRM etc)
in a synchronous way (you just need to generate the proxy class
in TCODE SPROXY)
then you can fill the method of your generated proxy class
and you will have WS - ABAP proxy interface
have a look at this to undrstand server proxy:
/people/siva.maranani/blog/2005/04/03/abap-server-proxies
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
Message flow in SAP PI 7.31 JAVA only for ABAP Proxy synchronous scenario with Oracle DB
Dear Experts,
I am working on a synchronous scenario Sender ABAP Proxy <===> SAP PI 7.31 JAVA only <===> Oracle Database.I have successfully
configured all the proxy configurations as well both Sender SOAP and JDBC receiver channels are showing no error when pinged from
Cc monitoring in NWA.
1.During testing at Tx SPROXY , I am triggering a message and after 5 minutes I receive an PARSING error message with 2 messages in ECC
local IE i.e. Tx SXMB_MONI.
Note : In NWA , I can see only 1 message that too in cancelled status.
2.Seeing the trace of the messages I assume that the messages have not moved from sender ECC system. I am still confused with flow of message
from the Message Audit log. Audit log of error messages.Could any one share the full Audit log of a successful message generated in SAP PI 7.31 JAVA only.
3.I observed that the QIN Scheduler status in ECC is in INACTIVE status. There is no queue id for 2 messages generated in ECC. Does
it should in ACTIVE status in Tx SMQR..
Regards
RebeccaHi Thomas,
Valuable inputs..
1. Since I don't have any audit log for successful message, would you be able to share referring to the
below screenshot whether the message was put into receiver JDBC adapter and JDBC adapter tried to retrieve the Select response from Oracle Database.
2.I have done some setting in Advance mode of the receiver JDBC to increase the time out and other parameters as per SAP note but still the issue is same. If you perhaps have some experience in such scenarios, please share some input so that I can ask the Oracle Database administrator exactly what is required from our side.
3.Regarding the slow response from Oracle , there was some suggestion that the datatype of the request and response should match the column name of the Oracle database. I did that.. Do you have any more suggestion that may be hampering the generation of the response message from the Oracle like SAP note or document.
Regards
Rebecca -
Soap to proxy - synchronous error
hi
i am working on soap to proxy scenario.
i am getting an error in message monitoring
Exception caught by adapter framework: com.sap.aii.af.sdk.xi.srt.BubbleException: System Error Received. HTTP Status Code = 200: However System Error received in payload ErrorCode = DYNAMIC_CALL_FAILURE ErrorCategory = XIProxy Parameter1 = Parameter2 = ZCL_SI_SALES_ORDER_CREATE1 Parameter3 = SI_SALES_ORDER_CREATE Parameter4 = Additional text = ErrorStack = Error during proxy processing
Message E TD 604 cannot be processed in plugin mode HTTP
[http://sap.com/xi/XI/Message/30^Error "DYNAMIC_CALL_FAILURE"]
what could be the issue in it ?Hi
It is data issue, you need to debug the proxy for more detail about this error. Take the payload and debug the proxy in SPROXY. Also check below sap note.
1876952 - XI runtime: Determining dump in receiver system
Regards,
Praveen. -
ABAP Proxy synchronous interface - access to payload
Hi,
I have a scenario from ABAP Proxy -> XI -> Web Service.
On occassion, there is an issue with calling the Web Service (unavailable for instance) and an exception is returned to the ABAP Proxy for a SystemError.
I am able to catch this exception in the proxy and output the error - for example HTTP.Exception.HTTP.Adapter.
However, I also want to use information in the response payload to output on the error as the payload contain infrmation on why the error was thrown in the target application - for example - Format of data xxx is incorrect.
I can get access to the request payload using interface/class IF_WSPROTOCOL_PAYLOAD=>GET_SENT_REQUEST_PAYLOAD but there does not seem to be an equivalent for GET_RECEIVED_RESPONSE_PAYLOAD !
Have anyone done this before - use payload information in an ABAP proxy from the response payload ?
Kind regards
Colin.Hi,
I will need the actual payload info not the status.
I will have to debug SXI_MONITOR in CRM to see how it is obtained.
Thanks
Colin -
Calling abap proxy synchronous ...
Hi everyone.
I have this scenario.
abap proxy (request) -
> XI (BPM) -
> abap proxy (response).
I'm able to send async the data using the proxy and i would like to send the response to other proxy.
The best scenario for me would be if the proxy in sync, the BPM do some checks and finally, sender proxy returns the values.
any idea of how to do this two scenarios?
Regards,
Inigo.Hi,
>>>abap proxy (request) -
> XI (BPM) -
> abap proxy (response).
are you sure that processing inside the BPM will take less then 30 sec?
if not why do you want a syn call ? do you use this sync proxy call
from an online report in r3 ?
if you don't need a sync report do it in an async way:
proxy - BPM - proxy (which writes the results to a table)
and then from your report you can read from that table...
one of the possibilities
Regards,
michal -
ABAP Proxy synchronous call to webservices
Hi,
I have the following synchronous scenario.
SAP R/3 outbound proxy <-> SAP XI <--> Webservices.
When I try to execute the proxy Execute synchronous,I am getting the following exception caught.
CX_AI_SYSTEM_FAULT.
What could be the possible reason for the exception to be thrown?
Thanks,
LeoHi,
This exception is thrown when there is an error in XI in a sync call.
What does your message display show in SXMB_MONI in XI ?
Kind regards
Colin. -
How to handle exceptions in sender ABAP Proxy
Hi Experts,
I have a synchronous scenario.
SAP R/3 System A -ABAP Proxy <-> PI <-----> SOAP< ---> Webservice
In system 'A', a function module calls the ABAP Proxy method.
My requirement is that if there is an exception in PI ( for example: timeout or ABAP engine error) then I want to get the exception details in the calling function module.
For example:
Exception in PI:
<SAP:Error xmlns:SAP="XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1/><SAP:P2/>
<SAP:P3/><SAP:P4/>
<SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection timed out: connect</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace=""/>
<SAP:Stack/>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
In the calling function module:
Try
Call to proxy-> method
Catch cx_ai_system_fault INTO v_o_fault.
v_err_msg1 = v_o_fault->GET_TEXT( ).
v_err_msg2 = v_o_fault->errortext.
v_err_msg3 = v_o_fault->code.
Endtry.
Here I get value "MESSAGE.GENERAL" for v_err_msg1 and v_err_msg3. v_err_msg2 is blank.
I want to capture the info available under <SAP:AdditionalText>. How to get that?
Please help!
Thanks & Regards
Gopal>
gopalkrishna baliga wrote:
> Hi Experts,
>
> I have a synchronous scenario.
>
> SAP R/3 System A -ABAP Proxy <-> PI <-----> SOAP< ---> Webservice
>
> In system 'A', a function module calls the ABAP Proxy method.
>
> My requirement is that if there is an exception in PI ( for example: timeout or ABAP engine error) then I want to get the exception details in the calling function module.
>
> For example:
>
> Exception in PI:
>
> <SAP:Error xmlns:SAP="XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
> <SAP:Category>XIAdapterFramework</SAP:Category>
> <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
> <SAP:P1/><SAP:P2/>
> <SAP:P3/><SAP:P4/>
> <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection timed out: connect</SAP:AdditionalText>
> <SAP:ApplicationFaultMessage namespace=""/>
> <SAP:Stack/>
> <SAP:Retry>M</SAP:Retry>
> </SAP:Error>
>
> In the calling function module:
> Try
> Call to proxy-> method
>
> Catch cx_ai_system_fault INTO v_o_fault.
> v_err_msg1 = v_o_fault->GET_TEXT( ).
> v_err_msg2 = v_o_fault->errortext.
> v_err_msg3 = v_o_fault->code.
> Endtry.
>
> Here I get value "MESSAGE.GENERAL" for v_err_msg1 and v_err_msg3. v_err_msg2 is blank.
>
> I want to capture the info available under <SAP:AdditionalText>. How to get that?
>
> Please help!
>
> Thanks & Regards
> Gopal
Hi Gopal,
Maybe the exception is CX_SY_APPLICATION_FAULT, or you can catch by BPM in PI and send back to proxy like a message response. -
Hi all,
I have an ABAP proxy - XI - Webservice scenario, in the XI side we are getting error saying input data not coming in. How to check weather proxy is triggering the actual payload or data?
There has been a change in the WSDL from the Webservices side, they have changed the data type, so we too updated the mapping in XI. So do we need to change anything in the ABAP program which triggers the proxy,
how do I check weather proxy is triggering data or not?
I want to see weather its problem with the ABAP trigger program.
Thanks,
SrinivasHi ramakrishna,
Does R/3 side SXMB_MONI give successful chequered flag when the message is processed?
Because for correctly processed message, the data is being updated in the table, but I can't see the chequered flag on the R/3 side.
But for the wrongly processed ones its showing PL_TIMEOUT error and showing red flag on R/3 side, this is what I see on the R/3 side:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Call Integration Server
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="INTERNAL">PL_TIMEOUT</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Pipeline timeout condition satisfied</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error> -
HTMLError in sxmb_moni, Idoc to ABAP Proxy Scenario
Hi Friends
I am trying to send data from R3 to SCMTM system(SAP System), via Idoc to ABAP Proxy Scenario ,I am getting the following under HTMLError in sxmb_moni
<?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>XIServer</SAP:Category>
<SAP:Code area="INTERNAL">CLIENT_RECEIVE_FAILED</SAP:Code>
<SAP:P1>400</SAP:P1>
<SAP:P2>ICM_HTTP_CONNECTION_FAILED</SAP:P2>
<SAP:P3>(See attachment HTMLError for details)</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:Stack>Error while receiving by HTTP (error code: 400, error text: ICM_HTTP_CONNECTION_FAILED) (See attachment HTMLError for details)</SAP:Stack>
<SAP:Retry>A</SAP:Retry>
</SAP:Error>
Any ideas will be helpful.Hi,
I faced similar problem. it was due to configuration problem in SXMB_ADM. corss check specific server confiration in SXMB_ADM.
/people/krishna.moorthyp/blog/2006/07/23/http-errors-in-xi
Regards,
Reyaz -
ABAP Proxy, WEB SERVICE and RFC
Hi
I have to pull the data from XI.
I have the PDFdocument of how to integrate XI with BI.
But i am not clear what is abap proxy and web service.
Could anyone let me know basic of what is abap proxy and webservice.
Is abap proxy and webservice are present in both the systems XI&BI ?
REgards
annieHi,
ABAP proxy is a connection between SAP XI & BI . For all the connections need to chk in SM59, and SICF .
proxies are a replacemet for adapters whereas webservices(WSDL) are replacements for data typesYou generate proxies from an interface description in WSDL (Web Service Description Language) by using ABAP proxy generation.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/46d6c25d-0b01-0010-06a9-8e8218753c02
The SOAP adapter enables you to exchange SOAP messages between remote clients or Web service servers and the Integration Server. Also you can use the axis framework with SOAP adapter. Check this help:
http://help.sap.com/saphelp_nw04/helpdata/en/45/a4f8bbdfdc0d36e10000000a114a6b/content.htm
We can Communicate between SAP System & Webservice Using Proxies. Check this weblog for some information on this:
/people/siva.maranani/blog/2005/05/23/communication-between-sap-system-webservice-using-proxies
ABAP Proxy -> XI -> Webservice :
pls chk this links;
/people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1
http://www.webservicex.net/WS/WSDetails.aspx?CATID=4&WSID=59
/people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3022- [original link is broken] [original link is broken] [original link is broken] Activate Proxy
/people/siva.maranani/blog/2005/04/03/abap-server-proxies -ABAP Server Proxy
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy - ABAP Client Proxy
/people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
Hope this helps,
Regards
CSM Reddy -
Hi experts,
I have a couple of integration scenarios as such
SAP -> XI -> SOAP
We have a couple of options for the link between SAP -> XI.
1. ABAP Proxy
2. IDoc
These are usually asynchronous updates to the external system, triggered from SAP.
Which method is better in terms of performance, and maintainability point of view.
Currently, I chose the IDOC approach because if we were to go with the ABAP Proxy approach, the SAP system requires an XI ADD-ON, which implies additional risk.
Any advise is greatly appreciated.
Thanks.
RonRon,
Take a look at this blog, it should answer your question of when to choose Idoc's and when to go for proxies,
<a href="/people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems">Choose the Right Adapter to integrate with SAP systems</a>
If your load is high, then SAP strictly recommends proxies. If load is not very high and you have standard Idoc's available for this, you might as well go for Idoc's.
Regards
Bhavesh
Maybe you are looking for
-
Suddenly iTunes didn´t function. Trying to reinstall Ifirst tried to delete the program and all iTunes files, but ITunes Helper could not be deleted. After installation (with anti virus disconnected) the following error messages come up: "MS Visual C
-
KT4 Ultra FISR Updated Bios Still Reboots
I bought a KT4 Ultra last week. I hooked up everything needed to install my OS (Video and Hard Drive) to install Windows 2000. It took me a while to get a good install because it would crash in the middle of Win2K setup. After reading the posts on
-
Hi, i have a strange problem with my cisco 837. I can telnet to it from my local lan no problems but when i try to telnet to it from work or any external ip it will not and eventually times out. I did have an access list applied to the vty lines but
-
Callable statement with oracle stored procedure error
i'm calling a stored procedure in java with the following code. However i constantly recieve this error so what is going on please HELP Parameter Type Conflict: sqlType=2006 my call statement would be this: call Statement = {call getUserByLogin(?,?,?
-
Upgraded to snow leopard wireless dropping
With the recent change in MobileMe Calendar, I upgraded my MBP to Snow Leopard. Ever since doing so, my wireless connection is constantly dropping where it appears that there is difficulty maintaining the DNS connection/info. I noticed some threads