Skip to Content
avatar image
-3
Former Member

Hi Experts,

I have a requirement usually some data is being sent from webservices to

sap through PI. The webservices is expecting response from the sap but should not wait for the response to process tne next message. but they want the response form the sap. Intially I thought that this could be acheived through Soap to Proxy synchronous method. But as they want the next message to process immediately with out waiting for the response I am bit confused how to achieve this.

I this can be achived with the different interfaces i.e one for the request and another for the response. Kindly suggest me the possible ways to achive this requirement.

Below are the request and response sample payloads.

Request Payload:

<PostingRequest>

<PostingSetTranID>ILC-9000-3333</PostingSetTranID>

<TransactionLeg>

<Account>367890099</Account>

<Amount>1000.00</Amount>

<Currency>USD</Currency>

<DebitCreditFlag>D</DebitCreditFlag>

<Narration>Contigent Liability</Narration>

<TraceID>edd-9999-rro</TraceID>

<ValueDate>30-09-17</ValueDate>

</TransactionLeg>

<TransactionLeg>

<Account>367890777</Account>

<Amount>1000.00</Amount>

<Currency>USD</Currency>

<DebitCreditFlag>C</DebitCreditFlag>

<Narration>Contigent Assets</Narration>

<TraceID>edd-9999-ffo</TraceID>

<ValueDate>30-09-17</ValueDate>

</TransactionLeg>

</PostingRequest>

Response Payload:

xmlns='urn:control.services.tiplus2.misys.com' xmlns:ns3='urn:common.service.ti.apps.tiplus2.misys.com'>

<ResponseHeader>

<Service>BackOffice</Service>

<Operation>Batch</Operation>

<Status>SUCCEEDED</Status>

<Details>

<Info>Posting: All Submitted Successfully</Info>

</Details>

<TargetSystem>ZONE1</TargetSystem>

<SourceSystem>FBNFINNACLE</SourceSystem>

</ResponseHeader>

<ns2:BatchResponse>

<ServiceResponse>

<ResponseHeader>

<Service>BackOffice</Service>

<Operation>Posting</Operation>

<Status>SUCCEEDED</Status>

<Details>

<Info>Posting Successful</Info>

</Details>

<CorrelationId>8971e225-8858-46f6-bb9c-868cfae3c016-- 4</CorrelationId>

<TargetSystem>ZONE1</TargetSystem>

<SourceSystem>FBNFINNACLE</SourceSystem>

</ResponseHeader>

</ServiceResponse>

<ServiceResponse>

<ResponseHeader>

<Service>BackOffice</Service>

<Operation>Posting</Operation>

<Status>SUCCEEDED</Status>

<Details>

<Info>Posting Successful</Info>

</Details>

<CorrelationId>8971e225-8858-46f6-bb9c-868cfae3c016--4</CorrelationId>

<TargetSystem>ZONE1</TargetSystem>

<SourceSystem>FBNFINNACLE</SourceSystem>

</ResponseHeader>

</ServiceResponse>

</ns2:BatchResponse>

</ServiceResponse>

Thanks in advance!

Ratna

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Jan 24, 2017 at 03:35 AM

    Hello,

    your requirement is little confusing.

    You wish to hold the response,?

    for sync scenario response will instantaneous.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jan 24, 2017 at 06:29 AM

    Hi Raghuram,

    Thanks for your response. I don't want to hold the response. My question is, can we achive this in asynchronous way i.e in two different interfaces one as request another interface as response.

    The customer does not the interface as synchronous since he don't want the next message flow till the response is back.

    If there is possibility to achive this asynchronous I will go ahead with asynchronous and will build two differnent interfaces.

    If this can be achived only through synchronous in this case I have convince the customer that this is the only way we can do, and will go ahead with single synchronous interface.

    Thanks in advance!

    Regards,

    Ratna

    Add comment
    10|10000 characters needed characters exceeded

  • Jan 24, 2017 at 06:55 AM

    Hello Ratna,

    you can do it as different interface also making a code logic in ABAP to link 2 messages and trigger the second proxy based on first message.

    But ask the customer like what will be delay in message triggering of the second message,If the delay is good then you can go ahead with the sync interface as you will get the response in the mean time.

    Add comment
    10|10000 characters needed characters exceeded

  • Jan 26, 2017 at 06:28 PM

    Hi Ratna!

    Maybe, I didn't get the point, but if sender system uses synchronous interface it HAVE TO wait for the answer.

    You can try to set QoS to Exactly Once in SOAP sender channel and use asynchronous ourbound interface. In this case your sender will receive empty SOAP response with HTTP 200, OK code.

    Regards, Evgeniy.

    Add comment
    10|10000 characters needed characters exceeded