cancel
Showing results for 
Search instead for 
Did you mean: 

Communication Channel Status

adityavempati
Participant
0 Kudos

Hi,

Can anyone let me know if there is any service in PI through which we can get the status of the communication channels (start/stop/error....) just like AdapterMessageMonitoringVi.

I checked below ones. But could't get the status of the channels.

Regards,

Aditya Vempati

Accepted Solutions (1)

Accepted Solutions (1)

vadimklimov
Active Contributor
0 Kudos

Hello Aditya,

The standard servlet ChannelAdminServlet of Adapter Framework should fulfill your requirements. Using it, for communication channels with enabled external control, you can start and stop the channel, as well as query its status.

You may find several good blogs and documents in SCN which are describing functionality and usage of this servlet. For example, William Li's . You my also have a look at SAP Help regarding this servlet: Controlling a Communication Channel Externally - Advanced Adapter Engine - SAP Library.

Another way around is to use the web service IChannelAdmin provided by PI/PO system (operation getChannelAutomationStatus of this service will return you status of the given communication channel). Using this web service, you can query multiple communication channels in a single web service request. Please note that usage of this web service doesn't require the external control mode being enabled in the communication channel.

You may read about it in Santhosh Vellingiri's blog .

Best regards,

Vadim

Former Member
0 Kudos

Hi Vadim,

I got status of the channel with the below URL:

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

Can you please suggest where i can get the request wsdl for it.

Regards,

Sailaja

vadimklimov
Active Contributor
0 Kudos

Hi Sailaja,


ChannelAdminServlet is an HTTP servlet, not a SOAP service, so WSDL is not applicable for it. I would suggest calling ChannelAdminServlet without parameters - it will return an error message and describe all possible parameters and expected values for them, or referring to SAP Help documentation on this servlet, it also contains useful information regarding how this servlet can be called. Unfortunately, it is not possible to acquire the servlet description that you can import to the client application in order to auto-generate call templates/samples, like it is for SOAP service.


Regards,

Vadim

Answers (3)

Answers (3)

iaki_vila
Active Contributor
0 Kudos

Hi all,

May be i'm a bit confused with Aditya requirements but with CommunicationChannelIn i have seen the status of my communication channel, in AdapterSpecificAttribute, although i had more that 50 tags, searching by adapterStatus i can found it. Previous to this i had to find all the mandatory parameters to the request, the service only works with one and only one channel at the same request.

Regards.

vadimklimov
Active Contributor
0 Kudos

Hi Iñaki,

My understanding was, Aditya needs information about runtime status of the communication channel - the one we see in Communication Channel Monitor in RWB/PIMON - like STARTED, ERROR, etc. In contrast to it, web service CommunicationChannelIn provides adapter specific status of the communication channel - the one we set in Integration Directory and which is not really the same as runtime status. Literally, this web service's read operation returns the same information we can acquire from Integration Directory, when opening the communication channel configuration and navigating to Communication Channel > Show in XML Format in its menu.

Regarding sending the request for multiple channels. I have just checked in the system (PO 7.4 SP09), and I succeeded to retrieve configuration data for several (in my test, for two) channels within one request for operation Read in the service CommunicationChannelIn. The request message can be generated with multiple occurrences of the element CommunicationChannelID, so we can add multiple channels to it.

Regards,

Vadim

iaki_vila
Active Contributor
0 Kudos

Hi Vladim,

Thank you for you clarification. I was only thinking in the adapter status on the Integration directory.

About sending to multiple channels, i wanted to say that as the query option lets you to get some information about all the channels without parameters, the read option needs to determine the channel with all its mandatory definition fields.

Regards.

iaki_vila
Active Contributor
0 Kudos

Hi Aditya,

You can get this information with:

You have to choose the Read operation and you have to set all the fields that define the channel.

Later you will have a large XML that you have to find:

<AdapterSpecificAttribute>
<Name>repository.additionalParameter</Name>
<Namespace/>
<Value>0</Value>
</AdapterSpecificAttribute>
<AdapterSpecificAttribute>
<Name>adapterStatus</Name>
<Namespace/>
<Value>active</Value>
</AdapterSpecificAttribute>

Regards,

Former Member
0 Kudos

Hi Inaki,

As above said by Vadim,we can't control the channels using Directory API.

I just want to update that now  under IChannelAdmin service we have below 4 operations (Earlier we have 2 operations)

@Adi: Its bit complex ,but I believe you can control the channels by writing a piece of java code by consuming this service ,but make sure the below before starting coding part.

1)When start/stop the channels using this service ,does it gives apt acknowledgement back in case of exceptions -->If it doesn't no point in wasting time on this.

Regards

Venkat

Former Member
0 Kudos

Have you tried Integradion Directory API?

You can find service for Com. channel in your screenshot at first line - CommunicationChannelIn.

There is operation Read, which can you provide CC status.

vadimklimov
Active Contributor
0 Kudos

Hello Vladimir,

Integration Directory API doesn't return runtime state of the communication channel - only its configuration taken from Integration Directory. Thus, if we need to read configuration properties of the channel, Integration Directory API is the right way to go, but if we need to administer the channel (start/stop it) or retrieve channel status, Integration Directory will not provide this kind of data.

Regards,

Vadim