Sie sind auf Seite 1von 10

SAP Network Blog: SOA: Web-service expose and consume configuration with SOAMA...

Page 1 of 10

Blogs

SOA: Web-service expose and consume configuration with SOAMANAGER Subscribe


Shibaji Chandra Print
Business Card
Permalink
Company: IBM
Posted on Feb. 17, 2010 03:56 PM in SAP Process Integration (PI), Service-Oriented Architecture Share

1. SOA: Web-service based integration approach


As Service Oriented Architecture (SOA) is becoming a buzz word in today's enterprise world, more and more requirements are coming for integrating various distributed systems in your landscape
via short but spontaneous calls. Rather than distributing data across various systems making small/light-weight/spontaneous calls is a good way to integrate systems seamlessly.
Web-service calls in a structured way is a good way to achieve this. Thus hereby we can leverage the existing functionalities by publish-subscribe model.

In SAP ERP landscape as well this sort of SOAP based publish-subscribe type integrations are becoming more common day by day.

However, with upgrade to Basis 7.01 SAP had guide-lined it's web based transaction SOAMANAGER to be THE tool for web-service creation and configuration. This article will explain some of the
key feature of SOAMANAGER.

2. SAP ABAP stack Web-Service configuration


Previously until basis 6.4 SAP was supporting bunch of ABAP based transactions to configure web service.
1. WSCONFIG: This transaction was to release the web-service to expose after the service is created from a FM/Message interface from SE80.

2. WSADMIN: This transaction allows you to test the web-service and get the WSDL of the same.

You used to use the F8 button to test the webservice (opens WS Navigator web based tool). Also you used to get the WSDL of the web service from WSDL button.
However in basis 7.01, these transactions are obsolete.

http://weblogs.sdn.sap.com/pub/wlg/17964?page=last&x-maxdepth=0 1/28/2011
SAP Network Blog: SOA: Web-service expose and consume configuration with SOAMA... Page 2 of 10

3. New web-based transaction - SOAMANAGER


From your service provider system (e.g. ECC) run transaction SOAMANAGER. This will open the following browser.

Pre-requisites:
Check the system global setting:
Technical Config à System Global Setting à Reserve proxy setting

Set the J2EE port info:

4. Configuration: Web-service expose


Now we'll explain the steps what needs to be done to expose a web-service via SOAMANAGER.
In this case we exposed a pre-existing Function Module. So we took the inside out approach.

1. Webservice definition SE80

http://weblogs.sdn.sap.com/pub/wlg/17964?page=last&x-maxdepth=0 1/28/2011
SAP Network Blog: SOA: Web-service expose and consume configuration with SOAMA... Page 3 of 10

Next go toTxn SOAMANAGER or URL: https://<domainname>:<port>/sap/bc/webdynpro/sap/appl_soap_management?sap-system-login-basic_auth=X&sap-client=230&sap-language=EN

http://weblogs.sdn.sap.com/pub/wlg/17964?page=last&x-maxdepth=0 1/28/2011
SAP Network Blog: SOA: Web-service expose and consume configuration with SOAMA... Page 4 of 10

Single Service Admin


Search select the web service definition:

Apply selection.
Go to Configuration Tab and Edit.

http://weblogs.sdn.sap.com/pub/wlg/17964?page=last&x-maxdepth=0 1/28/2011
SAP Network Blog: SOA: Web-service expose and consume configuration with SOAMA... Page 5 of 10

Edit the Config and maintain the service user id:

Save the setting

http://weblogs.sdn.sap.com/pub/wlg/17964?page=last&x-maxdepth=0 1/28/2011
SAP Network Blog: SOA: Web-service expose and consume configuration with SOAMA... Page 6 of 10

From the Overview tab check the WSDL url for the Webservice:
http://<domainname>:<port>/sap/bc/srt/wsdl/bndg_3C58554BF1C2AA38E10000008297500C/wsdl11/allinone/ws_policy/document?sap-client=230

5. Configuration: Web-service consume

Now test the web-service in a 3rd party tool like SOAP UI.

1. Import the WSDL into SOAP UI and try a test run

Here is the Request response:

In this particular case we are sending the PO info and getting back the corresponding tax info from Vertex.

Take the service endpoint URL from SOAP UI:

In our case we are consuming this web-service from SNC (Supplier Network Collaboration).

1. Creating the client proxy for the we-service


Next create the client proxy in SNC (DN1) for consuming the web-service:

http://weblogs.sdn.sap.com/pub/wlg/17964?page=last&x-maxdepth=0 1/28/2011
SAP Network Blog: SOA: Web-service expose and consume configuration with SOAMA... Page 7 of 10

2. Configuring the logical port in Basis 6.4


