This discussion is archived
2 Replies Latest reply: Jun 9, 2009 9:53 PM by 843830 RSS

can't invoke WS from BPEL process: Unable to locate activated endpoint

843830 Newbie
Currently Being Moderated
I have a simple Calculator Web Service deployed on Glassfish, that I can access with any kind of SOAP client (e.g. soapUI). I have then created a BPEL process that invokes this external Web Service (which happens to run on the same Glassfish server, but that's largely irrelevant I suppose). I can instantiate and invoke the BPEL process (I've tried it with a dummy assign earlier just to make sure, and it runs successfully), but the BPEL process doesn't seem to be able to locate the external Web Service. I get the following fault:

<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:Fault xmlns:ns2="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns3="http://www.w3.org/2003/05/soap-envelope">
<faultcode>ns2:Server</faultcode>
<faultstring>javax.jbi.messaging.MessagingException: Unable to locate activated endpoint for service connection {SigningCompositeApp}CalculatorService SignedCalculatorService.</faultstring>
<detail>
<ns2:exception class="java.lang.RuntimeException" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" xmlns:ns2="http://jax-ws.dev.java.net/">
<message>javax.jbi.messaging.MessagingException: Unable to locate activated endpoint for service connection {SigningCompositeApp}CalculatorService SignedCalculatorService.</message>
<ns2:stackTrace>
<ns2:frame class="com.sun.xml.ws.server.provider.AsyncProviderInvokerTube$AsyncProviderCallbackImpl" file="AsyncProviderInvokerTube.java" line="114" method="sendError"/>
<ns2:frame class="com.sun.jbi.httpsoapbc.jaxwssupport.AsyncJBIProvider" file="AsyncJBIProvider.java" line="136" method="invoke"/>
<ns2:frame class="com.sun.jbi.httpsoapbc.jaxwssupport.AsyncJBIProvider" file="AsyncJBIProvider.java" line="94" method="invoke"/>
<ns2:frame class="sun.reflect.GeneratedMethodAccessor305" line="unknown" method="invoke"/>
<ns2:frame class="sun.reflect.DelegatingMethodAccessorImpl" file="DelegatingMethodAccessorImpl.java" line="25" method="invoke"/>
<ns2:frame class="java.lang.reflect.Method" file="Method.java" line="597" method="invoke"/>
<ns2:frame class="com.sun.jbi.httpsoapbc.jaxwssupport.InvokerImpl" file="InvokerImpl.java" line="72" method="invoke"/>
<ns2:frame class="com.sun.xml.ws.api.server.Invoker" file="Invoker.java" line="115" method="invokeAsyncProvider"/>
<ns2:frame class="com.sun.xml.ws.server.InvokerTube$2" file="InvokerTube.java" line="166" method="invokeAsyncProvider"/>
<ns2:frame class="com.sun.xml.ws.server.provider.AsyncProviderInvokerTube" file="AsyncProviderInvokerTube.java" line="80" method="processRequest"/>
<ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="595" method="__doRun"/>
<ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="554" method="_doRun"/>
<ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="539" method="doRun"/>
<ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="388" method="run"/>
<ns2:frame class="java.util.concurrent.ThreadPoolExecutor$Worker" file="ThreadPoolExecutor.java" line="885" method="runTask"/>
<ns2:frame class="java.util.concurrent.ThreadPoolExecutor$Worker" file="ThreadPoolExecutor.java" line="907" method="run"/>
<ns2:frame class="java.lang.Thread" file="Thread.java" line="619" method="run"/>
</ns2:stackTrace>
<ns2:cause class="javax.jbi.messaging.MessagingException" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false">
<message>Unable to locate activated endpoint for service connection {SigningCompositeApp}CalculatorService SignedCalculatorService.</message>
<ns2:stackTrace>
<ns2:frame class="com.sun.jbi.messaging.MessageService" file="MessageService.java" line="492" method="addressExchange"/>
<ns2:frame class="com.sun.jbi.messaging.MessageService" file="MessageService.java" line="326" method="doExchange"/>
<ns2:frame class="com.sun.jbi.messaging.DeliveryChannelImpl" file="DeliveryChannelImpl.java" line="209" method="send"/>
<ns2:frame class="com.sun.jbi.httpsoapbc.InboundMessageProcessor" file="InboundMessageProcessor.java" line="268" method="sendInOut"/>
<ns2:frame class="com.sun.jbi.httpsoapbc.InboundMessageProcessor" file="InboundMessageProcessor.java" line="479" method="executeSOAP"/>
<ns2:frame class="com.sun.jbi.httpsoapbc.InboundMessageProcessor" file="InboundMessageProcessor.java" line="215" method="execute"/>
<ns2:frame class="com.sun.jbi.httpsoapbc.jaxwssupport.AsyncJBIProvider" file="AsyncJBIProvider.java" line="134" method="invoke"/>
<ns2:frame class="com.sun.jbi.httpsoapbc.jaxwssupport.AsyncJBIProvider" file="AsyncJBIProvider.java" line="94" method="invoke"/>
<ns2:frame class="sun.reflect.GeneratedMethodAccessor305" line="unknown" method="invoke"/>
<ns2:frame class="sun.reflect.DelegatingMethodAccessorImpl" file="DelegatingMethodAccessorImpl.java" line="25" method="invoke"/>
<ns2:frame class="java.lang.reflect.Method" file="Method.java" line="597" method="invoke"/>
<ns2:frame class="com.sun.jbi.httpsoapbc.jaxwssupport.InvokerImpl" file="InvokerImpl.java" line="72" method="invoke"/>
<ns2:frame class="com.sun.xml.ws.api.server.Invoker" file="Invoker.java" line="115" method="invokeAsyncProvider"/>
<ns2:frame class="com.sun.xml.ws.server.InvokerTube$2" file="InvokerTube.java" line="166" method="invokeAsyncProvider"/>
<ns2:frame class="com.sun.xml.ws.server.provider.AsyncProviderInvokerTube" file="AsyncProviderInvokerTube.java" line="80" method="processRequest"/>
<ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="595" method="__doRun"/>
<ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="554" method="_doRun"/>
<ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="539" method="doRun"/>
<ns2:frame class="com.sun.xml.ws.api.pipe.Fiber" file="Fiber.java" line="388" method="run"/>
<ns2:frame class="java.util.concurrent.ThreadPoolExecutor$Worker" file="ThreadPoolExecutor.java" line="885" method="runTask"/>
<ns2:frame class="java.util.concurrent.ThreadPoolExecutor$Worker" file="ThreadPoolExecutor.java" line="907" method="run"/>
<ns2:frame class="java.lang.Thread" file="Thread.java" line="619" method="run"/>
</ns2:stackTrace>
</ns2:cause>
</ns2:exception>
</detail>
</ns2:Fault>
</S:Body>
</S:Envelope>

