on 01-09-2012 7:59 AM
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?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
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
What did you choose to implement?
I wonder if this SAP note helps resolve your authentication issue?
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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:
SOAP adapter didnot support Polling mechanism, your sender system (web service) has to send request to SOAP adapter by calling service URL .
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
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.