Synchronous BPEL process calling apache soap 2.3.1 service(s) on jboss

I have a problem that is quite frustratiing. I have a very simple synchronous BPEL process and I am trying to invoke some legacy services we have deployed using Apache soap 2.3.1 running on jboss. The process executes, the service executes, but the return value is not received by the BPEL process.
I used obtunnel to capture the data flow and everything seems fine from that perspective. The problem is, if you watch the monitor, the status says active, but the BPEL process returns immediately. It does not wait for the response, so the return value winds up being null. I have tried this numerous times with several services and the result is always the same. This is a serious problem for us. Any suggestions/insight would be very much appreciated.
Ina case there are any doubts as to whether or not it is actually a synchronous process, from the BPEL code:
<!--
Oracle JDeveloper BPEL Designer
Created: Wed Apr 18 13:19:50 EDT 2007
Author: bmurray
Purpose: Synchronous BPEL Process
-->
Below is an example from obtunnel:
==============
Listen Port: 5678
Target Host: pian.wlgore.com
Target Port: 8080
==== Request ====
POST /soap/servlet/rpcrouter HTTP/1.1
Host: pian.wlgore.com:5678
Connection: TE
TE: trailers, deflate, gzip, compress
User-Agent: Oracle HTTPClient Version 10h
SOAPAction: "http://vitalstream.com/webservices/Authenticate"
Accept-Encoding: gzip, x-gzip, compress, x-compress
Content-type: text/xml; charset=UTF-8
Content-length: 829
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<env:Body>
<ns0:Authenticate xmlns:ns0="http://vitalstream.com/webservices">
<strAccount xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar3</strAccount>
<strToken xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar1</strToken>
<strReferrer xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar4</strReferrer>
<strSourceURL xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar</strSourceURL>
<strClientIP xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar2</strClientIP>
</ns0:Authenticate>
</env:Body>
</env:Envelope>==== Response ====
HTTP/1.1 200 OK
X-Powered-By: Servlet 2.4; Tomcat-5.0.28/JBoss-4.0.1sp1 (build: CVSTag=JBoss_4_0_1_SP1 date=200502160314)
Set-Cookie: JSESSIONID=C656EEE6B641F23F02D6E5BE79CD2A4D.ajp13w; Path=/soap
Content-Type: text/xml;charset=utf-8
Content-Length: 480
Date: Wed, 18 Apr 2007 18:34:19 GMT
Server: Apache-Coyote/1.1
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:AuthenticateResponse xmlns:ns1="http://vitalstream.com/webservices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:int">1</return>
</ns1:AuthenticateResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
==============
As you can see, the value is indeed returned from the service, but BPEL indicates a null value for the return:
<messages><Invoke_1_Authenticate_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strSourceURL"><strSourceURL xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar</strSourceURL>
</part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strToken"><strToken xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar1</strToken>
</part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strAccount"><strAccount xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar3</strAccount>
</part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strClientIP"><strClientIP xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar2</strClientIP>
</part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strReferrer"><strReferrer xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar4</strReferrer>
</part></Invoke_1_Authenticate_InputVariable><Invoke_1_Authenticate_OutputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Result">null</part></Invoke_1_Authenticate_OutputVariable></messages>

Did you specify the correct message type for your return variable?
<Invoke_1_Authenticate_OutputVariable>
<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Result">
null
</part>
</Invoke_1_Authenticate_OutputVariable>
As is returns:
<ns1:AuthenticateResponse
xmlns:ns1="http://vitalstream.com/webservices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="xsd:int">1</return>
</ns1:AuthenticateResponse>
Regards,
Marc

