This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
I attempted to run test fhw3g3Invoke under faulthandling. In the server.log the following occurs, [#|2006-07-25T10:27:51.262-0700|SEVERE|sun-appserver-pe9.0|com.sun.jbi.component .com.sun.bpelse-1.0-2com.sun.jbi.engine.bpel.EngineChannel|_ThreadID=14;_ThreadN ame=BPELSEInOutThread3;_RequestID=e3a8d24c-b1ee-4a0d-a8a7-59ebec1a0f14;|caught e xception when invoking two way external webservice java.lang.NullPointerException at com.sun.jbi.engine.bpel.EngineChannel.twoWayInvoke(EngineChannel.java :321) Excerpt from developer: From: Prashant Bhagat Sent: Tue 7/25/2006 11:40 AM To: Edward Kimm Cc: Gabriel Badescu; Murali Pottlapelli Subject: RE: Bpel returning fault? Ed, I retested and this time it fails. Can you please file a bug? We have a problem here. BPELSE is not able to do the invoke for this case. From brief observations I see two issues (1st may not be critical), It seems that the related partnerLink is registered multiple times. When EngineChannel tries to locate a service endpoint reference for a given partnerLink, it is not able to do so because the partnerLink object references do not mach. Thanks Prashant
Created attachment 32200 [details] Server.log
Problem: This happens when we have a case which has all of the following 3 characteristics: -multiple business processes with the same namespace, and -each one of them has a partnerLink with an identical name, and -all those partnerLinks are mapped to the same Service+Endpoint in the WSDL In effect, all these three partnerLinks are equivalent. This is now fixed.
this is fixed "how"? What will happen in the scenario described, when multiple similar BPs are deployed? You may re-close after answering this query.
It is valid to deploy multiple business processes that have same outbound partnerLink. Two partnerLinks are said to be identical if: -The namespace of the BPELs in which they are defined is identical -The name of the partnerLinks is identical Such partnerLinks are considered equivalent and they must be bound to the same external endpoint. The user who reported this bug had a service unit which had multiple business processes with such identical partnerLinks. Since this is a valid use case, the tests should have passed. However, an expected was reported. BPEL-SE had a bug which did not support this scenario. Now the bug is fixed to support this scenario.
Can we clarify the scenario some more. Are you saying this was from scenario where there was the following CompAppFoo --- BPELModule1 --- BPELModule2 --- BPELModule3 where all three BPEL modules included the same Partner wsdl, say "googleQuery.wsdl" or something like that? or are you saying all three BPEL moduels had the same service endpoint address for the BPEL process itself? Notice that this is a different case from the one listed above. In this case, we are talking about multiple processes having the same endpoint. I was under the impression that this was not allowed and that attempts to deploy > 1 BPEL process with same endpoint will result in deploy failure due to endpoint conflict. So please clarify whether this bug applied to only of the above scenarios.
This bug is similar to the first case that you described. Let me explain with a variation. It does not matter whether the BPEL files are in different BPELModules or in a single one. Consider that we have CompAppFoo --- BPELModule1 ---process1.bpel ---process2.bpel ---process3.bpel Assume that all these 3 BPELs need to consume the same service endpoint in the googleQuery.wsdl Now assume that process1.bpel, process2.bpel and process3.bpel have the same namespace and all of them declare a partnerLink with the SAME name "googlePL", for example: <partnerLink name="googlePL" partnerLinkType="xyz:bar" partnerRole="provider"> This is a valid scenario with the following restriction: "The partnerLink "googlePL" must be bound to the same service endpoint" The BPEL project mentioned in this bug was defined as mentioned above. The BPEL-SE had a bug whereby a NullPoinerException was being thrown. I have fixed the bug to support this scenario. Now, the other case that you metioned is for the inbound case - that is the business process is "providing" web services. There is special case where more than one business process can be providing the service using the same service endpoint. For such a case the following conditions must be true: 1. The BPELs have a same namespace 2. The BPELs have the same name for the partnerLink which is bound to the service endpoint. Note here since we are talking about providing a web service "myRole" attribute is relevant. 2. Each BPEL implements a different operation from the portType associated with the service endpoint. This particular case is documented on the Alaska wiki http://alaska.stc.com:10000/alaska/Wiki.jsp?page=BPELSE. Scroll towards the bottom and under "Usage" section you will see a link "Implementing multiple operations from a portType (that is, “splitting” up an implementation of a portType) across different bpel files" Let me know if this helps. These three partnerLinks are considered identical. So they mu st be all bound to the same concrete service endpoint, lets say the google web service.