For good measure, here's the WSDL (and partner link defn) for the external WS:

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="CalculatorWSExternal" targetNamespace="http://j2ee.netbeans.org/wsdl/CalculatorWSExternal"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://j2ee.netbeans.org/wsdl/CalculatorWSExternal" xmlns:ns="http://calculator.me.org/" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<types>
<xsd:schema targetNamespace="http://j2ee.netbeans.org/wsdl/CalculatorWSExternal">
<xsd:import namespace="http://calculator.me.org/" schemaLocation="CalculatorWSService.xsd"/>
</xsd:schema>
</types>
<message name="addRequest">
<part name="add" element="ns:add"/>
</message>
<message name="addReply">
<part name="addResponse" element="ns:addResponse"/>
</message>
<portType name="CalculatorWSExternalPortType">
<operation name="add">
<input name="input1" message="tns:addRequest"/>
<output name="output1" message="tns:addReply"/>
</operation>
</portType>
<binding name="CalculatorWSExternalBinding" type="tns:CalculatorWSExternalPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="add">
<soap:operation/>
<input name="input1">
<soap:body use="literal"/>
</input>
<output name="output1">
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="CalculatorWSExternalService">
<port name="CalculatorWSExternalPort" binding="tns:CalculatorWSExternalBinding">
<soap:address location="http://localhost:8080/CalculatorApp/CalculatorWSService"/>
</port>
</service>
<plnk:partnerLinkType name="CalculatorWSExternal1">
<!-- A partner link type is automatically generated when a new port type is added. Partner link types are used by BPEL processes.
In a BPEL process, a partner link represents the interaction between the BPEL process and a partner service. Each partner link is associated with a partner link type.
A partner link type characterizes the conversational relationship between two services. The partner link type can have one or two roles.-->
<plnk:role name="CalculatorWSExternalPortTypeRole" portType="tns:CalculatorWSExternalPortType"/>
</plnk:partnerLinkType>
</definitions>

Any help? I've seen someone post a similar problem on the forum at http://forum.java.sun.com/thread.jspa?threadID=5273187&messageID=10157363#10157363
but I haven't seen any answers. Thanks!

Edited by: tboubez on Jun 9, 2008 10:56 AM