cancel
Showing results for 
Search instead for 
Did you mean: 

Polling a URL via POST method

Former Member
0 Kudos

We are using PI 7.1 and we can utilize an Axis adapter to poll a URL every X seconds via a HTTP GET method, as described in the following guide:

http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/01/05/michals-pi-tips-exchange-rates-fr...

However, we have a requirement to do a HTTP POST method call to a URL every X seconds, instead of GET.  Looking in com.sap.aii.adapter.axis.ra.transport.http there doesn't seem to be a POST equivalent to the HTTPGetter method call.

Doe anyone know how this could be accomplished?  Any help would be much appreciated.

Best regards,


Anton

Accepted Solutions (1)

Accepted Solutions (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hello Anton,

This can only be achieved by modifying the sending system e.g via a job that runs every x seconds that would call PI to POST to that URL.

Regards,

Mark

Former Member
0 Kudos

Mark, am I understanding you correctly:

1) Create a receiver channel using an HTTP plain adapter (that by default uses POST method)

2) Create a periodic job outside of PI, for example in ECC via an ABAP program, that would periodically call that receiver channel via PI.


Is that correct?

And in that case would we have to utilize proxys, something like this:

http://scn.sap.com/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy

Best regards,


Anton

markangelo_dihiansan
Active Contributor
0 Kudos

Hello Anton,

Yes, that is correct. Aside from the HTTP Adapter, the SOAP Adapter also uses HTTP POST but you should run it in no SOAP mode (by checking the Do Not Use SOAP Envelope). The advantage of using SOAP is that you can use adapter modules.

Hope this helps,

Mark

Answers (1)

Answers (1)

Former Member
0 Kudos

Ended up taking this HTTP Client ABAP program:

http://scn.sap.com/docs/DOC-3647

Deploying it on ECC (it depends on some function modules that did not exist in PI ABAP stack), adjusting it to use CL_HTTP_CLIENT instead of old HTTP2_POST (that gave me problems with truncating the payload incorrectly) and then scheduling it in ECC to initiate the polling of a URL through PI.

Anton