2 Replies Latest reply: Jun 9, 2009 11:53 PM by 843830 RSS

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

    843830
      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