In Basis 6.4 we used to use transaction LPCONFIG to create the logical port.

And we used to set the end-point URL in the logical port:

Now in Basis 7.1 this transaction is deprecated.


SAP Message

This transaction is obsolete; read the long text

Message no. SRT_LPREG091

Diagnosis

From SAP NetWeaver 7.1, logical ports are no longer administered in transaction LPCONFIG.

http://weblogs.sdn.sap.com/pub/wlg/17964?page=last&x-maxdepth=0 1/28/2011
SAP Network Blog: SOA: Web-service expose and consume configuration with SOAMA... Page 8 of 10

System Response

Transaction LPCONFIG will remain active for the administration of existing logical reports; any logical ports created with it will continue to
function. Transaction LPCONFIG must not be used to create logical ports for proxy classes generated in versions after SAP NetWeaver
2004s.

Procedure

From now on, use transaction SOAMANAGER. This transaction enables you to administer logical ports for proxy classes generated in SAP
NetWeaver 7.1 and earlier versions.
Important:
Logical ports created in transaction SOAMANAGER override logical ports created in transaction LPCONFIG. This means that, when two
logical ports with the same name exist, the logical port created in transaction SOAMANAGER will be used. This also applies to the behavior
of default logical ports. If transaction SOAMANAGER is used to create a default logical port for a particular proxy class, the default logical
port created for this class with transaction LPCONFIG loses its effect.
 Port number: J2EE server port number of NWA

 User: J2EE user


 Password: Password of the J2EE user

If you did not specify a J2EE user with password in transaction SOAMANAGER, the Execute action takes you to a J2EE login page, where
you need to enter the required J2EE authentication information:
 User: J2EE user

 Password: Password of the J2EE user

Procedure for System Administration

Instead of the J2EE host name, you can specify an IP address (such as "10.18.208.188").

SOAMANAGER:
So we need to configure the logical port via SOAMANAGER

Now go to transaction SOAMANAGER in SNC and follow the path:


Tab Application and scenario communication àSingle service admin
Search for consumer proxy for IDD0542.

Apply Setting and create the logical port.

http://weblogs.sdn.sap.com/pub/wlg/17964?page=last&x-maxdepth=0 1/28/2011
SAP Network Blog: SOA: Web-service expose and consume configuration with SOAMA... Page 9 of 10

Here is the logical port setting:

Now test end-to-end via the client proxy:


Go to SE80 and execute the client proxy. We are pushing the request with the following data:
<n0:ZSprCalTaxesIdd0542 xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
<TInvitemin>
<item>
<Ebeln>4500000054</Ebeln>
<Ebelp>00010</Ebelp>
<Taxjcd></Taxjcd>
<Invdate></Invdate>
<Amount></Amount>
</item>
</TInvitemin>
<TInvitemout>
<item>
<Ebeln></Ebeln>
<Ebelp></Ebelp>
<Taxjcd></Taxjcd>
<Taxprcnt></Taxprcnt>
<Taxamov></Taxamov>
</item>
</TInvitemout>
</n0:ZSprCalTaxesIdd0542>
Here is the response from Vertex:

http://weblogs.sdn.sap.com/pub/wlg/17964?page=last&x-maxdepth=0 1/28/2011
SAP Network Blog: SOA: Web-service expose and consume configuration with SOA... Page 10 of 10

Shibaji Chandra Shibaji has more than six years of SAP experience mostly worked on integration areas, complex landscapes and SAP PI.

Comment on this weblog

Showing messages 1 through 3 of 3.

Titles Only Full Threads Oldest First


 nice blog
2010-04-01 03:40:48 varun chanchlani Business Card [Reply]

Hi your blog explanation is really nice.


I had one doubt if you could clear,i am trying to consumer a web service,while using method i have to send wsse security user name and password in old transaction(wsconfig) we used to
assign a outbound profile.how wouild be send wsse secure user name password and set the profile in soamanger

 nice effort but..


2010-03-31 20:43:58 S. Gokhan Topcu Business Card [Reply]

This topic has been blogged tens of times, and explained in hundreds of articles & help documents. Really tiring to see it being blogged even further. I think this makes it really hard for people
to have one good reference for the topic as a guide and harder to find a specific piece of data where a lot of info is just a copy of each other.

 Reg Your Blog


2010-02-24 00:27:57 chandra shekar dasari Business Card [Reply]

Hi Chandra,

In the sdn this concept has been already explained by other collegues with due examples.
Try out properly with configuration reqd for this SOA manager emphasis on wspublish.
Regards
chandra

Showing messages 1 through 3 of 3.

http://weblogs.sdn.sap.com/pub/wlg/17964?page=last&x-maxdepth=0 1/28/2011

Das könnte Ihnen auch gefallen