Re: [Carbon-dev] Events that can be analysed by the MessageExchangeInterceptor of a BPEL process
Hi All The progress update of the project Has been able to complete some major phases of the project. 1. The new data publisher for bpel is completed. which is the BpelStatsPublisher 2. Did necessary changes to add BPS server successfully to BAM to be able to monitor. 3. Events generated at BPS is successfully being received to the BAM side and populated the database. 4. Creating new data service to retrieve BPS related data from the data base. 5. First gadget to represent BPEL stats is almost on completion. The work to be done 1. few modifications and issues to be solved on the data receiving part of BAM, will be completed on next week. 2. design gadgets in the best way to analyse bpel event data. Thank You IsuruW ___ Carbon-dev mailing list Carbon-dev@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
Re: [Carbon-dev] Events that can be analysed by the MessageExchangeInterceptor of a BPEL process
Hi all I changed the xml message format of the message related to events. Just like Dumindu and Ratha suggested here I organized the message as Key/Value pairs of server level data. And here I also used a unique Id to identify a one particular life cycle of events of a process. The message looks as follows (but this message is still missing the server information at the begining). svrusrdata:Event xmlns:svrusrdata= http://wso2.org/ns/2009/09/bps/server/user-defined/data; svrusrdata:BpelStatisticsData svrusrdata:Data svrusrdata:Keyeb7d2d8a-3842-4c35-a3b5-4cd62395cbd8_ProcessName/svrusrdata:Key svrusrdata:Value{http://ode/bpel/unit-test}HelloWorld3-11 /svrusrdata:Value /svrusrdata:Data svrusrdata:Data svrusrdata:Keyeb7d2d8a-3842-4c35-a3b5-4cd62395cbd8_TimeStamp/svrusrdata:Key svrusrdata:ValueTue Jun 01 18:31:14 IST 2010/svrusrdata:Value /svrusrdata:Data svrusrdata:Data svrusrdata:Keyeb7d2d8a-3842-4c35-a3b5-4cd62395cbd8_InstanceId/svrusrdata:Key svrusrdata:Value0/svrusrdata:Value /svrusrdata:Data svrusrdata:Data svrusrdata:Keyeb7d2d8a-3842-4c35-a3b5-4cd62395cbd8_Operation/svrusrdata:Key svrusrdata:Value/svrusrdata:Value /svrusrdata:Data svrusrdata:Data svrusrdata:Keyeb7d2d8a-3842-4c35-a3b5-4cd62395cbd8_MessageExchangeId/svrusrdata:Key svrusrdata:Value/svrusrdata:Value /svrusrdata:Data svrusrdata:Data svrusrdata:Keyeb7d2d8a-3842-4c35-a3b5-4cd62395cbd8_PartnerLinkModelId/svrusrdata:Key svrusrdata:Value29/svrusrdata:Value /svrusrdata:Data svrusrdata:Data svrusrdata:Keyeb7d2d8a-3842-4c35-a3b5-4cd62395cbd8_PartnerLinkName/svrusrdata:Key svrusrdata:ValueMultiplierPartnerLink/svrusrdata:Value /svrusrdata:Data svrusrdata:Data svrusrdata:Keyeb7d2d8a-3842-4c35-a3b5-4cd62395cbd8_InstanceCompleationStatus/svrusrdata:Key svrusrdata:Value/svrusrdata:Value /svrusrdata:Data svrusrdata:Data svrusrdata:Keyeb7d2d8a-3842-4c35-a3b5-4cd62395cbd8_FailureReason/svrusrdata:Key svrusrdata:Value/svrusrdata:Value /svrusrdata:Data /svrusrdata:BpelStatisticsData /svrusrdata:Event The project is now continuing towards Data receivers, persisting Event data on database, writing appropriate gadgets for data representation. Kindly request feedbacks and suggestions Thank you IsuruW On Tue, May 25, 2010 at 5:49 PM, Vijayaratha Vijayasingam rat...@wso2.comwrote: On 24 May 2010 17:56, Isuru Wimalasundera isu...@wso2.com wrote: Hi all Yes the Event contains a XML message , as I have implemented a statistics data publisher for this task the generating XML message looks like below. statdata:Event xmlns:statdata= http://wso2.org/ns/2009/09/bps/bpel/statistics/data; statdata:BpelStatisticsData statdata:ProcessName{http://ode/bpel/unit-test}HelloWorld3-10http://ode/bpel/unit-test%7DHelloWorld3-10 /statdata:ProcessName statdata:TimeStampMon May 24 17:17:00 IST 2010/statdata:TimeStamp statdata:InstanceId1/statdata:InstanceId statdata:Operation/statdata:Operation statdata:MessageExchangeId/statdata:MessageExchangeId statdata:PartnerLinkModelId29/statdata:PartnerLinkModelId statdata:PartnerLinkNameMultiplierPartnerLink/statdata:PartnerLinkName statdata:InstanceCompleationStatus/statdata:InstanceCompleationStatus statdata:FailureReason/statdata:FailureReason /statdata:BpelStatisticsData /statdata:Event A XML message in this format get created for all the events given in the event plan. This is a xml related to a partner service invocation of a bpel process. But I just need to clarify whether my use of a statistics data publisher for this task is ok, since Dumindu has told me that its better to get these events as server level user defined data with Key/Value pairs. yes it would be easy rather introducing new tables. Like Samisa told, you can use uniqueid/activityid to identify new instance and the related partner services of a process. Then the each key element would start with the uniqueid. eg;- uniqueid_bpelprocessname uniqueid_bpelprocessstarttime You can follow mediation publisher as an example for a such formatting of the event. Thanks. -Ratha. Request kind attention on this matter and please let some feedback on this. currently working on learning how the BAM Data Receivers work, and how to implement a one for this project with the help of Ratha. Thank You IsuruW ___ Carbon-dev mailing list Carbon-dev@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev ___ Carbon-dev mailing list Carbon-dev@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev ___ Carbon-dev mailing list Carbon-dev@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
Re: [Carbon-dev] Events that can be analysed by the MessageExchangeInterceptor of a BPEL process
Hi all Yes the Event contains a XML message , as I have implemented a statistics data publisher for this task the generating XML message looks like below. statdata:Event xmlns:statdata= http://wso2.org/ns/2009/09/bps/bpel/statistics/data; statdata:BpelStatisticsData statdata:ProcessName{http://ode/bpel/unit-test}HelloWorld3-10 /statdata:ProcessName statdata:TimeStampMon May 24 17:17:00 IST 2010/statdata:TimeStamp statdata:InstanceId1/statdata:InstanceId statdata:Operation/statdata:Operation statdata:MessageExchangeId/statdata:MessageExchangeId statdata:PartnerLinkModelId29/statdata:PartnerLinkModelId statdata:PartnerLinkNameMultiplierPartnerLink/statdata:PartnerLinkName statdata:InstanceCompleationStatus/statdata:InstanceCompleationStatus statdata:FailureReason/statdata:FailureReason /statdata:BpelStatisticsData /statdata:Event A XML message in this format get created for all the events given in the event plan. This is a xml related to a partner service invocation of a bpel process. But I just need to clarify whether my use of a statistics data publisher for this task is ok, since Dumindu has told me that its better to get these events as server level user defined data with Key/Value pairs. Request kind attention on this matter and please let some feedback on this. currently working on learning how the BAM Data Receivers work, and how to implement a one for this project with the help of Ratha. Thank You IsuruW On Thu, May 20, 2010 at 11:40 AM, Samisa Abeysinghe sam...@wso2.com wrote: Do you have an XML message with the real event? Samisa... ___ Carbon-dev mailing list Carbon-dev@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
Re: [Carbon-dev] Events that can be analysed by the MessageExchangeInterceptor of a BPEL process
Do you have an XML message with the real event? Samisa... On Sun, May 16, 2010 at 1:16 PM, Isuru Wimalasundera isu...@wso2.comwrote: Hi *Current Event plan Proposed to monitor a BPEL Process (The Weekly Update) * Last couple of weeks I was working on planing what are the events needed to be monitored by BAM and making an event plan for the project. In this project we have already had two event listener classes, one which implements the BpelEventListener interface and the other which implements MessageExchangeInterceptor interface. At the begining theplan was to use either one of them to track events, but as the requirements were identified I decided to use both these implementationsas they track different events of a BPEL process. The Event plan is as follows; Mainly the events are gathered from six activity phases of a BPEL process; Process Invoked Event when a new BPEL process is invoked an event will be generated. Under this event there will be attributes like Process Name and time stamp value to uniquely identify the process invocation. New instance creation of a process This event will get invoked when a new instance of the BPEL process is being created. This event contains attributes like the name of the process, the time stamp value to get the created time, an instance id touniquely identify the created instance and the current operation of the process . Starting the newly created Instance This event get invoked when a created instance get started. this event holds attributes like process name, time stamp value, the instance id to identify the started instance. Message Exchange of an Instance This event get triggered when a process instance has received a message at any level; like for the invocation of an instance, invocation of a scope and an actvity. This event contains attributes like process name , time stamp, instance id, the current operation of the process which receives the message and an message exchange id which is a string to identify a message received. Partner service invocation from a process when the bpel process calls for an external web service this event will get triggered. A bpel process is linked with an partner service through a partner link,therefore this event contains information about this partner link mostly. This event contains process name, time stamp, instance id, partner link id and the name of the partner service invoked. A Failure of an Activity when any kind of failure occured at an Activity of a process this event will get triggered. Either it is a system failure or a failure in the BPEL process this event will get triggered. This event contains information like process Id, time stamp, instance id, the activity id of the Activity which got failed and the reason for the failure. Successful completion of the process instance This get invoked when a process instance completes its instance life cycle and no failure occured. This event contains basic attributes like Process Id, time stamp and Instance Id. These generated events has been able to publish as WS-Events successfully after writing an event publisher class following the New BAM Data publisher.This is the latest Event plan that I have come up with, request any suggestions or modifications on this. From here onwards the project needed to be continue towards using these published events on BAM, kindly request suggestions for the next phases of the project. Thank You IsuruW ___ Carbon-dev mailing list Carbon-dev@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev Samisa Abeysinghe VP Engineering WSO2 Inc. http://wso2.com http://wso2.org ___ Carbon-dev mailing list Carbon-dev@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
Re: [Carbon-dev] Events that can be analysed by the MessageExchangeInterceptor of a BPEL process
Hi *Current Event plan Proposed to monitor a BPEL Process (The Weekly Update)* Last couple of weeks I was working on planing what are the events needed to be monitored by BAM and making an event plan for the project. In this project we have already had two event listener classes, one which implements the BpelEventListener interface and the other which implements MessageExchangeInterceptor interface. At the begining theplan was to use either one of them to track events, but as the requirements were identified I decided to use both these implementationsas they track different events of a BPEL process. The Event plan is as follows; Mainly the events are gathered from six activity phases of a BPEL process; Process Invoked Event when a new BPEL process is invoked an event will be generated. Under this event there will be attributes like Process Name and time stamp value to uniquely identify the process invocation. New instance creation of a process This event will get invoked when a new instance of the BPEL process is being created. This event contains attributes like the name of the process, the time stamp value to get the created time, an instance id touniquely identify the created instance and the current operation of the process . Starting the newly created Instance This event get invoked when a created instance get started. this event holds attributes like process name, time stamp value, the instance id to identify the started instance. Message Exchange of an Instance This event get triggered when a process instance has received a message at any level; like for the invocation of an instance, invocation of a scope and an actvity. This event contains attributes like process name , time stamp, instance id, the current operation of the process which receives the message and an message exchange id which is a string to identify a message received. Partner service invocation from a process when the bpel process calls for an external web service this event will get triggered. A bpel process is linked with an partner service through a partner link,therefore this event contains information about this partner link mostly. This event contains process name, time stamp, instance id, partner link id and the name of the partner service invoked. A Failure of an Activity when any kind of failure occured at an Activity of a process this event will get triggered. Either it is a system failure or a failure in the BPEL process this event will get triggered. This event contains information like process Id, time stamp, instance id, the activity id of the Activity which got failed and the reason for the failure. Successful completion of the process instance This get invoked when a process instance completes its instance life cycle and no failure occured. This event contains basic attributes like Process Id, time stamp and Instance Id. These generated events has been able to publish as WS-Events successfully after writing an event publisher class following the New BAM Data publisher.This is the latest Event plan that I have come up with, request any suggestions or modifications on this. From here onwards the project needed to be continue towards using these published events on BAM, kindly request suggestions for the next phases of the project. Thank You IsuruW ___ Carbon-dev mailing list Carbon-dev@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
Re: [Carbon-dev] Events that can be analysed by the MessageExchangeInterceptor of a BPEL process
Hi Currently I am working on this final event format which will contain the data discussed above, hoping to have a discussion with Milinda aiyya on Monday regarding what exact data needed to be contained in this format out of the stuff that I have come up with and also about tracking data about new instance creation of a bpel process. Thank You IsuruW On Sun, May 2, 2010 at 9:30 AM, Samisa Abeysinghe sam...@wso2.com wrote: Have you designed the event format for this? If so please send it over so that we can have a look. If it is not defined, I suggest that you design that to capture the data discussed here. Thanks, Samisa... On Fri, Apr 30, 2010 at 4:05 PM, Isuru Wimalasundera isu...@wso2.comwrote: Hi yes that would be really useful because catching events on new instance creation can be really essential. Today had a discussion with Waruna and got information on some of the data that I tried to retrieve from events (as mentioned in my first message),and also discussed the necessity of some data according to the requirement of this project. After talking with Waruna and going through all the event data retrieved, I thought about some important events that would be really useful to be monitored by BAM. Mainly it is necessary to find whether it is possible to analyse events when the bpel process is being invoked by a request. As the method onProcessInvoked() is working it is possible to track when a process is invoked. It has to be notified whether the particular process invocation is successful or not. May be this can be done by reading the process state of the event, and it is still there to be tested. And there can be other data such as process Id and the process invoked time as additional info about the process invocation. Then it is necessary to catch events when a new instance of the bpel process is being created and invoked. I guess we have to check whether the new instance creation is successful or failed. To catch these events, just like Milinda aiyya replied we have to make the onNewInstanceInvoked() method working.Then from the newly created process instance all the partner services will get invoked respectively and it is necessary to track events of these partner services. From within the onPartnerInvoked() method we have to track important information like succesful partner service requests, fault requests and partner service ID s, partnet role names ,etc to recognize the external web services. Another important thing is to identify which partner service belongs to which process instance, Becasue at same time many request can come to the same process and create many instances and they all will trigger same web services. Once Samisa sir suggested to give an unique Actvity ID to the new instance and for all the related partner services to the process. It is essential to find a way to fulfill this requirement. Request suggestions. And finally it is necessary to identify whether the created new instance complete the process successfully or not. for that we have to identify whether the process successfully return a respond to a client. Now it is needed to clearly identify what are the properties that should be included in to these events that I mentioned above, and need to clarify these attributes against the need of BPS. Request suggestions on the Event plan. Thank You IsuruW On Fri, Apr 30, 2010 at 9:59 AM, Milinda Pathirage mili...@wso2.comwrote: Please find my comments inline. On Fri, Apr 30, 2010 at 8:57 AM, Waruna Ranasinghe war...@wso2.comwrote: On Thu, Apr 29, 2010 at 6:30 PM, Isuru Wimalasundera isu...@wso2.comwrote: Hi , As I am working in the project Monitoring* *a BPEL process on WSO2 BPS by using WSO2 BAM, I was on finalizing the set of Events that is needed to monitored by BAM. Mainly as identified it is necessary to identify when a BPEL process get invoked and the number of times it got invoked. And also it is necessary to identify how the partner services get invoked, in which occasions does they get invoked and also maybe the number of times each service get invoked. And also just like Milinda mentioned to me it is also necessary to identify when the process get complete and whether it is successfully responded to the client call. ApacheODE provides and interface called MessageExchangeInteceptor which contains four main methoda called ; 1. onBpelServerInvoked() 2. onProcessInvoked() 3. onNewInstanceInvoked() 4. onPartnerInvoked() A test event observer class has been written extending the MessageExchangeInteceptor interface and was able to run and identify what are the events that get triggered against a bpel process which contains several partner services. It was evident to me that the onProcessInvoked() method and onPartnerInvoked() methods are responding well and caught events whenever a bpel process got invoked and each time a partner service got invoked.
Re: [Carbon-dev] Events that can be analysed by the MessageExchangeInterceptor of a BPEL process
Have you designed the event format for this? If so please send it over so that we can have a look. If it is not defined, I suggest that you design that to capture the data discussed here. Thanks, Samisa... On Fri, Apr 30, 2010 at 4:05 PM, Isuru Wimalasundera isu...@wso2.comwrote: Hi yes that would be really useful because catching events on new instance creation can be really essential. Today had a discussion with Waruna and got information on some of the data that I tried to retrieve from events (as mentioned in my first message),and also discussed the necessity of some data according to the requirement of this project. After talking with Waruna and going through all the event data retrieved, I thought about some important events that would be really useful to be monitored by BAM. Mainly it is necessary to find whether it is possible to analyse events when the bpel process is being invoked by a request. As the method onProcessInvoked() is working it is possible to track when a process is invoked. It has to be notified whether the particular process invocation is successful or not. May be this can be done by reading the process state of the event, and it is still there to be tested. And there can be other data such as process Id and the process invoked time as additional info about the process invocation. Then it is necessary to catch events when a new instance of the bpel process is being created and invoked. I guess we have to check whether the new instance creation is successful or failed. To catch these events, just like Milinda aiyya replied we have to make the onNewInstanceInvoked() method working.Then from the newly created process instance all the partner services will get invoked respectively and it is necessary to track events of these partner services. From within the onPartnerInvoked() method we have to track important information like succesful partner service requests, fault requests and partner service ID s, partnet role names ,etc to recognize the external web services. Another important thing is to identify which partner service belongs to which process instance, Becasue at same time many request can come to the same process and create many instances and they all will trigger same web services. Once Samisa sir suggested to give an unique Actvity ID to the new instance and for all the related partner services to the process. It is essential to find a way to fulfill this requirement. Request suggestions. And finally it is necessary to identify whether the created new instance complete the process successfully or not. for that we have to identify whether the process successfully return a respond to a client. Now it is needed to clearly identify what are the properties that should be included in to these events that I mentioned above, and need to clarify these attributes against the need of BPS. Request suggestions on the Event plan. Thank You IsuruW On Fri, Apr 30, 2010 at 9:59 AM, Milinda Pathirage mili...@wso2.comwrote: Please find my comments inline. On Fri, Apr 30, 2010 at 8:57 AM, Waruna Ranasinghe war...@wso2.comwrote: On Thu, Apr 29, 2010 at 6:30 PM, Isuru Wimalasundera isu...@wso2.comwrote: Hi , As I am working in the project Monitoring* *a BPEL process on WSO2 BPS by using WSO2 BAM, I was on finalizing the set of Events that is needed to monitored by BAM. Mainly as identified it is necessary to identify when a BPEL process get invoked and the number of times it got invoked. And also it is necessary to identify how the partner services get invoked, in which occasions does they get invoked and also maybe the number of times each service get invoked. And also just like Milinda mentioned to me it is also necessary to identify when the process get complete and whether it is successfully responded to the client call. ApacheODE provides and interface called MessageExchangeInteceptor which contains four main methoda called ; 1. onBpelServerInvoked() 2. onProcessInvoked() 3. onNewInstanceInvoked() 4. onPartnerInvoked() A test event observer class has been written extending the MessageExchangeInteceptor interface and was able to run and identify what are the events that get triggered against a bpel process which contains several partner services. It was evident to me that the onProcessInvoked() method and onPartnerInvoked() methods are responding well and caught events whenever a bpel process got invoked and each time a partner service got invoked. But the onBpelServerInvoked() and onNewInstanceInvoked() methods were not working and I have informed it to the BPS team. But still the MessageExchangeInteceptor has been able to answer some of the event requiremnets. Today I was trying to retrieve more useful data from the events that get caught by the onProcessInvoked() method and the onPartnerInvoked() method, and found some very important data can be retrieved . But there were
Re: [Carbon-dev] Events that can be analysed by the MessageExchangeInterceptor of a BPEL process
On Thu, Apr 29, 2010 at 6:30 PM, Isuru Wimalasundera isu...@wso2.comwrote: Hi , As I am working in the project Monitoring* *a BPEL process on WSO2 BPS by using WSO2 BAM, I was on finalizing the set of Events that is needed to monitored by BAM. Mainly as identified it is necessary to identify when a BPEL process get invoked and the number of times it got invoked. And also it is necessary to identify how the partner services get invoked, in which occasions does they get invoked and also maybe the number of times each service get invoked. And also just like Milinda mentioned to me it is also necessary to identify when the process get complete and whether it is successfully responded to the client call. ApacheODE provides and interface called MessageExchangeInteceptor which contains four main methoda called ; 1. onBpelServerInvoked() 2. onProcessInvoked() 3. onNewInstanceInvoked() 4. onPartnerInvoked() A test event observer class has been written extending the MessageExchangeInteceptor interface and was able to run and identify what are the events that get triggered against a bpel process which contains several partner services. It was evident to me that the onProcessInvoked() method and onPartnerInvoked() methods are responding well and caught events whenever a bpel process got invoked and each time a partner service got invoked. But the onBpelServerInvoked() and onNewInstanceInvoked() methods were not working and I have informed it to the BPS team. But still the MessageExchangeInteceptor has been able to answer some of the event requiremnets. Today I was trying to retrieve more useful data from the events that get caught by the onProcessInvoked() method and the onPartnerInvoked() method, and found some very important data can be retrieved . But there were some data that couldn't get retrieved as they thrown Null pointer exceptions and couldn't continue running the bpel process. Yes, there are some issues with onBpelServerInvoked and onNewInstanceInvoked methods, but I think, other two methods provide all the data that is required. both the onProcessInvoked() and onPartnerInvoked() methods take MessageExchangeInterceptor.InterceptorEvent object as a parameter (InteceptorEvent is another static interface within the MessageExchangeInteceptor) and can retrieve data from this object under four main methods which are 1. org.apache.ode.bpel.dao.BpelDAOConnection getConnection() 2. org.apache.ode.bpel.dao.ProcessDAO getProcessDAO() 3. org.apache.ode.bpel.iapi.ProcessConf getProcessConf() 4. org.apache.ode.bpel.dao.MessageExchangeDAO() under the onProcessInvoked() method I have successfully been able to retrieve data for method calls such as... System.out.println(onProcessInvoked: + ic.getProcessConf().getProcessId().toString()); (Time: +ic.getMessageExchangeDAO().getCreateTime().toString()); (Type: +ic.getProcessDAO().getType().toString()); (Version: +ic.getProcessDAO().getVersion()); (Process ID: +ic.getProcessDAO().getProcessId().toString()); (Num of Instances: +ic.getProcessDAO().getNumInstances()); (processState : +ic.getProcessConf().getState().toString()); and found throwing Null Pointer Exceptions to data retrival such as //System.out.println(Callee: +ic.getMessageExchangeDAO().getCallee().toString()); (Channel: +ic.getMessageExchangeDAO().getChannel()); (EPR: +ic.getMessageExchangeDAO().getEPR().getBaseURI()); (PartnerLinkModelID: +ic.getMessageExchangeDAO().getPartnerLinkModelId()); (Request data: +ic.getMessageExchangeDAO().getRequest().getData().getNodeValue()); (PartnerLink EPR: +ic.getMessageExchangeDAO().getPartnerLink().getMyEPR().getBaseURI()); Lets look into these and figure out a solution under the onPartnerInvoked() method it had been able to retrieve data from method calls such as given below. System.out.println(onPartnerInvoked: + ic.getProcessConf().getProcessId().toString()); (Time: +ic.getMessageExchangeDAO().getCreateTime().toString()); (PartnerLinkModelID: +ic.getMessageExchangeDAO().getPartnerLinkModelId()); (PartnerLink MySessionId: +ic.getMessageExchangeDAO().getPartnerLink().getMySessionId()); and found throwing Null Pointer Exceptions to data retrival such as //System.out.println(Request data: +ic.getMessageExchangeDAO().getRequest().getData().getNodeValue()); (PartnerLink EPR: +ic.getMessageExchangeDAO().getPartnerLink().getMyEPR().getBaseURI()); (PartnerLink RoleName: +ic.getMessageExchangeDAO().getPartnerLink().getMyRoleName()); getMyRoleName is not available for all the partnerlinks. Thanks, Waruna (PartnerLink RoleServiceName: +ic.getMessageExchangeDAO().getPartnerLink().getMyRoleServiceName().toString()); (PartnerLink PartnerRoleName: +ic.getMessageExchangeDAO().getPartnerLink().getPartnerRoleName() I found some of these failed data can be really useful when monitoring a bpel process and I would like the bps team to take a look on