Skip to Content
Introduction
I have written about creating WebServices in ABAP several times in the past.

Develop a Web Service that sends an Email – in ABAP
BSP – a Developer’s Journal Part XIII: Developing ABAP WebServices

However creating great WebServices doesn’t do you any good if no one can find them. That’s why today I would like to talk about how you can easily publish these WebServices to an external UDDI server using some of the nice new functionality in WebAS 640.

Now I should say upfront that WebAS 640 J2EE has a built in UDDI server. I’m not really going to talk about that one, because it is so integrated and easy to use. SAP has already done a good job of documenting its use in their online help. At my company our Global IT environment encompasses more than just SAP applications. We have developers working in other programming languages (mostly Visual Studio.Net) than just ABAP. For that reason, my company decided a while back to use the Microsoft UDDI server as our Global repository. So that is the example that I will shared with you today. I will share the steps that I used to setup the connection between our WebAS 640 system and the Microsoft UDDI Server running on Windows 2003. I will then show how easy it is to publish into this remote server.

External UDDI System Configuration
Let’s start out by logging onto the Microsoft UDDI server. By logging in we will verify that we have the correct address. We will also verify our role, which should be at least a Publisher for the later steps to work properly.

image

Before we leave the External UDDI system, we will want to setup a Business Entity (or as it is called in the Microsoft Tools and Documentation – a Provider). I went to my Publish Menu Option. I then went to the Providers Tab of the My UDDI entry and choose Add Provider.

image

Adding the provider really only involves giving it a name. I choose to name mine as KEG.SAP (KEG is my Business Unit Identifier). You should notice that your Provider has a Unique Key generated for it. It listed on the Details tab under Provider Key: In the example I have you see my key is 17bc7d27-c005-44b6-96d7-5d6eb89b2bdf. Write this down or remember where it was. We will need this key later when we do our setup in SAP.

image

If you leave the publish mode and go to Search from the menu, you should now be able to find your Provider. If everything looks good from the Search, we know that we are ready to start our configuration in SAP.

image

SAP Configuration
RFC Destination
We are going to start our configuration inside SAP by going to SM59 to setup two RFC Destinations. Every UDDI server will need two RFC destinations of type HTTP Connections to Ext. Server (Type G). One connection is used for Inquiry and the other is used for Publishing. On the first screen we will enter the Target Connection settings. For Inquire with the Microsoft UDDI our Path will be /uddi/inquire.asmx. For Publishing it will be /uddi/publish.asmx.

image

So that I can test my connections before I move on, I am going to go ahead and insert my User credentials in the Logon/Security tab.

image

When you do a test connection you should receive a screen that looks like the following. Pay special attention to the ~status_code value to make sure you are making a good connection.

image

UDDI Registry
Next up we will tell SAP about our UDDI Server. We configure a registration for a UDDI server via Transaction SUDDIREG. This is actually just generated table maintenance for Transparent Table UDDICL_REG. In here we will Create a name and description for our UDDI Server. Next we will supply a version. If you are using the integrated UDDI in Microsoft Server 2003, this version should be 2.0. Next up we will supply the names of the two RFC destinations we just created – One of Inquire and one of Publish. Next we can supply the User Credentials that will have access to publish in the external UDDI server. Now remember that key that I asked you to remember earlier. The unique key for the Provider that we generated in the external UDDI system is what we supply for the Default Bus. Entity.

image

Publishing
We should be all ready to try our first publish now. We will start off by publishing just a Web Service Definition. The Web Service Definition is not to be confused with the Web Service itself. The Web Service Definition in SAP will only create the tModel in the UDDI Server. To do this we can pull the Web Service Definition up in SE80. In the Editor we have the third tab called UDDI. For here we can view the UDDI servers we are published in. We can also publish to a new server, or edit the information we have already published. When we request an action, we will need to select the UDDI registry that we just configured. The default User Name and password should pull in from the configuration.

image

From here we can even update the details of our Published Web Service Definition. If we choose to display or edit the published information, SAP will launch a BSP application that interacts directly with the remote UDDI server. This is nice if you have to work with multiple external UDDI servers, but don’t want to learn all of their user interfaces. As you can see from this screen shot however, most of the user interface is still only in German (even though I am logged onto the system in English – Screen shoot from WebAS 640 SP9).

image

Now that we have published our First tModel, let’s jump over to the Microsoft UDDI Server and have a look at it. I will just do a simple wild card search for all tModels. The Web Service Definition we just published should now show up here.

image

Publishing the Web Service Definition is really only half of the task. Now we have to publish the Service itself. To do this we can go to transaction WSADMIN. From here we should see all of our released Web Services. If you need to release a Web Service, go to transaction WSCONFIG.

image

If we go into the details on a Web Service from this screen, we can see UDDI Publications at the bottom of the screen. We can hit the pencil to Publish the service itself.

image

We can now return to our External UDDI server once again. This time we will search via our Provider. We should now be able to see in the explorer window the hierarchy of our Service and its associated tModel.

image

Closing
I realize that the examples that I have given here today are very specific to the environment that I was working in (Microsoft UDDI 2003). However I hope that even if you don’t work in this environment, that you have been able to see what is possible with the SAP Web Service technology.

To report this post you need to login first.

7 Comments

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

  1. Alessandro Guarneri
    “I’m not really going to talk about that one, because it is so integrated and easy to use. SAP has already done a good job of documenting its use in their online help.”

    Are you sure?

    (0) 
    1. Gabriele Montori
      Hi I am having problems while trying to create a registry on our system ECC 6.0 with netweaver 7.0 BI. I did it on 7.1 CE without problem. But in 7.0 I can’t find information about URLs of publish/search while trying to create registry with suddireg and SM59. How or where can I find this informations?
      Thanks
      Gabriele
      (0) 
  2. Hi Thomas,

    Its very good blog for publishing web services.

    I tried the same, but have used uddi.sap.com for inquiry and publishing and need some expert help from you.

    While creating HTTP connection (type:G), I have maintained the target host as “uddi.sap.com” and path prefix as “/UDDI/api/inquiry/” and has also given the logon details. After connection test, I get message ICM_HTTP_CONNECTION_FAILED in the status bar.

    Anything missing here?

    Thanks
    Kamal

    (0) 
    1. Thomas Jung Post author
      First of all, have you tried to access that same site via IE.  I tried http://uddi.sap.com/uddi/api/inquiry/ and I got a 404 URL not found.  Perhaps the documentation on the main UDDI page is incorrect.  You should probably correspond directly with the UDDI System Admins via the email address listed on the site.
      (0) 

Leave a Reply