cancel
Showing results for 
Search instead for 
Did you mean: 

one issue with soap asynchronous

former_member229036
Participant
0 Kudos

Dear  Guru;

i have one issue with soap(sender system)  -  PI - jdbc(target system) by soap asynchronous.

soap to sender soap(PI), the area ,  i have the following issue.

I tried to send message at java side (sender system) as below;

try {

    #1. callling async sender soap with PI soap url

    #2. System.out.println("XI Call Success!!!");

} catch ( exception a )

    #3. System.out.println("XI Call Failed!!!");

}

it is sent successfully,

but  it always show #2( XI Call Success!!! ) as sender soap channel  in PI stop or PI down.

I want to print #3 when target system down or service unavailable

how you make it in your area without message lost when PI service unavailable ?

Thank You

David

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello David

I'd suggest checking the HTTP return code, anything else than HTTP 200 OK usually means an error and should be handled carefully, especially the return Codes 4xx (most likely 401, 403 and 404) and 5xx (500 and 503).

In that cases you should persist the message and, depending on your requirements, maybe add an automatic retry at a later time.


Kind regards,

Thomas

Answers (2)

Answers (2)

former_member191435
Contributor
0 Kudos

Before PI call success messages ... check and validate the status of HTTP codes  based on that u can do this.

Thanks,

Sreenivas

iaki_vila
Active Contributor
0 Kudos

Hi David,

When you work with asynchronous scenario you don't wait a response then it's like you don't the further luck of the message. There are several solution for this, to check the http status like Thomas said, with this you only know the message has arrived to the target machine. Another option is to work with acknowledgments (Acknowledgment Support in the Adapter Engine - Advanced Adapter Engine - SAP Library)where you will receive an application or system ack to confirm the process. The best way in my opinion is to implement the TU&C/C interface pattern where you assure the correct processing in the target working only with async messages (http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/00ffdb4d-e869-2a10-7688-891d7eea1...)

Hope this helps.

Regards.