Skip to Content
-3

Hi Experts,

Jan 23, 2017 at 07:30 PM

73

avatar image
Former Member

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

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

4 Answers

Raghuraman S Jan 24, 2017 at 03:35 AM
0

Hello,

your requirement is little confusing.

You wish to hold the response,?

for sync scenario response will instantaneous.

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Jan 24, 2017 at 06:29 AM
0

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

Share
10 |10000 characters needed characters left characters exceeded
Raghuraman S Jan 24, 2017 at 06:55 AM
0

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.

Show 4 Share
10 |10000 characters needed characters left characters exceeded
Former Member

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

0

Hello Ratna,

Just get the information from customer like why they want the delay and is there any data or link between the first response and second request.

0
Former Member
Raghuraman S

Hi Raghuraman,

Good day!

I checked with the customer they don't have any link between the first response and the second request.

It is just the request sent and response will be back with the status and this response is not going to use for the another request.

Thanks and Regards,

Ratna

0

Hello Ratna,

Then I believe normal sync scenario should help you.

check the comments mentioned by Eve.

0
Evgeniy Kolmakov Jan 26, 2017 at 06:28 PM
0

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.

Share
10 |10000 characters needed characters left characters exceeded