Skip to Content

Introduction

 

In this blog, I will be describing how to configure and publish enterprise services from your SAP business suite system into NWCE Services Registry. Most of you have seen the SAP ES Workplace and the Services Registry (http://xi.esworkplace.sap.com/sr) configured for the SAP hosted ES environment (HU2 – SAP ERP 2005 ECC 600, HU5 – SAP SRM 5.0, HU8- SAP SCM 5.0).

 

The Services Registry is a UDDI based registry that contains definitions of enterprise services and references to their metadata.  With NWCE 7.1, SAP has provided an open standard UDDI v3.0 conformant registry, in which you can publish the enterprise services from the SAP ERP system. The CE 7.1 (SP1) does not offer any UI for publishing the services into service registry. Publishing the services into services registry can be performed by calling the ESRegistry API’s (web services). Publish your Services to ES Registry is the blog in SDN that talks about how to publish services using this API’s into Services Registry.

 

Enterprise services can be enabled in your ERP system using the enhancement package 2 or using the ES Bundle of the appropriate Business Suite System(CRM, SRM, SCM, and SNC). The following are the steps for configuring and publishing the services into CE Services Registry.

 

Step-1:

 

Create a RFC destination ‘SR_PUBLISH’ with connection type ‘G’ pointing to your ESRegistry web service URL.

 

 

Step-2:

 

Create the Enterprise Registry parameters using the transaction ‘WSPARAM’. Here you define name of the UDDI Registry for publishing the enterprise services and the logical port name (which will be the name of the logical port used in the ‘LPCONFIG’ transaction).

 

 

Step-3:

 

Next step will be creating the logical port for the ABAP proxy class ‘CO_ESREGISTRY_WSSI’. Enter the same logical port name defined in the previous step and click on the ‘Create’ icon to create the logical port. Navigate to ‘Call Parameters’ and enter the RFC destination (SR_PUBLISH) created in Step-1.

 

 

 

Step-4:

 

To publish the services into service registry, the following three operations need to be performed. This can be accomplished by using the transaction ‘WSPUBLISH’

 

  • publishPhysicalSystem
  • publishServiceDefinition
  • publishService

Select the name of the service to be published in service registry and name of the defined registry from the drop-down (SR_UDDI), check ‘Force Publication’ as shown below:

 

 

 

As a result of publish, the system will display the publishing log:

 

 

 

Now we will verify the published physical system and service in the CE Services Registry. Login into the services registry http://localhost:50100/sr

First we will verify the published physical system, by selecting the system from the drop down and clicking on the ‘Select Details’ link:

 

Next we will verify the published service and service definition by specifying the service in the Find option

 

 

 

In my next blog, I will describe how to classify the services and consume it from visual composer and Netweaver Developer Studio using the service registry.

To report this post you need to login first.

13 Comments

You must be Logged on to comment or reply to a post.

  1. Dipankar Saha
    Hi,
    This is an excellent blog! I was searching for this documentation badly when i finally saw your blog. It really helped me a lot in setting up the ESR and publishing the Enterprise Services in it.
    But I’ve a small issue – when I create a CAF project in CE and and import a service from the registry and then create an application service over it and expose the application service as web service, if I pass some input values to the web service it’s not getting passed to the backend. have you also encountered this issue?
    Thanks & Regards,
    Dipankar 
    (0) 
    1. Bv Pillai Post author
      Dipankar,

      I tried, consuming the services from the services registry thru visual composer and from NWDS using a webyndpro project. I did not face any issue in calling the services from the backend. You can test your endpoint from the services registry using the test option by providing values to the service operation.

      Regards,
      Velu

      (0) 
      1. Dipankar Saha
        I got the solution. After creating a method in the app service by default mapping we need to create another wrapper operation from where we need to call the standard method and expose this custom operation in web service.
        Thanks,
        Dipankar
        (0) 
        1. Wan Qi, Judy Chow
          Hi Dipankar,

          Do you mean creating a custom target operation in the modelled application service and mapping the source operation to the target operation? Is that all i need to do?

          In addition, for the backend side(e.g ECC), what are the steps I need to do other than publishing the enterprise service as mentioned in this blog?

          After I deploy the application service as web service, am i able to consume this web service (from application service) and see that it will execute the enterprise service at the backend?
           
          Hope you can help me with this. Thanks!

          Judy

          (0) 
          1. Dipankar Saha
            Hi,
            You need to create default mapping operations from the enterprise service in the application service. Then create one custom operation in the application and inside that write the Java code to execute the default mapping operation which is mapped to the enterpise service. You can use SOAMANAGER transaction in ABAP to configure and release the enterprise service.

            Thanks,
            Dipankar

            (0) 
  2. Deepak Jaju
    Hi,
    We have created WSDLs out of proxy classes from the SAP Business Suite system and now we want to register them in the Services Registry of NWCE 7.1 SP3.

    We are using the approach given in this blog. However, when we try to test the connection, we get the ICM_HTTP_CONNECTION_FAILED error.
    Can you please tell me what should be the proxy settings in the IE..???
    Do we need to include the http:// in the “Target Host” field..??
    And any other http connection settings that I need to do in the NetWeaver Admin..??

    Assume the following system names:
    For SAP Business Suite – http://123.456.78.159:1001
    For SAP NW CE – http://789.456.12.321:50100

    One more thing, internet is definitely disabled for these systems to work.
    Please do respond.

    Thanks
    Deepak

    (0) 
    1. Bv Pillai Post author
      Deepak,

      You need to maintain the HTTP proxy settings form the SAP Biz Suite from where you publish the service to CE Service Registry. You can maitain the HTTP proxy settings in SM59 ( Extras->HTTP proxy configuration ). Include your CE hostname as part of the exclude list ( No proxy).

      Regards,
      Velu

      (0) 
      1. Puja Malhotra
        Hi Velu,

        I inculded my CE hostname in the No proxy list in HTTP Proxy Configuration. But the Connection Test still fails.
        Is the Service No. the port no. ?

        Regards,
        Puja

        (0) 
  3. Diego Rodriguez
    Hi Velu,
    while I was following the diffrent steps that you describe in this blog i´ve get an error.
    After execute the trx a pop up window asking me the mndt user and pass of the ‘/ESRegistryWS/BasicAuthConfig’ path. I´ve insert the user and pass of the administrator´s account in CE. is that ok? .

    I get this error Msg.
    “Exception raised during physical system publication. Code : ‘10150’”

    Can you help me with this problem please?

    Thanks for all.

    Diego.

    (0) 
  4. Avijit Dhar
    Hi ,

    I am getting Proxy Instantiation Error while trying to publish ES using the Transaction “WSPUBLISH”. But again and again I am getting the same error. I am following your blog but don’t know why I am getting the error. Can you please help.

    Thanks and Regards
    Avijit

    (0) 
  5. chandra shekar dasari
    HI Pilla,

    I am hanging at few steps, recently we had configured PI7.1. But few steps are missing and was curious about it.
    In STep 1: SR_PUBLISH type “g”

    prefix path
    /ESRegistryWS/BasicAuthConfig?Style=document
    Where to search this path to configure.
    assuming i have one system called “dmssys71”.

    I am searching for configure this but held here.
    Hope you will provide some pointers.
    Thanks in advance.
    Shekar Chandra

    (0) 
  6. Mario Galvis
    Hello Velu,

       First I want to thank you for the information in this blog, it was what I needed for my configuration.

    The only trouble that Im having is that even if I select the option for publish “service definition & endpoints”,the service is published succesfully but no endpoint is generated. P

    Please, do you know why?

    Thanks
    Regards
    MG

    (0) 

Leave a Reply