cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP polling mechanism

Former Member
0 Kudos

I need to poll a webservice on a regular basis in order to retrieve information. In the past, I used ccBPM and a file polling sender channel in order to trigger the SOAP reqest.

Is there a new option available in PI 7.3 to support such SOAP polling?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

This blog guides in getting an xml file from a webpage with SOAP Axis

Regards,

Manjusha

Former Member
0 Kudos

Unfortunately, the solutions provided by Mark and Manjusha won't work in my case. It is a good solution if you need to get a standard XML file from a webaddress, but I need to send an actual SOAP request, signed and all, and then receive the response.

Any more great ideas?

markangelo_dihiansan
Active Contributor
0 Kudos

Hello Iddo,

but I need to send an actual SOAP request, signed and all, and then receive the response

Referring to the same SAP Note 1039369 FAQ XI Axis Adapter under Receiver Adapter General section 28. Can I call the target service with HTTP GET?

Yes. SOAP 1.1 originally supported only POST requests. SOAP 1.2 introduced Message Exchange Patterns (MEPs). The Response MEP defines a response only service and this service is triggered by a GET request. Therefore, to call the target service using HTTP GET, the SOAP version must be set to 1.2 and then message context property soap12.webmethod can be set to GET. It is noted that the GET request does not contain any content. Any parameters that need to be passed to the target service must be included in the target URL .

See Can I use SOAP 1.2 for my receiver channel? for setting the SOAP version to 1.2, and see setting Message ID in the query string for an example of how to set the query string using message context properties. see How can I set or retrieve the values of some Axis message context properties? for how to set some message context properties.

It says say you need to use SOAP 1.2 in Axis Receiver. There are links in that note in making that config in the receiver adapter. I have not tried it, so if you make it work, please share it to us

There is also an ABAP function module that is called HTTP_GET, maybe you can use it in an RFC Lookup to execute the get request

Hope this helps,

Mark

Former Member
0 Kudos

I noticed that, but it also says that:

It is noted that the GET request does not contain any content.

And I really need to provide a username and password, and sign the message before sending the request. If I can schedule a periodic job in PI that send a dummy message to the PI pipeline, then I can easily send the signed request.

I'll take a look at the HTTP_GET function.

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

And I really need to provide a username and password, and sign the message before sending the request. If I can schedule a periodic job in PI that send a dummy message to the PI pipeline, then I can easily send the signed request.

It is expected that the GET request does not require any content because the parameters are placed in the URL Otherwise, you are already submitting a form and it should be a POST request.

http://djce.org.uk/dumprequest

Hope this helps,

Mark

Answers (3)

Answers (3)

Former Member
0 Kudos

What did you choose to implement?

I wonder if this SAP note helps resolve your authentication issue?

Note 1303363 - SOAP (Axis) sender adapter to perform user login in handlers

Symptom

The SOAP (Axis) adapter previously only provided a standard web container based login mechanism at the sender side, although the Axis code itself provided a flexible mechanism to perform authenticaiton using its handlers.

This patch allows the Axis adapter to use its handlers to perform the user password pair based login using the HTTP basic password scheme or the WS-Security UsernameToken scheme.


Former Member
0 Kudos

I settled for the ccBPM scenario and a file polling sender channel, just like before.

Former Member
0 Kudos

I created an "idea" for adding this as a future product release.

If anyone else agrees that this will be a nice feature, please follow the link and give it a thumbs up:

https://cw.sdn.sap.com/cw/ideas/12158

rajasekhar_reddy14
Active Contributor
0 Kudos

SOAP adapter didnot support Polling mechanism, your sender system (web service) has to send request to SOAP adapter by calling service URL .

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

I need to poll a webservice on a regular basis in order to retrieve information. In the past, I used ccBPM and a file polling sender channel in order to trigger the SOAP reqest.

Just an idea, but It seems that this feature is supported by SOAP Axis, see SAP Note 1039369 FAQ XI Axis Adapter -> Sender Adapter General -> 36. Can I periodically call some HTTP service and use its response to call the sender channel?

Yes. This can be achieved using the com.sap.aii.adapter.axis.ra.transport.http.HTTPGetter Receiver task. This task calls the specified URL using the GET request and its response is sent to the sender channel. The scheduling parameters can be set in the channel to specify the periodic triggering of the request. See a sample configuration of periodically calling a REST based GET service. For the availability of this feature, refer to Note 1448849.

Hope this helps,

Mark

Former Member
0 Kudos

Hi Mark,

Thanks for your response. It sure looks like the option I need. As I recall, enabling the Axis framework requires some addittional settings, but I'll look into it.

markangelo_dihiansan
Active Contributor
0 Kudos

Hello Iddo,

Please do get back to us A blog regarding this could also help.

Regards,

Mark