on 01-23-2017 7:30 PM
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Raghuraman,
Thanks for the quick response. Sure I will check delay in messages triggering of the second message and go for synchronous if it is good or I will ask the to write the logic in ABAP to link two messages if he the dealy is time is not good.
I also have a small confusion, is there any possibility to use BPM in this requirement.
Thanks in advance.
Regards,
Ratna
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello,
your requirement is little confusing.
You wish to hold the response,?
for sync scenario response will instantaneous.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.