Skip to Content
Author's profile photo Former Member

Configuring External Communication Channel Control (step-by-step guide with examples)

As explained at http://help.sap.com/saphelp_nwpi71/helpdata/en/45/0c86aab4d14dece10000000a11466f/content.htm SAP PI 7.1 offers the possibility of controlling Communication Channels externally by using HTTP GET or POST request to the following URL:

http(s)://<host>:<port>/AdapterFramework/ChannelAdminServlet?party=party&service=service&channel=channel&action=action

This will require:

  1. Assign the necessary permissions.
  2. Enable external control of the desired Communication Channels in Communication Channel Monitor of Runtime Workbench.


Unfortunately in the help.sap.com link is not explained properly how the roles should be assigned. For that reason I found it necessary to create this document which explains in detail all the steps required.

1- Assign the necessary permissions.


At http://help.sap.com/saphelp_nwpi71/helpdata/en/45/0c86aab4d14dece10000000a11466f/content.htm are specified 2 roles that user needs:

  • xi_af_channel_admin_display
  • xi_af_channel_admin_modify


These are not 2 roles, but 2 actions that must be assigned to a specific role, and this role to the user concerned (for that reason many colleagues could not assign the specified roles, because these roles do not exists as such).

For assigning the necessary permissions follow the instructions below:

  1. Enter Netweaver Administrator (http://<server>:<port>/nwa) and over Configuration Management –> Security select “Identity Manager”.

   01_NWA.png

   b.  Select “Role” from drop-down list and select “Create Role”. In the Overview tab type a name and optionally a description.

   02_IDManager_1.png

     Then on “Actions assigned” tab on Available actions search for key *xi_af_channel_admin* and select the two actions needed, then select “Add”. Actions must be transferred to Assigned Actions at right side.

   02_IDManager_2.png

     Finally at “Assinged users” tab search for the user/s you want to assign the permissions and select “Add”. Then select “Save”.

   02_IDManager_3.png

2- Enable Communication Channels External Control at Runtime Workbench.

Enter Runtime Workbench (http://<server>:<port>/rwb/) and select “Display”. Then select “Adapter Engine” and finally “Communication Channel Monitoring”.

03_RWB_1.png

This opens a window in which we can search the Communication Channels that we must control externally. Once selected the desired Communication Channel will be seen that “External Control Off” is selected by default, for that reason it must be necessary change it to “External Control On”.

03_RWB_2.png

Now the channel will be enabled to be controlled externally. For doing this we use the URL:

http(s)://<host>:<port>/AdapterFramework/ChannelAdminServlet?party=party&service=service&channel=channel&action=action setting in ‘channel’ the name of the Communication channel to be controlled and in ‘action’ the value ‘start’ or ‘stop’ to activate/de-activate the channel.

When the HTTP GET/POST to the URL is made the service returns an XML with the new state of the Communication Channel.

Here is an example of how to stop a Communication Channel:

04_Test_1.png

Then if we look at the state in Communication Channel Monitoring will see that the channel is stopped and we can see that the control of it is set to “External”

04_Test_2.png

To start again the Communication Channel use the same URL but using the action ‘start’ instead of ‘stop’.

04_Test_3.png

Now in Communication Channel Monitoring we can see that the channel is running again.

04_Test_4.png

There is a third action we can use called “status” which is used to know the status of the Communication Channel. If you do not specify any particular channel in the service will return an xml with the state of all Communication Channels of Integration Directory. In addition you can perform such filters in order to check the status of all the Communication Channels that belong to a specific Communication Component using the “service” parameter.

Here is an example of status request for all Communication Channels of BS_TPI_00 Business System:

04_Test_5.png

That’s all. I hope you find useful this guide.

Alejandro.

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Robyn du Plessis
      Robyn du Plessis

      Great blog!

      I just have one question; is it possible to compound arguments with the URL? For example if I need to stop 2 or more channels at the same time?

      For example;

      http(s)://<host>:<port>/AdapterFramework/ChannelAdminServlet?party=party&service=*&channel=CC_CHANNEL1, CC_CHANNEL2&action=action