cancel
Showing results for 
Search instead for 
Did you mean: 

How to Create Asychronous Consuming Webservice?

chaiphon
Contributor
0 Kudos

Hi All,

I am able to create a synchronous consuming web service for some of the synchronous method from web service provider. however, I am still not sure about how to create asynchronous web service.

The service provider ask for the url to put the response back. Do I need to create providing web service for all method I use for them? Or is there any easier way to take a response back and map it to the service I requested?

I heard about WSRM but I am not sure how to use it. Will it serve my requirement?

We are on ECC 6.0 NW7.0 SP 15. no XI or PI.

Thanks,

Chaiphon

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

I'm in the same situation as the thread starter.

We have BW and ERP here. We have no XI/PI. We have no Java App Server.

We want to leverage WSRM when sending data from BW to post AR invoices in ERP.

I've done all the configurations on both systems. I've also coded my posting program to generate sequence before calling the web service residing in ERP (actually, it's FM BAPI_ACC_DOCUMENT_POST).

Postings have been performed successfully with AR invoices really created on ERP.

The problem is I can't see my sequence in SOAMANAGER -> tab Monitoring -> 'Sequence Monitoring'.

I can only see it in transaction SRT_TOOLS -> Sequence Monitor, though.

So I'd like to be ensured again that I'm on the right track. Is it really possible to achieve WSRM using ABAP stack only?

Former Member
0 Kudos

Before using WS-RM or Sequence Monitoring peoperly you need to ensure the WS Runtime is setup & configured properly...

Maybe just check that to solve the Sequence Monitor issue.

Regards, Trevor

Former Member
0 Kudos

Our BW is running on NW7.0 SP15.

Our ERP is ECC6.0 running on NW7.0 SP17.

Edited by: ANIRUT WORAKITRUNGRUANG on Mar 25, 2010 5:31 AM

Former Member
0 Kudos

Hi Anirut,

You need to check that the WS-RM Runtime is properly configured in both the consumer & the provider. See guide below on page 2 & page 3. The WS-RM Runtime config check needs to look like page 3.

[http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d06b6392-cde7-2c10-8f8b-bdea5d781dd9?quicklink=index&overridelayout=true]

"Sequence Monitoring works automatically once WS Runtime has been set up", see a detailed guide below of the inner working of Sequence Monitoring:

[http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/media/uuid/d049f634-1e6d-2a10-bfa6-c6b16016a231]

Regards, Trevor

Former Member
0 Kudos

Yes, I've already followed that how-to guide and checked that both systems have been set up properly.

That's why I'm wondering it's not displaying any messages at all.

However, I'm quite sure that it has something to do with the outside-in approach like in the guide.

Mine is based on inside-out approach, which is because I don't have access to ESR (through XI/PI).

According to the guide, service interface must be created in ESR first, followed by a corresponding service proxy, and then an endpoint.

Even though this guide claims in the last paragraph of section 2 (Background Information) that ...

"Now the same quality of service can be handled by WS-RM, without using SAP NetWeaver PI/XI."

I think it literally means that WSRM can be used without XI/PI runtime, because it also works with WS runtime, like shown in the guide, as well.

Can anybody confirm please? I don't think we can afford to get XI/PI here.

So we will have to find an alternative to this.

Oh, I've seen an option for Interface Profile called 'TU/C&C' and been trying to muck around with it.

Does anybody know anything about it or even how to make it work with WSRM enabled?

(I've already tried searching on this with no lucks. Still, I'm hopeful

Edited by: ANIRUT WORAKITRUNGRUANG on Mar 26, 2010 5:30 AM

Former Member
0 Kudos

>Now the same quality of service can be handled by WS-RM, without using SAP NetWeaver PI/XI."

I think it literally means that WSRM can be used without XI/PI runtime, because it also works with WS runtime, like shown in the guide, as well

PI will provide WSRM framework and Point-to-Point communication will happen between 2 ABAP backend system (again sync call). No data will pass through PI as call was point to point but if you see guide properly then you can see configuration was done from PI and then distributed to backend systems.

BTW for point to point communication you never required PI and can be done directly.

Regards,

Gourav

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Async webservice will only work with PI (with mediated messaging), WSRM is for Sync services and again you need PI for that.

If you want to communicate b/w 2 ABAP systems then use RFCs.

Regards,

Gourav

Former Member
0 Kudos

No, I think PI supports both sync and async modes.

WSRM only works in async mode.

Well, to communicate between 2 SAP systems, we can also use web service other than RFC because web service has some advantages over RFC.

Anyway, thanks for your comments.

Former Member
0 Kudos

>No, I think PI supports both sync and async modes

Where did I say that PI is only for async, indeed PI will work for both sync and async communication BUT async communication can be done using PI only. If you search elsewhere you will find practically no async webservice exist, all async webservice need mediated communication because as of now webservice expected to return some response (or sync) in nature.

>WSRM only works in async mode

I have some doubts here as TUCC implemented by SAP in PI support sync "tentative update" operation and other operation as async i.e. "compensate" and "confirm". also OASIS specification doesn't talk about sync or async but in my opinion as of now WSRM supported by use of middleware only.

TUCC: http://help.sap.com/saphelp_nwpi71/helpdata/en/11/e8179b247e4720882512a04041491d/content.htm

>Well, to communicate between 2 SAP systems, we can also use web service other than RFC because web service has some advantages over RFC

SOAP call is always expensive than native RFC call in term of resources, I clearly don't know why P2P communication was provided by SAP PI (that is only for ABAP backend). First principle is that avoid P2P (point to point) call and if it really required use it only for sync messaging.

Regards,

Gourav

Former Member
0 Kudos

Hi Chaiphon,

I'm assuming you are using an Abap Proxy for your consumer...For Async webservice consumption & response WS-RM will work for you. The only drawback is that the provider needs to support WS-RM as well. If the provider is asking for a URL to send back the response then it sounds like they don't support WS-RM.

The WS-RM protocol supports async webservice calls & the response is handled by the protocol, i.e. it will automatically correlate the request & response messages along with the return path so you won't need to do any additional mapping of the response.

If the provider is asking for a return URL then you'll probably need to do some digging on SDN for a workaround. I'll also try to dig around & see if I can find something that may help you.

Regards, Trevor