Similar Messages

  • Unable to get Fault in reply from Synchronous BPEL Process

    Hi All,
    I am using a synchronous BPEL process which always throws a fault. The structure of this fault message is added to <bpel_process_name>.xsd.
    For WSDL faults I have added the following in .wsdl file:
    </wsdl:message>
    <wsdl:message name="BusinessFault">
    <wsdl:part name="payload" element="client:faultarea"/>
    </wsdl:message>
    <wsdl:portType name="FaultBPELProcess">
    <wsdl:operation name="process">
    <wsdl:input message="client:FaultBPELProcessRequestMessage"/>
    <wsdl:output message="client:FaultBPELProcessResponseMessage"/>
    <wsdl:fault message="client:BusinessFault" name="BusinessFault" />
    </wsdl:operation>
    </wsdl:portType>
    Now when I invoke this BPEL process, the fault is thrown and caught by the catch block at main scope. this catch assigns some values to the fault message and returns it back to the calling party.
    Fault QName is defined in the reply activity of catch block.
    On testing it, the reply never comes back and I can see the following error message in the logs:
    [2011-08-09T09:47:01.001+05:30] [soa_server1] [NOTIFICATION] [] [oracle.wsm.agent.WSMAgent] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [WEBSERVICE_PORT.name: FaultBPELProcess_pt] [APP: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: faultbpelprocess_client_ep] [J2EE_APP.name: soa-infra] Message Type is normalized, exiting agent.processFault()
    [2011-08-09T09:47:01.001+05:30] [soa_server1] [NOTIFICATION] [] [oracle.wsm.agent.WSMAgent] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [WEBSERVICE_PORT.name: FaultBPELProcess_pt] [APP: soa-infra] [J2EE_MODULE.name: fabric] [WEBSERVICE.name: faultbpelprocess_client_ep] [J2EE_APP.name: soa-infra] Message Type is normalized, exiting agent.processFault()
    [2011-08-09T09:47:01.060+05:30] [soa_server1] [ERROR] [OWS-04086] [oracle.webservices.service] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [APP: soa-infra] javax.xml.rpc.soap.SOAPFaultException[[
    at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.generateSoapFaultException(WebServiceEntryBindingComponent.java:1094)
    at oracle.integration.platform.blocks.soap.WebServiceEntryBindingComponent.processIncomingMessage(WebServiceEntryBindingComponent.java:887)
    at oracle.integration.platform.blocks.soap.FabricProvider.processMessage(FabricProvider.java:113)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1187)
    at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:1081)
    at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:581)
    at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:232)
    at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:192)
    at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:459)
    at oracle.integration.platform.blocks.soap.FabricProviderServlet.doPost(FabricProviderServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
    at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
    at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
    at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
    [2011-08-09T09:47:01.061+05:30] [soa_server1] [ERROR] [OWS-04115] [oracle.webservices.service] [tid: [ACTIVE].ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: 11d1def534ea1be0:53ccedc:131a8598fc1:-8000-0000000000000ed1,0:3] [APP: soa-infra] An error occurred for port: FabricProvider: javax.xml.rpc.soap.SOAPFaultException.
    If I try to invoke the endpoint uri, it gets invoked and returns the response.
    Any pointers will be appreciated!!

    I tried the same scenario which you told and it's working for me...I'll paste the contents for your reference...
    BPELProcess.bpel
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <!--
    -->
    <process name="BPELProcess1"
    targetNamespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:client="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="bpelprocess1_client" partnerLinkType="client:BPELProcess1" myRole="BPELProcess1Provider"/>
    </partnerLinks>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <variable name="inputVariable" messageType="client:BPELProcess1RequestMessage"/>
    <!-- Reference to the message that will be returned to the requester-->
    <variable name="outputVariable" messageType="client:BPELProcess1ResponseMessage"/>
    <variable name="FaultVar_2" messageType="client:BusinessFault"/>
    <variable name="FaultVar" messageType="client:BusinessFault"/>
    </variables>
    <faultHandlers>
    <catch faultName="client:BusinessFault" faultVariable="FaultVar">
    <reply name="Reply_1" variable="FaultVar"
    partnerLink="bpelprocess1_client" portType="client:BPELProcess1"
    operation="process" faultName="client:BusinessFault"/>
    </catch>
    </faultHandlers>
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in BPELProcess1.wsdl) -->
    <receive name="receiveInput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="inputVariable" createInstance="yes"/>
    <!-- Generate reply to synchronous request -->
    <assign name="Assign_1">
    <copy>
    <from expression="'A business fault occured'"/>
    <to variable="FaultVar_2" part="payload"
    query="/client:processResponse/client:result"/>
    </copy>
    </assign>
    <throw name="Throw_1" faultName="client:BusinessFault"
    faultVariable="FaultVar_2"/>
    <reply name="replyOutput" partnerLink="bpelprocess1_client" portType="client:BPELProcess1" operation="process" variable="outputVariable"/>
    </sequence>
    </process>
    BPELProcess1.wsdl
    <?xml version= '1.0' encoding= 'UTF-8' ?>
    <wsdl:definitions
    name="BPELProcess1"
    targetNamespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns:ns1="http://schemas.oracle.com/bpel/extension"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:client="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    >
    <plnk:partnerLinkType name="BPELProcess1">
    <plnk:role name="BPELProcess1Provider">
    <plnk:portType name="client:BPELProcess1"/>
    </plnk:role>
    </plnk:partnerLinkType>
    <wsdl:import namespace="http://schemas.oracle.com/bpel/extension" location="RuntimeFault.wsdl"/>
    <wsdl:types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/Test_jws/TestSync/BPELProcess1" schemaLocation="xsd/BPELProcess1.xsd"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="BPELProcess1RequestMessage">
    <wsdl:part name="payload" element="client:process"/>
    </wsdl:message>
    <wsdl:message name="BPELProcess1ResponseMessage">
    <wsdl:part name="payload" element="client:processResponse"/>
    </wsdl:message>
    <wsdl:message name="BusinessFault">
    <wsdl:part name="payload" element="client:processResponse"/>
    </wsdl:message>
    <wsdl:portType name="BPELProcess1">
    <wsdl:operation name="process">
    <wsdl:input message="client:BPELProcess1RequestMessage"/>
    <wsdl:output message="client:BPELProcess1ResponseMessage"/>
    <wsdl:fault message="client:BusinessFault" name="BusinessFault" />
    </wsdl:operation>
    </wsdl:portType>
    </wsdl:definitions>
    Hope that helps you...
    Thanks,
    N

  • Unable execute a BPEL process calling esb db outbound service

    getting the following error while invoking an esb db service from a synchronous bpel process
    <Faulthttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>env:Server</faultcode>
    <faultstring>com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 3f3d2d8955322f32:-40315b29:10d588f5253:-7fd3. Please check the process instance for detail.</faultstring>
    </Fault>
    Please help.
    Thanx
    AJ

    thanx for your reply Dave,
    When I get this error, nothing shows up in the instance screen.
    Also, I had to configure the partner link using the wsdl provided in definitions tab in the esb console (since the service explorer in jdev throws an exception: service not found". So, i did cut and paste only and it parsed perfectly. i am using the concrete url available in the definitions tab in esb console.
    And what wud u mean by esb rt endpoint?
    Where can I find the wsil browser in bpel
    I am still tryig to figure out the cause of the problem here.
    I tried the following today:
    - created a new esb project
    - created a new esb system
    - created a db adaptor service with a simple select from a db table (The db table has only one record and one column)
    - created a routing service for the same, with no routing rules or transformations
    - registered the same with the esb server
    - created a new synchronous bpel process
    - created a partner link (using concrete wsdl available in the definitions tab in esb control)
    - assigned the input and output variable to the partner link.
    - deployed the bpel process
    - initiated a new instance of the same from the bpel console
    - received the following error "<Faulthttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>env:Server</faultcode>
    <faultstring>com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is 3f3d2d8955322f32:3ac11df3:10d5df12505:-7fb6. Please check the process instance for detail.</faultstring>
    </Fault>"
    - in the bpel console flow of the instance found the following error stack
    "<bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>exception on JaxRpc invoke:
    start fault message:
    oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system. The exception reported is: "oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system. The exception reported is: "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
         at java.util.Vector.get(Vector.java:710)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.readResponseHeader(Unknown Source)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(Unknown Source)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(Unknown Source)
         at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(Unknown Source)
         at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source)
         at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(Unknown Source)
         at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(Unknown Source)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(Unknown Source)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:869)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:460)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(Unknown Source)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(Unknown Source)
         at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(Unknown Source)
         at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source)
         at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(Unknown Source)
         at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(Unknown Source)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(Unknown Source)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:869)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:460)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:302)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:190)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
         at java.util.Vector.get(Vector.java:710)
         at oracle.tip.esb.server.common.wsif.WSIFInvoker.readResponseHeader(Unknown Source)
         ... 34 more
    :end fault message</summary>
    </part></bindingFault>"
    - the instance was visible in esb console too and the following error message was present
    "An unhandled exception has been thrown in the ESB system. The exception reported is: "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0 at java.util.Vector.get(Vector.java:710) at oracle.tip.esb.server.common.wsif.WSIFInvoker.readResponseHeader(Unknown Source) at oracle.tip.esb.server.common.wsif.WSIFInvoker.executeOperation(Unknown Source) at oracle.tip.esb.server.common.wsif.WSIFInvoker.nextService(Unknown Source) at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.nextService(Unknown Source) at oracle.tip.esb.server.service.impl.outadapter.OutboundAdapterService.processBusinessEvent(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source) at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source) at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(Unknown Source) at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(Unknown Source) at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(Unknown Source) at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(Unknown Source) at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source) at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source) at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(Unknown Source) at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(Unknown Source) at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:869) at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349) at oracle"
    apologies for the long msg, but i just wanted you to give the whole picture in one shot. I am really struggling to figure this out.
    thanx
    AJ
    Message was edited by:
    jashutosh
    Message was edited by:
    jashutosh

  • When to use Synchronous BPEL process.....??

    I know the difference between Asynchronous and Synchronous BPEL process... BUt can any body tell me exactly when to use synchronous BPLE process... it will be great if anybody can give me some example..??

    If caller needs to receive output from processing immediately then use sync.
    For instance give me get customer details and display immediately on screen
    If processing is taking longer time more than fewl seconds use async
    Example:
    Submit order for processing

  • Transaction Error In Synchronous BPEL Process

    Hi All,
    The Bpel Component makes a synchronous call to webservice , at few occurences response from
    webservice delays to 50 secs .
    The default time out of Synchronous Bpel Process is 45 secs, so when response from webservice takes more than 45 secs, the expected behaviour of BPEL
    component should get faulted and control should go to catch all block
    Issue
    But instead, the Invoke activity in BPEL component gets rolled back, and control did not go to catch all block and complete instance goes into running state.
    And after 50 secs, once webservice response back , a new instances gets automitically created .
    Can anyone, Please help me to resolve the issue, i do not want the instances to go into running state .

    What I would do is, have the timeout settings as follows.
    syncMaxWaitTime < EJB Timeout < JTA timeout
    Then, as Vijay pointed in "http://technology.amis.nl/2011/11/18/timeouts-in-oracle-soa-suite-11g/" link, you should add the httpConnTimeout property and httpReadTimeout property to be set less than syncMaxWaitTimeout, so that those timeout will kick in before the syncMaxWaitTime and throw the exception and you can catch it in the catchall block.
    HTH.
    Hruthayah

  • Repeat executed of  synchronous bpel process

    Repeat call in synchronous bpel process
    The BPEL PM Server Version is as follows:
         Oracle BPEL Server 版本 10.1.3.1.0
    构建: 0
    构建时间: Mon Oct 09 08:44:49 PDT 2006
    构建类型: release
    源标记: PCBPEL_10.1.3.1.0_GENERIC_061009.0802
    When I run a synchronous bpel process which may run about 4 hours,the process was executed twice .
    But when I design this process using asynchronous method, it does not happen.
    Does anyone encounter this case and how it was resolved?
    Or this is a bug of Oracle BPEL Server ?
    Thanks for your answer.
    Jiucai.
    null

    HI
    Please describe your issue clearly and also the opmn log error trace here !

  • Reply component on synchronous BPEL process in Oracle SOA

    if there any possibility for returning the result to the client in the middle of a synchronous BPEL process?
    I put the reply component in the middle of BPEL process, but the client still will wait for the whole process completed. I am wondering how the reply mechanism works in BPEL for synchronous.

    Hi,
    You should build your process in a way that the reply activity should be in the end.
    Meaning, add the relevant activities - scopes, catch (fault handling - system & business), switch etc...
    If, from some reason, you don't want to continue with the process,at any stage then go to the end.
    Arik

  • Asynchronous BPEL Process called from an empty BPEL process getting lost.

    Hi
    I have an empty BPEL process calling an asynchronous BPEL process. The empty process is triggered by a read file activity. It finishes successfully and even calls the asynchronous process. There is no error thrown but the called asynchronous process does not show up in the dashboard.
    When this asynchronous process is manually run from the console I get the page stating 'Cannot find the specified instance'.
    I am using Jdev 10.1.3.2 and SOA Suit 10.1.3.1.
    Any suggestion as to why this is happening and what is the remedy?
    Buddhadev.

    Check your log as soon as you find that the parent process has found its way into the console. More information on logging can be found here - http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/logging.htm
    Not quite sure why its so, but since 10.1.3, I've observed that the console simply doesn't show errored processes at times. So, checking the log can be a starting point in diagnosing the real issue.
    HTH
    Antony

  • BUSINESS RULES WITH SYNCHRONOUS BPEL PROCESS

    Hi
    I want to know whether i can use Business Rules with Synchronous BPEL process. Actually i developed an example synchronous BPEL process but while invoking decision service it generated an error stating RECEIVE TIMEOUT fault. But when i created identical process in ASYNCHRONOUS mode it went through without any error.
    Thanks and Regards
    Vishnu

    Just in case, here is some documentation about changing the syncMaxWaitTime
    http://download-east.oracle.com/docs/cd/B31017_01/integrate.1013/b28980/bpel_install.htm
    Jan Kettenis

  • Synchronous BPEL processes and dehydration

    Hi all,
    I am confused about dehydration behaviour of synchronous BPEL processes.
    The BPEL Developer's Guide says:
    "Dehydration enables the states of long-running processes to be automatically maintained in a database and correlation of asynchronous messages"
    IMHO this means that dehydration is applied to asynchronous BPEL processes only - not to synchronous processes.
    On the other hand I found a forum entry Re: dehydration ? saying the following:
    "Dehydration can optionally be disabled for synchronous flows"
    which means that by default synchronous processes will be dehydrated(?).
    Can anyone clarify the dehydration behaviour and configuration of synchronous BPEL processes?
    Thanks in advance
    Ingo

    Hi Ingo,
    The BPEL Developer's Guide says:
    "Dehydration enables the states of long-running processes to be automatically maintained in a database and correlation of asynchronous messages"
    This is true, as well as adding a checkpoint() in the Java Embedding Activity will force hydration.
    Cheers
    Pucha Anirudh

  • Fault error framework for synchronous Bpel process

    Hi all,
    Do fault policies work for synchronous Bpel processes? I am using a synchronous bpel process which invokes JMS service. I have used fault policies and bindings for this , when the instance fails due to binding fault the instance gets timed out and it neither goes to catch block nor fault policies.Is it normal behaviour or am i doing wrong anywhere. please help
    Regards
    Raju.

    Hello Raju,
    yes fault policies absolutely work for sync Bpel processes, please check if you have defined the Binding fault in your fault policy and also in your bindings.
    if you have defined them in your policies then the control will jump to the policies first do the respective action defined.
    so do check again...
    Good luck..
    vny.

  • Fault framework for synchronous Bpel process

    Hi all,
    Do fault policies work for Synchronous Bpel process?  I have  created a Synchronous Bpel process which invokes a JMS service. In this case if the process errors out due to binding fault, my instance is getting timed out and it's neither going to fault policies nor CatchAll block. Is  it normal behaviour oris it  happening only in this case? please help.
    Regards
    Raju

    Hello Raju,
    yes fault policies absolutely work for sync Bpel processes, please check if you have defined the Binding fault in your fault policy and also in your bindings.
    if you have defined them in your policies then the control will jump to the policies first do the respective action defined.
    so do check again...
    Good luck..
    vny.

  • Problem calling BPEL process using apache axis client

    We have a BPEL process which we are trying to call from apache axis client. The problem is when we execute "call.invoke(new Object[] { xmlStr }) ", it adds an "argo" element to the message, and the xpath is unable to evaluate the message.
    We are able to call the process fron .Net and VB 6 using soap toolkit without any problem, so it seems odd we are not able to do so from apache axis.
    Here is how it should be received by the BPEL process:
    <inputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <Request xmlns="http://e1.oracle.com/IAM">
                   <MessageHeader>
                        <Operation>update</Operation>
                   </MessageHeader>
                   <MessageDetail xmlns="">
                        <szSecondaryUoM_UOM2/>
                   </MessageDetail>
              </Request>
         </part>
    </inputVariable>
    But this is the way it is received having been sent from apache axis (notice the arg0 element) :
    <inputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <arg0 xsi:type="xsd:string" xmlns="http://xmlns.oracle.com/InventoryAdjustment" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                   <Request xmlns="http://e1.oracle.com/IAM">
                        <MessageHeader>
                             <Operation>update</Operation>
                        </MessageHeader>
                        <MessageDetail xmlns="">
                             <szSecondaryUoM_UOM2/>
                        </MessageDetail>
                   </Request>
              </arg0>
         </part>
    </inputVariable>
    Any insight as to how to approach this would be appreciated. The WSDL and java code follow.
    WSDL:
    <?xml version="1.0" encoding="UTF8" ?>
    <definitions name="InventoryAdjustment" targetNamespace="http://xmlns.oracle.com/InventoryAdjustment" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://xmlns.oracle.com/InventoryAdjustment" xmlns:ns1="http://e1.oracle.com/IAM" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partnerlink/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://schemas.oracle.com/bpel/extension" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:client="http://xmlns.oracle.com/InventoryAdjustment">
    <types>
    <schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://xmlns.oracle.com/InventoryAdjustment" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://e1.oracle.com/IAM" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partnerlink/" xmlns:client="http://xmlns.oracle.com/InventoryAdjustment" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://schemas.oracle.com/bpel/extension">
    <element name="InventoryAdjustmentProcessRequest">
    <complexType>
    <sequence>
    <element name="input" type="string" />
    </sequence>
    </complexType>
    </element>
    <element name="InventoryAdjustmentProcessResponse">
    <complexType>
    <sequence>
    <element name="result" type="string" />
    </sequence>
    </complexType>
    </element>
    </schema>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://e1.oracle.com/IAM" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partnerlink/" xmlns:client="http://xmlns.oracle.com/InventoryAdjustment" xmlns:ns2="http://schemas.oracle.com/bpel/extension">
    <xsd:import namespace="http://e1.oracle.com/IAM" schemaLocation="http://tigger:7777/orabpel/xmllib/InventoryAdjustmentRequest.xsd" />
    </xsd:schema>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://e1.oracle.com/IAM" xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partnerlink/" xmlns:client="http://xmlns.oracle.com/InventoryAdjustment" xmlns:ns2="http://schemas.oracle.com/bpel/extension">
    <xsd:import namespace="http://e1.oracle.com/IAM" schemaLocation="http://tigger:7777/orabpel/xmllib/InventoryAdjustmentResponse.xsd" />
    </xsd:schema>
    </types>
    <message name="InventoryAdjustmentRequestMessage">
    <part name="payload" element="ns1:Request" />
    </message>
    <message name="InventoryAdjustmentResponseMessage">
    <part name="payload" element="ns1:Response" />
    </message>
    <portType name="InventoryAdjustment">
    <operation name="process">
    <input message="tns:InventoryAdjustmentRequestMessage" />
    <output message="tns:InventoryAdjustmentResponseMessage" />
    </operation>
    </portType>
    <binding name="InventoryAdjustmentBinding" type="tns:InventoryAdjustment">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="process">
    <soap:operation style="document" soapAction="process" />
    <input>
    <soap:body use="literal" />
    </input>
    <output>
    <soap:body use="literal" />
    </output>
    </operation>
    </binding>
    <service name="InventoryAdjustment">
    <port name="InventoryAdjustmentPort" binding="tns:InventoryAdjustmentBinding">
    <soap:address location="http://tigger:7777/orabpel/default/InventoryAdjustment/1.0" />
    </port>
    </service>
    <plnk:partnerLinkType name="InventoryAdjustment">
    <plnk:role name="InventoryAdjustmentProvider">
    <plnk:portType name="tns:InventoryAdjustment" />
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    java code:
    import javax.xml.namespace.QName;
    import javax.xml.rpc.JAXRPCException;
    import javax.xml.rpc.ParameterMode;
    import javax.xml.rpc.Service;
    import javax.xml.rpc.ServiceException;
    import javax.xml.rpc.ServiceFactory;
    import javax.xml.rpc.encoding.XMLType;
    import javax.xml.rpc.soap.SOAPFaultException;
    import org.apache.axis.client.Call;
    public class PostMessageClient {
         private static QName SERVICE_NAME;
         private static QName PORT_TYPE;
         private static QName OPERATION_NAME;
         private static String SOAP_ACTION;
         private static String STYLE;
         private static String THIS_NAMESPACE = "http://xmlns.oracle.com/InventoryAdjustment";
         static {
              SERVICE_NAME = new QName(THIS_NAMESPACE, "InventoryAdjustment");
              PORT_TYPE = new QName(THIS_NAMESPACE, "InventoryAdjustmentPort");
              OPERATION_NAME = new QName(THIS_NAMESPACE, "process");
              SOAP_ACTION = "process";
              STYLE = "message";
         public static void main(String[] args) {
                   try {
                        ServiceFactory serviceFactory = ServiceFactory.newInstance();
                        Service service = serviceFactory.createService(SERVICE_NAME);
                        Call call = (Call) service.createCall(PORT_TYPE);
                        call
                                  .setTargetEndpointAddress("http://tigger:7777/orabpel/default/InventoryAdjustment/1.0");
                        call.setProperty(Call.SOAPACTION_USE_PROPERTY, Boolean.TRUE);
                        call.setProperty(Call.SOAPACTION_URI_PROPERTY, SOAP_ACTION);
                        call.setProperty(Call.OPERATION_STYLE_PROPERTY, STYLE);
                        call.setOperationName(OPERATION_NAME);
                        String xmlStr = "<Request xmlns=\"http://e1.oracle.com/IAM\"><MessageHeader><Operation>update</Operation></MessageHeader><MessageDetail xmlns=\"\"><szSecondaryUoM_UOM2/></MessageDetail></Request>";
                        System.out.println("PostMessageClient - calling");
                        String ret = (String) call.invoke(new Object[] { xmlStr });
                        System.out.println("ret = " + ret);
                   } catch (SOAPFaultException e) {
                        System.err.println("Generated fault: ");
                        System.out.println(" Fault Code = " + e.getFaultCode());
                        System.out.println(" Fault String = " + e.getFaultString());
                   } catch (JAXRPCException e) {
                        System.err.println("JAXRPC Exception: " + e.getMessage());
                   } catch (ServiceException e) {
                        System.err.println("Service Exception: " + e.getMessage());
                   } catch (Exception e) {
                        System.err.println("Service Exception: " + e.getMessage());
    }

    Just a tip: Use a tool as SoapUI to findout the correct SOAP request and related attributes for the SOAP request.
    Marc
    http://orasoa.blogspot.com

  • Clarification needed in calling synchronous bpel process from plsql

    Hello all,
    I am trying to a bpel from the plsql function as given in the folowing link:
    http://orasoa.blogspot.com/2006/10/calling-bpel-process-from-raw-plsql.html
    I have a doubt that, what is: p_DefaultDetail ?
    and what is XMLTRANSFORM method here is used for?
    I am getting an error that XMLTRANSFORM is not detected.
    can any one provide some pointers to get it resolved.
    Thanks
    Krrish

    If you install the database you also have the option to install optional components. One of these is the xmldb (or some support for it in the database , dunno how to call it).
    So i guess you need to install this extra component and you're there (assuming Marc his reply on the question where to find the xmltransform function is correct :))

  • Synch BPEL Process calling PeopleSoft CI Web Service

    Hello....I am trying to create a simple BPEL Process which invokes a PeopleSoft Component Interface Web Service that I created in PeopleSoft 8.9 and when I execute the BPEL Process, the following binding fault is thrown:
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">The request string ( Envelope ) is not properly formed. (158,16005) PT_INTEGRATION.CIDefinition.OnExecute Name:getFunctionAndCiName PCPC:3128 Statement:60 Called from:PT_INTEGRATION.CIDefinition.OnExecute Name:OnEvent
    Has anyone attempted a similar task and if so, have you received this fault?
    Thanks!

    Hi,
    Write a simple java class and right click and use create j2ee web service option run the wizard accepting the default's....after that under the resources folder in Jdev u find a .deploy file deploy on the application server...get the wsdl and consume it in the BPEL process.

Maybe you are looking for

  • Is anonymous imessaging possible?

    about a month ago my boyfriend was sent an "anonymous" iMessage from an unknown number and on the messages screen the contact "name" was Unknown Error. I have looked all over the Internet and I could not find anything anout anonymous imessaging, only

  • VAT Error in Billing

    We recently began using PeopleSoft's VAT functionality in a few countries. However, we now have an issue where when we go to "-->Billing-->Maintain Bills-->Standard Billing", and when we click to "Add New Value", if we select one of the business unit

  • WRT54GS v.6 and Axim wireless connection

    Have been battling this with 2 different routers. First was a WRT54G and now the WRT54GS. When I connect wirelessly with my Dell Axim x51v the connection only lasts about 1 minute then degrades down to nothing, but still shows connected. I have lates

  • How to save RAW edits as 16-bit TIFF? Can't find in Aperture, easy on iPhoto

    In iPhoto there is "advanced preferences" options to save RAW edits as 16-bit TIFF. Where is this option in Aperture?

  • How to disable alarms when iCal is off

    Hi all, I might be missing something here, but I believe there used to be two settings to turn off alarms in 10.4 and 10.5: 1) disable all alarms 2) disable alarms when iCal is off Did option 2) disappear in 10.6? I am really missing this feature. Th