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