on 06-06-2017 1:29 PM
I have developed a synchronous interface - SOAP to SOAP , I am enhancing it to send resp to ECC also.
Can I achieve it through Request Response Bean , responseonewayBean modules . If so where I have to maintain the modules and the sequence.
Any suggestions...
Hi Vijay,
Did I understand correctly that you would like to send the response of your SOAP request to an additional system (ECC) in the form of an IDoc? If so, I think the following thread will help you:
https://archive.sap.com/discussions/thread/3887013
Regards,
Patrick
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Evgeniy,
Cannt we use the UDF in response mapping.Its not modifying any data in target system.Just getting response and passing to SOAP sender and ECC
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
ccerror.jpgI have used ReturnXML function on response rootnode. It is passing the entire response payload to UDF , used a single input variable "SOAPxml" in the UDF. When testing the mapping it is giving the below error...Is it UDF code error or Lookup channel error? PFA CC error screen shot.
Errorcom.sap.aii.mapping.lookup.LookupException: Exception during processing the payload. Error when calling an adapter by using the communication channel CC_RCV_SOAP_Lookup (Party: , Service: BS_LOOKUP, Object ID: 045fb02826ef322099d45868ae432fb9) XI AF API call failed. Module exception: 'SOAP adapter processing error'. Cause Exception: 'SOAP: Response message contains an errorXIServer/UNKNOWN/ADAPTER.JAVA_EXCEPTION - See log trace with id: n/a
UDF code:
AbstractTrace trace = container.getTrace();
try { Channel channel = LookupService.getChannel("BS_LOOKUP","CC_RCV_SOAP_Lookup");
SystemAccessor accessor = LookupService.getSystemAccessor(channel);
InputStream inputStream = new ByteArrayInputStream(SOAPxml.getBytes());
XmlPayload payload = LookupService.getXmlPayload(inputStream);
Payload SOAPOutPayload = null;
SOAPOutPayload = accessor.call(payload);
InputStream inp = SOAPOutPayload.getContent();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(inp);
}
catch (Exception e)
{
trace.addWarning("Error" + e);
}
return "";
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vijay!
Keep in mind that lookup should be used only for requesting data. If your lookup has any side effect like modifying any data in target system you should avoid using it and search for another implementation.
Regards, Evgeniy.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Vijay,
In the response mapping please include a RFC lookup to ECC.
That will solve the issue.
Regards
Anupam
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Patrick,
It was mentioned in the blog use SOAP lookup UDF in request mapping.I want to send response (which is coming from ICO1`s sync receiver) to original sync sender and ECC .
Can I use the same UDF in response mapping?i.e The lookup UDP will execute When response mapping and it calls the SOAP LOOKUP channel and pass response payload through UDF. Is it possible?.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
74 | |
9 | |
7 | |
7 | |
6 | |
6 | |
6 | |
6 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.