Skip to Content
avatar image
Former Member

Sync message split to (1) sync Soap and (2) async Idoc receiver error

Hi Team,

I am trying Sync message split to (1) sync Soap and (2) async Idoc receiver interface in PI 7.4 single stack.

ICO1 : Sync(SOAP) to sync(SOAP)

ICO2 : SOAP(Async) to Idoc (Async)

The response message would go to ICO1 and ICO2. I have built SOAP look up in response mapping of ICO1 to call SOAP RCV Lookup channel. Maintained second ICO sender channel URL in Lookup channel. (https://archive.sap.com/discussions/thread/3887013)

Initially the lookup channel was not called , It was working after making changes like binding lookup channel by using dummy ico and Do not include SOAP envelope .

I can see request entered into the SOAP lookup channel in CC monitoring "Request entering" and "Call Completed".

But the message was not entered into ICO2. The sender channel shows no logs.

UDF: with one input variable "SOAPxml" to pass payload (used Return xml in response mapping on root node)

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 "";

Please suggest.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

0 Answers