5.13    Integration Directory Programming Interface (Directory API)

The AEX is equipped with a web services API. These web services can be configured and used to create or modify objects in the Integration Directory of your SAP PO installation. The API covers nearly all aspects and functionality of the Integration Directory. These web services are based on APIs that have been implemented on the Java stack, and their Web Service Description Languages (WSDLs) can be located in the ES Repository or web service runtime.

Note

The current implementation of this API limits you from creating or changing any folders in the Integration Directory. However, you can assign configuration objects to a folder.

The consumption of the web services is limited to users with the roles SAP_XI_API_DISPLAY_J2EE and SAP_XI_API_DEVELOP_J2EE. Make sure that your service user is assigned these two roles. You can assign these roles via the SAP user management engine (UME) of your SAP PO installation, which can be accessed via http://<hostname>:<port>/useradmin.

Location of Service Interface API in the ES Repository and Included Operations

Figure 5.34    Location of Service Interface API in the ES Repository and Included Operations

The web service APIs can be found in the ES Repository under the http://sap.com/xi/BASIS namespace and the SAP BASIS 7.50 SC. Note that the SWCV can be different, depending on your SAP PO version, but it will always be in the format SAP BASIS 7.xx. See Figure 5.34 for an example of the location of the service interface API used for the communication channels. The inbound service interface is called Communication ChannelIn and contains operations such as Create, CreateFromTemplate, Change, Read, Delete, Query, Check, OpenForEdit, and Revert. The names of these operations are fairly self-explanatory in terms of their usage.

The service interfaces located in the ES Repository are fully functioning web services. You can download their WSDLs from the SAP NetWeaver Administrator, and they are ready for you to test or call them with your choice of SOAP client. You can obviously also call them from an external application.

For the sake of simplicity, we’ll use the SOAP client embedded in the SOA section of the SAP NetWeaver Administrator. To test the communication channel web service, follow these steps:

  1. Log in to SAP NetWeaver Administrator via the link http://<hostname>:<port>/nwa.
  2. Navigate to SOAApplication and Scenario Communication.
  3. Click on the Single Service Administration link.
  4. On the next screen, enter the name of the service interface of the API (“CommunicationChannelIn”) in the Find search box, and click on the Go button.
  5. You’ll see one entry returned from your search; select it. From the screen that then appears at the bottom, select the Configuration tab. Figure 5.35 shows how the screen setup should look.
  6. In the bottom screen, select the WDSLs tab, and click on the Test button to navigate to the Web Services Navigator Test tool.
  7. On the next screen, you need to select an operation to be called. Select the Query operation, and click on Next.
  8. On the new screen, you can specify the input parameters for the service call. Given that it’s a query operation and we want the full resultset (with all communication channels), leave the request as it is, and click the Next button.
  9. On the next screen, you’re prompted to log in. After inputting the correct login details, you’ll get the result shown in Figure 5.36, which is a response containing 66 communication channels.
    Search Result of the Inbound Service Interface API for the Communication Channel

    Figure 5.35    Search Result of the Inbound Service Interface API for the Communication Channel

Response Containing a List of Communication Channels as a Result of the API

Figure 5.36    Response Containing a List of Communication Channels as a Result of the API

Note

You can download the WSDL to call the web service via an external tool. In that case, click on ZIP Download as shown earlier in Figure 5.35.

For illustration purposes, we chose the communication channel API, but there are many other APIs that cover functionalities such as alert rule, change list, communication channel, communication component, communication party, configuration scenario, direct connection, ICO, receiver rule, and value mapping.