Problem accessing value of response message of synchronous call in BPM
Hello,
I've a problem with a synchronous sending step (in BPM) and a following container operation.
In the message monitoring I can see the right response of the sending step. But the value of the container is empty.
If I navigate from the container of the sending step to the message, I can also see the right message.
But I can't access any elements in the message, they will be ignored.
Here is the response message:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Inbound Message
-->
- <ns0:Envelope xmlns:ns0="http://xmlns.bp.com/UEHReply" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
- <ns0:Header>
<ns0:Event businessDocRef="" component="VEST" domain="MyPoCVest" id="" objectPayloadRef="" timestamp="" />
</ns0:Header>
- <ns0:Body>
- <ns0:ObjectPayload id="" version="">
- <ns0:uehReply version="2.0">
- <ns0:component type="BUSINESS">
<ns0:name>VEST</ns0:name>
<ns0:application>Vest</ns0:application>
</ns0:component>
- <ns0:exception id="0" type="">
<ns0:triggerMsg format="" />
</ns0:exception>
<ns0:detail />
<ns0:resolutionOption>WAIT</ns0:resolutionOption>
<ns0:nextChoice>NONE</ns0:nextChoice>
</ns0:uehReply>
</ns0:ObjectPayload>
</ns0:Body>
</ns0:Envelope>
And the XPath statement, to get the value:
/p2:Envelope/p2:Body/p2:ObjectPayload/p2:uehReply/p2:resolutionOption
Someone an idea?
Cheers
Daniel
Hi ,
I am facing similar problem , in case you have a resolution about the FAX number , then please let me know .
Thanks,
Abhishek
([email protected])
Similar Messages
-
JDBC Synchronous call using BPM
Guys,
Scenario is like this.
1. Initiator is file adopter
2. JDBC select (Synchronous call) select data from 1 DB table
3. Copy response into some FTP system as a file.
File Initiator is working fine Synchronous call is giving the error.
I have created the Message Interfaces
1. Synchronous abstract (JDBC_select)
2. Asynchronous abstract (JDBC_Select)
I have done the 2 mappings like
1. File Initiator as source and JDBC_Select as target,
(I am passing all constants values to JDBC_select like action='SELECT' table='tablename' and keys as well)
JDBC_Select structure i have created as
<Root>
<selectStatement1>
<action>
<tablename>
<access>
<c1>
<c2>
<key>
<c1>
2. JDBC_response as source to Target_FILE as target.
Response structure is like this
<root>
<row>
<c1> </c1>
<c2>...</c2>
</row>
</root>
I have created the BPM by using
--> transformation and send steps.
Can any body send me the Blogs for this scenario .
Thanks
MMoorthy,
<u>Message Types</u>
1) File_Input
2) JDBC_Req
3) JDBC_ Response
4) Target_File
<u>Message Interfaces</u>
1) Async_Outbound,
- File_Input
2) Async_Inbound
- Target_File
3) Async_Absract
- File_Input
4) Sync_Abstract
- Target_File (Output Message)
- JDBC_Response (Input Message)
5) Sync_Inbound
- JDBC_Request (Input Message)
- JDBC_Response (Output Message)
<u>Message Mapping</u>
1)Mapping1
- File_Input as a Source
- JDBC_Reqest as Target(Here I am passing all constants values like action, tablename , accessfields and keyfields)
2)Mapping2
- JDBC_Response
- Target_file (Target file structure as same JDBC_Response structure)
<u>Interface Mapping</u>
Interface Mapping 1
- Sync_Abstract (source Interface)
- Sync_Inbound (Target Interface)
Here is my doubt I am not getting Mapping program in the dropdown (F4 help), it is problem with my source and target?.
What are the source and target for second interface mapping.
Thank you for helping me alot on this..
M -
Parallel synchronous calls from BPM
Hi,
how many parallel synchronous calls can XI perform at once?
Reason why I ask, for me it looks like parallel calls are handled sequentially in XI.
My scenario: I have a ccBPM that should ask three different synchronous WebServices to collect data. In the BPM I used the Branch element where one synch call is in every branch.
Unfortunately at runtime the monitoring says that the WebServices are asked consecutive and not parallel.
Even if I start a performance test an run 10 BPMs at the same time, all WebServices are asked consecutive.
So is there a unknown hidden parameter to force parallel sync calls or is XI not able to perform such calls?
Regards,
Robert
(tested on 7.0 and 7.1)Hi,
Maximum Number of receivers you couls send at a time are 999. So i think u can make 999 webservice parallel calls at a time.
Using BPM:
First have a receive step and then the receiver determination and the out put of this step would be a multi line element(containing all the receivers identified during the runtime).And then create a block step in par for each mode and in the properties give the multielement name created from the receiver determination step and then a send step in the block in synchronous mode.
In ID confgure all the receivers.
Thanks,
Vijaya.
Edited by: Vijaya Lakshmi Palla on Jun 2, 2008 6:29 AM -
JNDI Naming Problem accessing Session Bean from Message Driven Bean
Hi,
I am facing a very strange problem in JNDI look up accessing a Session Bean from a Message Driven Bean. I have a session fa�ade bean(Remote Bean) which is being called from Struts Action class getting the home reference from the ServiceLocator (I have implemented ServiceLocator pattern to obtain JNDI reference for all EJBs). When I am calling the session fa�ade EJB from the Struts Action class everything is working fine.
But when I am trying to call the same EJB from my Message Driven Bean, I am getting a JNDI exception (NameNotFoundException - No Object bound to name �java:comp/env/ejb/EJBJNDIName�). I am trying to get the remote reference from the same ServiceLocator which is successfully providing me a reference while calling from the struts action class. But the same ServiceLocator is not able to provide me a reference while calling from the Message Driven Bean. If I use the JNDI name directly like �EJBJNDIName� in the lookup it is working fine. The lookup for the name is working fine and I am able to call the Session Fa�ade bean with that reference.
I am really not sure what exactly the problem is. If I have any problem in the ServiceLocator, it should have given me the same error while calling from Struts Action class. But it is working fine with the full name �java:comp/env/ejb/EJBJNDIName� calling from the struts action class. I am not sure whether Message Driven Bean has something to do with it. Why I am not able to get a reference of the EJB with the full name? Please Help.
Thanks
AmitHi Bhagya,
Thanks for your response. I think from EJB container we can call Local EJBs with the full JNDI name. The session facade bean which is being called is a remote bean. From the session facade bean I am calling a local stateless session bean for database access. I am getting the reference of the local EJB from my session facade bean with full JNDI name "java:comp/env/ejb/EJBJNDIName". It is working fine with out any problem. My servicelocator is able to provide me the reference of the local EJB from the session facade remote bean with Full JNDI name. I am only having this problem calling from the MDB. I am really not sure whether what is causing it?
Thanks
Amit -
How to read fields from response message in send step in BPM
Hi ,
I have one BPM scenario where I am using synchronous send step to insert data into database and to get response back from database as success or failure .My scenario involves inserting data into multiple tables and in multiple rows . If all the inserts are successful then I want to write success message else I want the messaage as error . So can we read all the SQL response and store it in container varibale and the have soem decision logic ?Hi,
for everyinsertion, you will get a response
<INSERT_COUNT> </INSERT_COUNT>
http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
if the value ==1 , then insertions is sucessful, if value ==0, then insertion not succsful.
So, in your mapping, just check if any of the values is 0 and if yes, then decide if you have to write a sucess message or a failure message.
Regards,
Bhavesh
Regards,
bhavesh -
Synchronous call to webservice for retrieving values
Hi
I am making webservice synchronous call from bpm,I want to retrieve data doing lookup in webservice,
Can uplease tell me how we will achieve this.SOAP Lookup we can use?
Thanks
Best Regards,
Harleen Kaur ChadhaHi,
check this links
Webservice Calls From a User Defined Function.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8e7daa90-0201-0010-9499-cd347ffbbf72
regards
srinivas -
Anybody has successfully getting the RFC.exception in a synchronous call via BPM? What i mean, is to get the RFC.exception then use it inside BPM.
I have already searched the forum, and i think nobody have done it before. Any clue guys??? Thank you very much in advanced....Sorry, i still dont get it. Here i will illustrate my problem.
I got an abstract sync message interface (lets call it: MIAS_RFC) with structure like this:
1. Output Msg: From RFC
2. Response Msg: From RFC.response
3. Fault Message: From RFC.exception
I use MIAS_RFC in a SEND node in my BPM inside a block with exception handler branch for my RFC exception handling.
My purpose is to map the RFC.exception to other message interface abstract async inside the exception handler.
How can i do this? You said earlier that i should create another sync abstract message interface (MIAS) then use it in a mapping...Am i correct? Could you please describe to me more detail (sorry about this ) Thank you so much.... -
Synchronous message mapping - access to originating request message?
Say you have a synchronous message - like a SOAP web service request - and you map it to an RFC call, is there any way for the message mapping from the RFC response message to the SOAP response message to access fields from the original SOAP request message? Or even just a temporary storage area that I could store values from the originating request message?
Hi Jonathon!
First of all, why not access the original soap request message inside the RFC..you will be receiving this data in your RFC...is the RFC is standard, maybe you can make a wrapper with a Z RFC of your own to store the original data and use it later to build the RFC response.
Another idea: you could call a RFC via JCO inside a UDF in mapping.. this RFC could write some data in XI business system during the request mapping and another call to a "reading" RFC could read that data in the response mapping.
Other idea: use BPM, you can use containers to store the request SOAP message, call synchronously the RFC and then use a transform step (mapping) to use the original request SOAP message and the RFC response message to "merge"/build the response for the SOAP.
Regards,
Matias.
PD: please give points if useful. -
How to store the value of request message and use it in Response mapping
Hi All,
We have an requirement where we need to store the data coming in Request Mapping and use the stored value in Response Mapping. Can anybody help us in how to proceed?
Thanks
SujataHi!
In Mapping you may use the RFC Lookup function to store values in database table during request mapping and to read values from database table during response mapping.
You can also use an ABAP or Java Mapping "in front of your" message mapping to store/read the values.
You can also use an Adapter Module (if applicable for the adapter type you use) and/or a UDF to store the data e.g. in Dynmaic Configuration Header of Request Message and to read these data from Dynamic Configuration Header of Response Message. But this works only for synchronous scenarios (and it means overhead in your message traffic).
Hope these thinkings help you o find the most suitable way for your concrete scenario!
Regards,
Volker
Note:
These techniques help you to avoid using BPM.
Edited by: Volker Kolberg on Aug 27, 2009 11:18 AM -
JDBC- RFC- JDBC Synchronous scenario (Can't see the response message)
Hello Experts,
I tried this step in creating a synchronous scenario by using steps found in this site -> [http://wiki.sdn.sap.com/wiki/display/XI/File-RFC-File%28Without%20BPM%29|http://wiki.sdn.sap.com/wiki/display/XI/File-RFC-File%28Without%20BPM%29] I just changes File to JDBC. But problem is I see the sent XML message in SXMB_MONI but to response message. I also can't see the Sender interface name for the response message when I tried to use F4 in the Interface Name portion.
Do someone encountered this before? Please help
Regards,
AlfredHello,
I hope someone could guide me on how to set this up cause I only see the sent message but there's no response message in SXMB_MONI. Note that interface was successful, I just want to see what was sent by the response.
Regards,
Alfred -
Initiate Correlation on synchronous partner link response message
Hi,
I've been trying for a while to achieve correlation based on the response of a synchronous response in BPEL.
For example:
I have a process and at some point I invoke an external service. This service returns to BPEL process an id which must be used as a correlation id.
I have tried setting the pattern to "response" (or "in" in other JDev versions). When BPEL process runs and reaches the invoke point it will completely disregard the pattern that I have set and will try to initiate the correlation set's property using the request message and not the response.
I have used correlation with initialization in request messages with success.
However it seems to me that I'm missing something in this case. Documentation is quite clear that this should function without additional configuration.
Can someone help out in this?Sorry if I was not clear. My problem is with correlation based on client generated correlation id.
I have a process.
At some point I invoke an external systemB (invocationA).
System B will return an id (b_Id) synchrnously in the response of invocationA.
InvocationA closes but triggers processing in system B.
When processing is over at some time in the future, systemB needs to call back and give me the response.
To correlate this response, b_Id must be used.
So I have created a correlationSet in invocationA (initiate="yes", pattern="response") and a property (testprop). In testprop I have created two aliases. One on invocationA response and one on the message received in the receive activity. Receive activity (initiate="no")
When I run my example a correlation violation is thrown saying that bpel cannot find the property alias given in invocationA input message.
Which means that even if i have set the pattern to "response" the engine still looks in the request message of invocationA.
Of course I have tried all other patterns (to make sure that it is not my misunderstanding) on invocationA.
When I set pattern to request and change the alias to read the request message of invocationA everything works as expected.
Thanks in advance! -
NPS and Accounting-Response messages problem
Hi,
We have a number of Proxim AP8000 access points, doing wireless authentication using NPS. Now we are facing an interesting problem.
The access points are sending Accounting-Request messages using an arbitrary UDP source port, but they do expect receiving the Accounting-Response message on port 1813. NPS on the other hand is sending the response back on to the same port as the request
originated, which access point is not listening on at all.
I need to somehow instruct NPS to change its behavior and always send the radius accounting related messaged to port 1813. I wonder if such a thing is possible.Hi,
There may be some misunderstanding of RADIUS.
Remote Authentication Dial-In User Service (RADIUS) is an industry standard protocol described in RFC 2865, "Remote Authentication Dial-in User Service (RADIUS)," and RFC 2866, "RADIUS Accounting."
RADIUS messages are sent as User Datagram Protocol (UDP) messages. UDP port 1812 is used for RADIUS authentication messages and UDP port 1813 is used for RADIUS accounting messages. Some network access servers might use UDP port 1645 for
RADIUS authentication messages and UDP port 1646 for RADIUS accounting messages. By default, NPS supports receiving RADIUS messages
destined to both sets of UDP ports.
Exactly one RADIUS packet is encapsulated in the UDP Data field, where the
UDP Destination Port field indicates 1812 (decimal). When a reply is generated, the source and destination ports are
reversed.
Therefore, the source port of the request message is set by RADIUS client(your APs). Most RADIUS clients use a randomly selected source port number.
Besides, UDP is stateless. So there isn’t a “listening” state of it.
According to your description, your RADIUS works right in the way as it is designed.
For detailed information, please refer to the link below,
Remote Authentication Dial In User Service (RADIUS)(RFC2865)
http://tools.ietf.org/html/rfc2865
Remote Authentication Dial In User Service (RADIUS)(RFC2138)
http://tools.ietf.org/html/rfc2138
Hope this helps.
Steven Lee
TechNet Community Support -
Problem accessing iTunes. Getting error message "The iTunes Library Extras.itdb file is on a locked disk"
Close iTunes, delete iTunes Library Extras.itdb from your iTunes folder, start iTunes. iTunes should rebuild the file automatically.
tt2 -
Receiver HTTP Adaper Response Message problem
We are using HTTP adapter as the receiver for one of our vendor to post XML PO's to vendor's URL.
We are using Transport Protocol-HTTP 1.0
Message Protocol-XI Payload in HTTP Body
Adapter Engine-Integration Engine.
When PO is posted good on vendor's site we get "200" as the reponse message and when PO is failed in the vendor system due to mapping problems still we get "200" response message, Vendor's are sending "400" message for the failure to update their system but our server is not waiting to get "400" response messages. It picks the message of "200" when PO is posted on vendor's URL it is not waiting to get the next message.
Does anyone can help me to resolve this problem.
Thanks in advance!
Mrudula PatelHi Mrudula,
Can you eloborate bit more on this scenario,
1) 200 - for posting successfully in Vendor's site
2) 400 - if Business logic fails at Vendor's site
3) ?? - Sucessful transaction (Biz Logic).
If there is only one response, which gives either 2 or 3, then you can pick up the appropriate one & post the sender with the results. The HTTP adapter's call closes once it recieves ANY reponse from recieving site (Vendor).
hope this helps.
Regards
Vishnu -
Synchronous Receiver JDBC adapter--response message empty
My scenario is ABAP Proxt to JDBC synchronous case where I am calling a stored procedure "GetEmployer" to get the relevent data. There is no input data to the stored procedure, just need to call the stored procedure to return the records.
In the SXMB_MONI I am getting the response message as empty with no records.
In the communication channel monitoring it is showing successfully processed.
Request Message :
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_IRIS_SELECT_JDBC_REQ xmlns:ns0="XXXX"> <STATEMENT>
<GetEmployer ACTION="EXECUTE"></GetEmployerList> </STATEMENT> </ns0:MT_IRIS_SELECT_JDBC_REQ>
Response Message:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_IRIS_SEL_PRXY_RES xmlns:ns0="XXXX"> <STATEMENT_response></STATEMENT_response> </ns0:MT_IRIS_SEL_PRXY_RES>Hi All,
If I am trying to test the configuration in the ID I am getting the following error.
Runtime error Unable to read the payload from the message object
<Trace level="1" type="B">CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV</Trace>
<Trace level="2" type="T">......attachment XI_Context not found </Trace>
<Trace level="3" type="T">Mapping is already determined in the interface determination </Trace>
<Trace level="3" type="T">Object ID of Interface Mapping 35933EB051F13E60906107DF6862E093 </Trace>
<Trace level="3" type="T">Version ID of Interface Mapping 640C5B80B54311DCABA9F7BB0A126A22 </Trace>
<Trace level="1" type="T">Interface Mapping http://XXX/employer_list</Trace>
<Trace level="3" type="T">Mapping Steps 1 JAVA com/sap/xi/tf/_MM_EMPLOYERLST_ </Trace>
I am getting the success flag in SXMB_MONI but getting no records in the JDBC response message. It is not throwing any error and the interface is running successfully.
Could you please suggest some solution for this.
Thx in advance
Ravijeet Das
Maybe you are looking for
-
Report for Marketwise-Productwise Sales
Hi, Here is one of the requirements....sorry I tried to manage examples of report output but it is not showing properly in Preview... A report is to be written for a customer, showing the Marketwise Productwise Sales for each Salesman. The requiremen
-
FB01 - Really appreciate your suggestion
Hi Everybody, I have been trying out different ways of posting a FI document FB01 from non-sap system(SAP Dot NET connector). As per my understanding the following are the best ways. Direct Input (Old method and no control) BDC (More authorizations n
-
Error when longing to UCM 11g its going to another URL with JQUERY exception
when i longing to UCM 11g its going to following URL with JQUERY exception http://172.18.2.91:16200/cs/idcplg?IdcService=GET_DOC_PAGE&Action=GetTemplatePage&Page=JQUERY_COOKIE_JS OR http://172.18.2.91:16200/cs/idcplg?IdcService=GET_DOC_PAGE&Action=G
-
I cannot mark the replies as "Helpful" or "Correct"
Hi, I have a post at to run mutipal SQLs in one procedure / function but I cannot makr the replies as "Helpful" or "Correct". Please help. Thanks,
-
We already have AT&T wifi do we need another plan for an ipad?
We have AT&T data plan.. do we need to purchase a separate one of an Ipad.. the ipad will connect to our wireless right?