SOA / SOAP - Direct Binding

Hello,
I have already searched and googled for plenty for online resources about the question, although they haven't really made my concepts clear.
I am following this document - Using the Direct Binding Invocation API
Section : 36.1 Introduction to Direct Binding
for clarifications about Direct-Binding.
Objective : Interaction between OSB and SOA Suite Components(BPEL, Mediator).
Question 1: Why would I use a "direct-binding", instead of a "web/soap binding" ? What are the (dis)advantages ?
I am quoting snippets from the aforementioned document, around which I have some doubts.
[Document] A common way to invoke a composite is to use SOAP over HTTP.
[Question.1]  What are other ways of invoking a composite ? I am aware of SOAP over JMS, however, never used it.
[Document]  This is enabled by creating a SOAP service for your composite using web service binding. Direct binding enables Java clients to directly invoke composite services, bypassing the intermediate conversion to XML required with web service binding.
[Question.2]  What I interpret this is : Composite + WebService Binding = SOAP Service of my Composite. I added a "Direct Binding" to the composite and deployed the service. The deployed concrete "directWsdl"  contained 2 auto-generated bindings for SOAP1.1 and SOAP1.2. The Endpoint URL contained "t3" URL. Now the question is, if the aim of direct binding was to avoid to conversion into XML, as with WebService binding, then, why is the deployed directWsdl contains SOAP 1.1 and SOAP1.2 bindings ?
Any pointers to some theoretical books / resources will help !
Thanks !

Direct binding avoids intermediate conversion to XML because an XML Object on client side does not need to be serialized as XML, sent over HTTP(or other transports), deserialized at server and converted to XMLObject again. Client will directly invoke the server side method using RMI and passing the XML object as the input (may be via the direct binding API) this should probably save some processing. But keep in mind that it is not the only reason to use Direct Binding. See the documentation on Direct Binding to identify other benefits or use cases where direct binding may be a good idea.
Oracle SOA Suite Transport (SOA-DIRECT)

Similar Messages

  • SOAP fault propagation for Direct Binding

    Hello.We have following set-up
    Composite A --- OSB -- Composite B
    Composite A exposes HTTP interface (one-way operation) and refers to one-way operation of OSB (over direct binding) which again calls one-way operation of Composite B (again over soa-direct)
    Error in composite B is propagated properly to the OSB. I've tested same also with HTTP proxy on OSB, HTTP 500 returned in case of error in Composite B
    But Composiet A never raises error to the HTTP service. Thus Consumer is getting HTTP 200, regardless downstream error

    try with a non blocking invoke. That will cause a new invoke message to be generated, and a commit of the currently active transaction. So, while the new invoking transaction will be rolled back, a catchable fault will be thrown, and the running tx will commit.
    However, if you are not intending to use a transactional system integration, you could go the soap route as well.
    your call, my 2cents.

  • What are the limitations or disadvantages of SOA Direct Binding

    What are the limitations or disadvantages of SOA Direct Binding.

    When we call SOA service from another SOA service most of the time Local RMI call is used even you are using SOAP over http to invoke the service, this based on your SOA configuration - Refer the following url for more details on Local optimization.
    Albin's Blog: Configuring Local Optimization in Oracle SOA 11g
    SOAP binding will help us to invoke the service exposed with WSDL and accepts XML as request/response.
    HTTP Binding will help us to invoke any services that will accept HTTP GET/POST messages but there is restriction with input/output message type(refer this document for more details Getting Started with Binding Components - 11g Release 1 (11.1.1.7)).
    HTTP binding is light weight and provides better performance.
    I hope this will help you.
    Refer https://forum.java.sun.com/thread/2612466

  • Howto access clustered direct binding Endpoint from OSB - SOA?

    Hello,
    I have one question in a clustered osb / soa envoirement. I a single instance to access a soa endpoint from the osb I use
    t3://serverip:8001/default/myProject/showUserDirectBinding
    what do I have to to if I have a a Cluster?
    I know i the WLS Console I have to add the Cluster Adress serverip1:8001 serverip2:8001
    But what to configure in the OSB Direct Binding?
    t3://serverip1:8001/default/myProject/showUserDirectBinding, t3://serverip2:8001/default/myProject/showUserDirectBinding ?
    Thanks you for you help
    Kind Regards
    Ben

    Hello Anuj,
    thank you for the quick response. I was just updating my post. My expectation is, that there has to be a cluster adress defined. Because when using lot of nodes, like 100+ or attaching new nodes to the cluster, i would be a bad way to always be forced to update the projects and deploy again.
    For setting the cluster adress i have found the documentation :
    http://download.oracle.com/docs/cd/E14571_01/core.1111/e12036/extend_soa.htm#insertedID18
    It is some how missleading. I can enter multiple cluster adresses here, why should I do this? How is this adress propagated to the nodes? And is this port custom? Or is this just a List of the Cluster Nodes, but where would be my cluster adress then?
    A Simpler Question, if I enter to my osb cluster the clusteraddress osbfoobar:1234 would the cluster(osb1:8001, osb2:8001) be accessable through osbfoobar:1234?
    Kind Regards
    Ben

  • Errors in direct binding invocation from BPEL to OSB

    Hi All,
    I have a problem in direct binding invocations between BPEL instances and OSB, this is the detail:
    There is in my composite a BPEL process that includes a catchAll component to manage all the faults resulting in the OSB invoke action and there is a fault policy too configured to manage the retry invocations. If the flow ends successfully there is no problem but if an error happens in the OSB part (time outs, bad address configuration in reference bindings details or something similar) the composite doesn't catch anything and retries aren't executed. The BPEL instance keeps in "running with errors" state from this moment.
    Any help about the management of this situation would be appreciated.
    Thanks,
    The log trace is the next one:
    [component_instance_id: 18440047] Failed to handle dispatch message ... exception ORABPEL-05002[[
    Message handle error.
    error while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the reported exception is: JTA transaction is not in active state.
    The transaction became inactive when executing activity "" for instance "18,440,048", bpel engine can not proceed further without an active transaction. please debug the invoked subsystem on why the transaction is not in active status. the transaction status is "MARKED_ROLLBACK".
    The reason was The execution of this instance "18440048" for process "ErrorBPELProcess1" is supposed to be in an active jta transaction, the current transaction status is "MARKED_ROLLBACK", the underlying exception is "oracle.soa.api.invocation.InvocationException: com.bea.wli.sb.transports.client.SBTransportException: An error occured while un-marshalling the request message: com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
    com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
         at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:163)
         at com.bea.wli.sb.transports.sb.codec.SOAMessageHandler.createResponse(SOAMessageHandler.java:116)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcherBean.invoke(SBDispatcherBean.java:355)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.__WL_invoke(Unknown Source)
         at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.invoke(Unknown Source)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcCodec.unmarshallBody(SoapRpcCodec.java:107)
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapCodec.unmarshall(SoapCodec.java:262)
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcServiceCodec.unmarshall(SoapRpcServiceCodec.java:60)
         at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:155)
         ... 15 more
    Consult the system administrator regarding this error.
    This error contained an exception thrown by the message handler.
    Check the exception trace in the log (with logging level set to debug mode).
    ORABPEL-05002
    Message handle error.
    error while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the reported exception is: JTA transaction is not in active state.
    The transaction became inactive when executing activity "" for instance "18,440,048", bpel engine can not proceed further without an active transaction. please debug the invoked subsystem on why the transaction is not in active status. the transaction status is "MARKED_ROLLBACK".
    The reason was The execution of this instance "18440048" for process "ErrorBPELProcess1" is supposed to be in an active jta transaction, the current transaction status is "MARKED_ROLLBACK", the underlying exception is "oracle.soa.api.invocation.InvocationException: com.bea.wli.sb.transports.client.SBTransportException: An error occured while un-marshalling the request message: com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
    com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
         at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:163)
         at com.bea.wli.sb.transports.sb.codec.SOAMessageHandler.createResponse(SOAMessageHandler.java:116)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcherBean.invoke(SBDispatcherBean.java:355)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.__WL_invoke(Unknown Source)
         at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.invoke(Unknown Source)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcCodec.unmarshallBody(SoapRpcCodec.java:107)
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapCodec.unmarshall(SoapCodec.java:262)
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcServiceCodec.unmarshall(SoapRpcServiceCodec.java:60)
         at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:155)
         ... 15 more
    Consult the system administrator regarding this error.
    This error contained an exception thrown by the message handler.
    Check the exception trace in the log (with logging level set to debug mode).
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:205)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatchTask.java:88)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:64)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
         at com.collaxa.cube.engine.dispatch.Dispatcher$ContextCapturingThreadFactory$2.run(Dispatcher.java:850)
         at java.lang.Thread.run(Thread.java:662)
    And this is the payload from the instance details:
    <messages>
    <input>
    ... input data....
    </input>
    <fault>
    <exception class="com.collaxa.cube.engine.EngineException">
    JTA transaction is not in active state. The transaction became inactive when executing activity "" for instance "18,440,048", bpel engine can not proceed further without an active transaction. please debug the invoked subsystem on why the transaction is not in active status. the transaction status is "MARKED_ROLLBACK". The reason was The execution of this instance "18440048" for process "ErrorBPELProcess1" is supposed to be in an active jta transaction, the current transaction status is "MARKED_ROLLBACK", the underlying exception is "oracle.soa.api.invocation.InvocationException: com.bea.wli.sb.transports.client.SBTransportException: An error occured while un-marshalling the request message: com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:163) at com.bea.wli.sb.transports.sb.codec.SOAMessageHandler.createResponse(SOAMessageHandler.java:116) at com.bea.wli.sb.transports.sb.bean.SBDispatcherBean.invoke(SBDispatcherBean.java:355) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.__WL_invoke(Unknown Source) at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.invoke(Unknown Source) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667) at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518) at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused by: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcCodec.unmarshallBody(SoapRpcCodec.java:107) at com.bea.alsb.ws.codec.internal.runtime.soap.SoapCodec.unmarshall(SoapCodec.java:262) at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcServiceCodec.unmarshall(SoapRpcServiceCodec.java:60) at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:155) ... 15 more " . Consult the system administrator regarding this error.
    <stack>
    <f>com.oracle.bpel.client.util.TransactionUtils.throwExceptionIfTxnNotActive#107</f>
    <f>com.collaxa.cube.ws.WSInvocationManager.invoke#352</f>
    <f>com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke#1070</f>
    <f>com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke#584</f>
    <f>com.collaxa.cube.engine.ext.common.InvokeHandler.handle#132</f>
    <f>com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements#74</f>
    <f>com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform#166</f>
    <f>com.collaxa.cube.engine.CubeEngine.performActivity#2687</f>
    <f>com.collaxa.cube.engine.CubeEngine._handleWorkItem#1190</f>
    <f>com.collaxa.cube.engine.CubeEngine.handleWorkItem#1093</f>
    <f>com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal#76</f>
    <f>com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage#218</f>
    <f>com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory#297</f>
    <f>com.collaxa.cube.engine.CubeEngine.endRequest#4609</f>
    <f>com.collaxa.cube.engine.CubeEngine.endRequest#4540</f>
    <f>com.collaxa.cube.engine.CubeEngine._createAndInvoke#713</f>
    <f>...</f>
    </stack>
    </exception>
    <root class="oracle.fabric.common.FabricInvocationException">
    oracle.soa.api.invocation.InvocationException: com.bea.wli.sb.transports.client.SBTransportException: An error occured while un-marshalling the request message: com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:163) at com.bea.wli.sb.transports.sb.codec.SOAMessageHandler.createResponse(SOAMessageHandler.java:116) at com.bea.wli.sb.transports.sb.bean.SBDispatcherBean.invoke(SBDispatcherBean.java:355) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.__WL_invoke(Unknown Source) at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.invoke(Unknown Source) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667) at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518) at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused by: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcCodec.unmarshallBody(SoapRpcCodec.java:107) at com.bea.alsb.ws.codec.internal.runtime.soap.SoapCodec.unmarshall(SoapCodec.java:262) at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcServiceCodec.unmarshall(SoapRpcServiceCodec.java:60) at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:155) ... 15 more
    <stack>
    <f>oracle.integration.platform.blocks.direct.OutboundMessageDispatcher.request#124</f>
    <f>oracle.integration.platform.blocks.direct.DirectExternalBindingComponent.request#190</f>
    <f>oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest#139</f>
    <f>oracle.integration.platform.blocks.mesh.MessageRouter.request#182</f>
    <f>oracle.integration.platform.blocks.mesh.MeshImpl$2.run#178</f>
    <f>java.security.AccessController.doPrivileged</f>
    <f>javax.security.auth.Subject.doAs#396</f>
    <f>oracle.integration.platform.blocks.mesh.MeshImpl.doRequestAsSubject#176</f>
    <f>oracle.integration.platform.blocks.mesh.MeshImpl.request#151</f>
    <f>sun.reflect.GeneratedMethodAccessor1294.invoke</f>
    <f>sun.reflect.DelegatingMethodAccessorImpl.invoke#25</f>
    <f>java.lang.reflect.Method.invoke#597</f>
    <f>org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection#307</f>
    <f>org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint#182</f>
    <f>org.springframework.aop.framework.ReflectiveMethodInvocation.proceed#149</f>
    <f>oracle.integration.platform.metrics.PhaseEventAspect.invoke#71</f>
    <f>...</f>
    </stack>
    </root>
    </fault>
    </messages>
    Edited by: luismi fernandez on Aug 1, 2012 1:20 AM

    Hi All,
    I have a problem in direct binding invocations between BPEL instances and OSB, this is the detail:
    There is in my composite a BPEL process that includes a catchAll component to manage all the faults resulting in the OSB invoke action and there is a fault policy too configured to manage the retry invocations. If the flow ends successfully there is no problem but if an error happens in the OSB part (time outs, bad address configuration in reference bindings details or something similar) the composite doesn't catch anything and retries aren't executed. The BPEL instance keeps in "running with errors" state from this moment.
    Any help about the management of this situation would be appreciated.
    Thanks,
    The log trace is the next one:
    [component_instance_id: 18440047] Failed to handle dispatch message ... exception ORABPEL-05002[[
    Message handle error.
    error while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the reported exception is: JTA transaction is not in active state.
    The transaction became inactive when executing activity "" for instance "18,440,048", bpel engine can not proceed further without an active transaction. please debug the invoked subsystem on why the transaction is not in active status. the transaction status is "MARKED_ROLLBACK".
    The reason was The execution of this instance "18440048" for process "ErrorBPELProcess1" is supposed to be in an active jta transaction, the current transaction status is "MARKED_ROLLBACK", the underlying exception is "oracle.soa.api.invocation.InvocationException: com.bea.wli.sb.transports.client.SBTransportException: An error occured while un-marshalling the request message: com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
    com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
         at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:163)
         at com.bea.wli.sb.transports.sb.codec.SOAMessageHandler.createResponse(SOAMessageHandler.java:116)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcherBean.invoke(SBDispatcherBean.java:355)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.__WL_invoke(Unknown Source)
         at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.invoke(Unknown Source)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcCodec.unmarshallBody(SoapRpcCodec.java:107)
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapCodec.unmarshall(SoapCodec.java:262)
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcServiceCodec.unmarshall(SoapRpcServiceCodec.java:60)
         at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:155)
         ... 15 more
    Consult the system administrator regarding this error.
    This error contained an exception thrown by the message handler.
    Check the exception trace in the log (with logging level set to debug mode).
    ORABPEL-05002
    Message handle error.
    error while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage"; the reported exception is: JTA transaction is not in active state.
    The transaction became inactive when executing activity "" for instance "18,440,048", bpel engine can not proceed further without an active transaction. please debug the invoked subsystem on why the transaction is not in active status. the transaction status is "MARKED_ROLLBACK".
    The reason was The execution of this instance "18440048" for process "ErrorBPELProcess1" is supposed to be in an active jta transaction, the current transaction status is "MARKED_ROLLBACK", the underlying exception is "oracle.soa.api.invocation.InvocationException: com.bea.wli.sb.transports.client.SBTransportException: An error occured while un-marshalling the request message: com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
    com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
         at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:163)
         at com.bea.wli.sb.transports.sb.codec.SOAMessageHandler.createResponse(SOAMessageHandler.java:116)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcherBean.invoke(SBDispatcherBean.java:355)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.__WL_invoke(Unknown Source)
         at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.invoke(Unknown Source)
         at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
    Caused by: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name).
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcCodec.unmarshallBody(SoapRpcCodec.java:107)
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapCodec.unmarshall(SoapCodec.java:262)
         at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcServiceCodec.unmarshall(SoapRpcServiceCodec.java:60)
         at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:155)
         ... 15 more
    Consult the system administrator regarding this error.
    This error contained an exception thrown by the message handler.
    Check the exception trace in the log (with logging level set to debug mode).
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:205)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.process(BaseDispatchTask.java:88)
         at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:64)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
         at com.collaxa.cube.engine.dispatch.Dispatcher$ContextCapturingThreadFactory$2.run(Dispatcher.java:850)
         at java.lang.Thread.run(Thread.java:662)
    And this is the payload from the instance details:
    <messages>
    <input>
    ... input data....
    </input>
    <fault>
    <exception class="com.collaxa.cube.engine.EngineException">
    JTA transaction is not in active state. The transaction became inactive when executing activity "" for instance "18,440,048", bpel engine can not proceed further without an active transaction. please debug the invoked subsystem on why the transaction is not in active status. the transaction status is "MARKED_ROLLBACK". The reason was The execution of this instance "18440048" for process "ErrorBPELProcess1" is supposed to be in an active jta transaction, the current transaction status is "MARKED_ROLLBACK", the underlying exception is "oracle.soa.api.invocation.InvocationException: com.bea.wli.sb.transports.client.SBTransportException: An error occured while un-marshalling the request message: com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:163) at com.bea.wli.sb.transports.sb.codec.SOAMessageHandler.createResponse(SOAMessageHandler.java:116) at com.bea.wli.sb.transports.sb.bean.SBDispatcherBean.invoke(SBDispatcherBean.java:355) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.__WL_invoke(Unknown Source) at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.invoke(Unknown Source) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667) at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518) at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused by: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcCodec.unmarshallBody(SoapRpcCodec.java:107) at com.bea.alsb.ws.codec.internal.runtime.soap.SoapCodec.unmarshall(SoapCodec.java:262) at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcServiceCodec.unmarshall(SoapRpcServiceCodec.java:60) at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:155) ... 15 more " . Consult the system administrator regarding this error.
    <stack>
    <f>com.oracle.bpel.client.util.TransactionUtils.throwExceptionIfTxnNotActive#107</f>
    <f>com.collaxa.cube.ws.WSInvocationManager.invoke#352</f>
    <f>com.collaxa.cube.engine.ext.common.InvokeHandler.__invoke#1070</f>
    <f>com.collaxa.cube.engine.ext.common.InvokeHandler.handleNormalInvoke#584</f>
    <f>com.collaxa.cube.engine.ext.common.InvokeHandler.handle#132</f>
    <f>com.collaxa.cube.engine.ext.bpel.common.wmp.BPELInvokeWMP.__executeStatements#74</f>
    <f>com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform#166</f>
    <f>com.collaxa.cube.engine.CubeEngine.performActivity#2687</f>
    <f>com.collaxa.cube.engine.CubeEngine._handleWorkItem#1190</f>
    <f>com.collaxa.cube.engine.CubeEngine.handleWorkItem#1093</f>
    <f>com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal#76</f>
    <f>com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage#218</f>
    <f>com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory#297</f>
    <f>com.collaxa.cube.engine.CubeEngine.endRequest#4609</f>
    <f>com.collaxa.cube.engine.CubeEngine.endRequest#4540</f>
    <f>com.collaxa.cube.engine.CubeEngine._createAndInvoke#713</f>
    <f>...</f>
    </stack>
    </exception>
    <root class="oracle.fabric.common.FabricInvocationException">
    oracle.soa.api.invocation.InvocationException: com.bea.wli.sb.transports.client.SBTransportException: An error occured while un-marshalling the request message: com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). com.bea.alsb.ws.codec.CodecException: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:163) at com.bea.wli.sb.transports.sb.codec.SOAMessageHandler.createResponse(SOAMessageHandler.java:116) at com.bea.wli.sb.transports.sb.bean.SBDispatcherBean.invoke(SBDispatcherBean.java:355) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.__WL_invoke(Unknown Source) at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:40) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl.invoke(Unknown Source) at com.bea.wli.sb.transports.sb.bean.SBDispatcher_nwlqik_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:667) at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230) at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:522) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:146) at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:518) at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused by: com.bea.alsb.ws.codec.CodecException: The SOAP envelope is not formatted according to the RPC style. The SOAP Body tag must have one and only one child element (named after the operation name). at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcCodec.unmarshallBody(SoapRpcCodec.java:107) at com.bea.alsb.ws.codec.internal.runtime.soap.SoapCodec.unmarshall(SoapCodec.java:262) at com.bea.alsb.ws.codec.internal.runtime.soap.SoapRpcServiceCodec.unmarshall(SoapRpcServiceCodec.java:60) at com.bea.alsb.soa.codec.SOACodecUtil.unmarshall(SOACodecUtil.java:155) ... 15 more
    <stack>
    <f>oracle.integration.platform.blocks.direct.OutboundMessageDispatcher.request#124</f>
    <f>oracle.integration.platform.blocks.direct.DirectExternalBindingComponent.request#190</f>
    <f>oracle.integration.platform.blocks.mesh.SynchronousMessageHandler.doRequest#139</f>
    <f>oracle.integration.platform.blocks.mesh.MessageRouter.request#182</f>
    <f>oracle.integration.platform.blocks.mesh.MeshImpl$2.run#178</f>
    <f>java.security.AccessController.doPrivileged</f>
    <f>javax.security.auth.Subject.doAs#396</f>
    <f>oracle.integration.platform.blocks.mesh.MeshImpl.doRequestAsSubject#176</f>
    <f>oracle.integration.platform.blocks.mesh.MeshImpl.request#151</f>
    <f>sun.reflect.GeneratedMethodAccessor1294.invoke</f>
    <f>sun.reflect.DelegatingMethodAccessorImpl.invoke#25</f>
    <f>java.lang.reflect.Method.invoke#597</f>
    <f>org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection#307</f>
    <f>org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint#182</f>
    <f>org.springframework.aop.framework.ReflectiveMethodInvocation.proceed#149</f>
    <f>oracle.integration.platform.metrics.PhaseEventAspect.invoke#71</f>
    <f>...</f>
    </stack>
    </root>
    </fault>
    </messages>
    Edited by: luismi fernandez on Aug 1, 2012 1:20 AM

  • Direct binding faults getting FabricInvocationException

    We have two BPEL composites. When one calls the other using SOAP, the caller receives a correct fault, but when I change to direct binding, the fault type is lost and I get a FabricInvocationException instead.
    The called composite returns this fault:
    <FaultVar>
      <part name="fault">
        <PInitWorkflowTransactionFault>
          <nppTxId>
            <nppTransactionId>633919050</nppTransactionId>
            <nppTimestamp>2011/06/13 17:53:14 GMT</nppTimestamp>
            <nppIsRetryFlag>false</nppIsRetryFlag>
          </nppTxId>
          <clientTxId>
            <clientUserId>XYZ</clientUserId>
            <transactionId>100001</transactionId>
            <isRetry>false</isRetry>
          </clientTxId>
          <error>
            <errorClass>1</errorClass>
            <errorCode>10221</errorCode>
            <systemType>WorkflowManager-ProvInit</systemType>
            <errorMessage>Dummy error message</errorMessage>
          </error>
        </PInitWorkflowTransactionFault>
      </part>
    </FaultVar>In the SOAP version, caller sees this, which is correct:
    <bpelFault>
      <faultType>1</faultType>
      <WFMFault>
        <part name="fault">
          <PInitWorkflowTransactionFault>
            <nppTxId>
              <nppTransactionId>633919050</nppTransactionId>
              <nppTimestamp>2011/06/13 17:53:14 GMT</nppTimestamp>
              <nppIsRetryFlag>false</nppIsRetryFlag>
            </nppTxId>
            <clientTxId>
              <clientUserId>XYZ</clientUserId>
              <transactionId>100001</transactionId>
              <isRetry>false</isRetry>
            </clientTxId>
            <error>
              <errorClass>1</errorClass>
              <errorCode>10221</errorCode>
              <systemType>WorkflowManager-ProvInit</systemType>
              <errorMessage>Dummy error message</errorMessage>
            </error>
          </PInitWorkflowTransactionFault>
        </part>
      </WFMFault>
    </bpelFault>When I switch to direct binding, using the following reference in the composite.xml, we see the problem.
    <reference name="ProvInitializeWorkflowService" wsdlLocation="NPPProvInitializingWorkflow.wsdl">
      <interface.wsdl interface="http://www.example.com/network/NPP/ProvInitWF#wsdl.interface(PInitWorkflowPortType)"/>
      <binding.direct address="soadirect:/default/ProvInitializingWorkflow!1.0/initprovisioningpayload_client_ep_direct"
                      connection-factory="oracle.soa.api.JNDIDirectConnectionFactory">
        <property name="java.naming.provider.url" type="xs:string" many="false">t3://localhost:8001/default/ProvInitializingWorkflow!1.0/initprovisioningpayload_client_ep_direct</property>
      </binding.direct>
    </reference>Non-fault replies all work correctly, so we don't have a type mismatch.
    Using direct binding, the caller sees this instead:
    <bpelFault>
      <faultType>0</faultType>
      <remoteFault>
        <part name="summary">
          <summary>oracle.fabric.common.FabricInvocationException: oracle.fabric.common.FabricInvocationException:
                   oracle.soa.api.invocation.FaultException: {http://www.example.com/network/NPP/ProvInitWF}WFMFault</summary>
        </part>
        <part name="detail">
          <detail>{http://www.example.com/network/NPP/ProvInitWF}WFMFault</detail>
        </part>
        <part name="code">
          <code>null</code>
        </part>
      </remoteFault>
    </bpelFault>I would really like to use direct binding, but I can't if faults do not work. Help?!
    Thanks.

    Hello guys,
    did you manage to get a patch for your issue?
    We have the same one here, a FabricInvocationException at the BPEL layer,
    and in the logs
    java.lang.ClassCastException: [B cannot be cast to com.bea.wli.sb.transports.client.SOAMessage
         at com.bea.wli.sb.transports.direct.OSBDirectConnection.invoke(Unknown Source)
         at com.bea.wli.sb.transports.direct.OSBDirectConnection.request(Unknown Source)
    [ I use SOA Suite 11.1.1.5 ]
    thanx
    ydes

  • Using SOAP-JMS binding for business process

    Hi all,
    We are currently designing one business process which consume MQ messages. The MQ message body is SOAP XML. SOAP Headers carry business specific important data section, so we don't want to loose these headers at any cost. The message consumer is the Websphere process choreographer business process, reading message as a JMS message. When we develop the business process, we are planning to use SOAP-JMS binding. But problem with SOAP-JMS binding is: when the MDB reads the message off the message queue, it strips off all the SOAP headers and delivers only the SOAP body. Is there a way to make this behaviour change to keep the SOAP headers? You may suggest to use JMS bindings, but JMS binding will send the message body as WSIF message (as a serialized java object). I'm not sure of how easy it is to marshalling/unmarshalling of this serialised object. My main concern is around, how to identify the "type" of the message while marshalling. Would writing our own MDB solve the problem? Again MDB's sends messages as WSIF messages to the business process EJB's, which I guess I get stumble across the same marshal/unmarshall problem. Hope I made myself clear of what i'm going trying to do. Any advice is highly appreciated.
    Regards,
    Prasad

    Hello Markus,
    I just paste my answer form the other forum entry Re: Business process management strategy in SAP?
    in a nutshell BPM Netweaver is focussing on so called edge-processes (usually
    SOA-based and often workflow related). These edge-processes a thought to enhance exisitng core business processes and should provide the fast competitive edge versus competitors. Examples would be also xApps. For this Netweaver provides process modelling tools, where you can get exectuable code through the integration between CE and PI. The monitoring part for these processes is mainly targeting business end-users and business manager.
    Business Process Monitoring with Solution Manager focusses on core business processes which are realized with the "conventional", "old" SAP Architecture, e.g. Order-to-Cash or Procure-to-Pay. You get a combination of technical monitors (average response times of transactions, background job runtimes, monitors for IDOC or qRFC processing) and application related monitors (you get more than 200 pre-configured application monitors out-of-the-box like number of overdue customer orders or outbound deliveries or number of deliveries with goods issue posted but no invoice). The target group here is the support organization of the customer, from Basis-Support over application support on IT side to process owner on business department side.
    Overview presentations can be found under
    https://service.sap.com/bpm --> Media Library --> Customer Information -->
    "Business Process Monitoring - Part 1 & 2".
    Or look under https://www.sdn.sap.com/irj/sdn/nw-processmonitoring
    In the end BPM Netweaver and BPMon SolMan are complementary for different purposes and different target groups.
    Best Regards
    Volker

  • Error handling for Direct binding

    Hi
    Anybody handled Direct binding exceptions. I have a requirement if the direct binding service is down I have to catch it and do some action. when I have catch or catchAll not catching it. I am getting rollback fault so my bpel waits continuously in running mode. I have a mediator then bpel. mediator times out but bpel is in running mode.
    Thanks
    comp

    try with a non blocking invoke. That will cause a new invoke message to be generated, and a commit of the currently active transaction. So, while the new invoking transaction will be rolled back, a catchable fault will be thrown, and the running tx will commit.
    However, if you are not intending to use a transactional system integration, you could go the soap route as well.
    your call, my 2cents.

  • Timeout for OSB direct binding

    Hi,
    I have a OSB proxy invoking Bpel process using direct binding. whenever there is a unexpected error in Bpel the Proxy is not erroring out immediately and is waiting for 2 min before erroring.
    When we use SOAP binding we can use read timeout to specify the timeout for response.
    How can I do similar stuff using Direct Binding ?
    Any suggestions.
    Thanks
    Sam

    Having the same issue. Did you manage to solve this ?

  • Field values directly binded to backend service are getting cleared.

    Hi,
    In HCM Forms & Process, for ex: in a form the header field values are directly binded to SAP_PA backend service and rest of the fields (dropdown list and free text fields) are getting from custom generic service. Now there is also a pushbutton in my form is used to calculate percentage of a field. Now when the form is displayed by default the header values are getting populated from SAP_PA backend service. When I click the push button with out selecting values(drop down list) getting from generic service all header field values are getting cleared. But if I select any dropdownlist value before selecting pushbutton and then if I click pushbutton all the header fields are retained with values. I am facing this problem for all the forms that I developed. I am looking for valuable answer.
    Regards,
    Nayani .

    So you are or are not using a user event? Sounded like you were which was firing when the user selecpiushed the "button" for calculating fields. Whatever "event" you have tied that button too seems to be your culprit. Are you doing this calculation in Javascript off the button "onClick" even or passing it to a HCM P&F "user event" in the backend? If it is to a HCM P&F "user event", that's where I would make sure your fields are selected.
    From the sounds of it, it seems when you do NOT select a dropdown list value, your generic service is not handling this gracefully and an error occurs. That would cause ALL other services NOT to run. It's an odd thing the framework does and often very frustrating to hunt down, but whenever any service errors, it will not run others.....hence no fields coming back correctly....even if those other services have NOTHING to do with yours (weird, I know).
    Hope this helps.

  • Sample projects on direct binding in osb 10.3.1

    Hi All,
    Can anyone suggest me some sample projects in osb 10.3.1 describing direct binding
    Thanks in Advance!!

    Hi Roshni,
    You can find examples for OSB 10.3.1 here, not sure if there's one for direct binding, but may be useful anyway...
    http://java.net/projects/oracleservicebus1031/downloads?page=1&theme=java.net
    Cheers,
    Vlad

  • Difference between Direct binding ,  Web service Adapter and HTTP Binding

    Can any one help what is the differnce between
    *1) Direct binding*
    *2) Webservice Adapter*
    *3) HTTP Binding*
    I am trying to use the above service adapters as references in BPEL.
    I had invoked a web service hosted in OSB from BPEL via web service adapter and was successful
    On going through few docs came through the other two service adapters but was not able to figure out what exactly is the differnce .
    I learnt +"*Direct binding*"+ can be used to call OSB+ . How does it vary from Webservice Adapter+

    hi Eric ,
    Thanks for clarification ..
    OSB does not generate WSDL and web service adapter in BPEL mandates WSDL .
    I had to create WSDL separately and then feed into Web service adapter in BPEL to call OSB Proxy service. Though successful , felt its not an better approach.
    Please advice is there any way thatWSDL is generated in OSB itself . .if i try to create webservice on Proxy service the wsdl resulted from it has only binding and porty type .
    Is it the same case for ++Direct binding++ .I assume it should not be the case

  • Import Direct Binding Service WSDL in OSB

    I was wondering how to import direct binding service wsdl in OEPL. I tried the below but getting an error. Any help is greatly appreciated.
    File - Import - File System. .... After importing the WSDL, I'm getting an error. So I was not sure if I'm on the right track or not.
    Thanks
    NC

    If you have brought in the whole directory structure then you can simply drag the WSDL into the corrct directory that relates to your imports.
    Then you can delete the unwanted directories using the delete key.
    If you don't want the directory structory to import you need to be conscience every time that you need to uncheck a check box that is checked by default. Can't remember the exact name but basiclly something like import directory structure.
    Once the WSDL in correct folder and still having issues, open up and view the source. Make sure all references are correct for the project directory structure.
    cheers
    James

  • Dynamic Direct Binding reference

    Hi all,
    I've been searching for a way to modify the endpoint (address) of a direct binding reference in running time with no good results. I know that It's possible to use this property
    <bpelx:inputProperty name="endpointURI"
    variable="YaVoyEndPoint"/>
    to override the endpoint in WebService references. Does anyone know the way to do the same with direct binding references?
    Thanks in advance
    Edited by: luismi fernandez on Sep 14, 2012 5:39 AM
    Edited by: luismi fernandez on Sep 17, 2012 11:44 AM

    Hi luismi fernandez,
    Please follow the steps mentioned here:
    http://www.oracle.com/technetwork/articles/carey-090553.html
    Thanks,
    Deepak.

  • Direct Binding Partner Ports

    Hi,
    I have a below requirement.
    Parent orchestration has to poll a table and get the record. In the record there is a column 'MeasureID' with comma seperated values. 
    For each of these measure ID, I execute set of SQL queries (I can execute only one query at a time, CRM's WCF Service)
    So In loop, I am querying DB & passing this result set to another child orchestration to consolidate the records.
    After the loop in parent orchestration, updating the table that all the measureids are processed.
    Currently, I have a orchestration which reads the measure id one by one & executes the query and sending to child orchestration  using Direct Binding partner ports.
    I am using Correlation: BTS.Partnerport. This is my child orchestration.
    It has to create only once instance even if I 've 3measure ids. For 3measureids, I am getting 3files. How can I set the correlation. It has to generate only one file.
    Thanks,
    Lakshmi

    Hi,
    You can create a correlation type and correlation on 'measure
    id' in Parent Orchestration and then initialize the same while persisting the message to MsgBox(at
    send shape). Then you use the same correlation type in the Child Orchestration and initialize a correlation in Child Orchestration.
    So the correlating property will be promoted by Parent Orchestration and the same will be used for subscription
    by Child Orchestration.
    Rachit

Maybe you are looking for

  • Older apps no longer print

    Just noticed this today, no sure why? Older apps no longer print. I knew that these whould no longer work in Lion, but I have not upgraded yet so why did they stop working now? Quicken (2006), no longer can print checks Appleworks I can no longer pri

  • IPhone 4 will not show up in iTunes

    My new iPhone 4G is NOT showing up in iTunes when I plug it into my computer.I've updated my operating system and I have the current edition of iTunes. I just did a software update and now my computer is installing an airport base station update but

  • Reinstallation of Photoshop 10 in my Imac with Mavericks OSX creates error code 213:5

    I reformatted my hard drive and reinstalled all of my software. However when I install Photoshop Elements 10 and attempt to boot the program I get an error message of ,"Error_213:5".  I have read Permission fixes about the PCD folder and applied  "Ap

  • How can I get Launching report directory in report trigger??

    how can I get Launching report directory in report trigger?? pls help me :'< I can run this function in forms. "how can I get Launching report directory in report trigger??" does reports have same function???

  • PSE has trouble displaying .jpg or .psd files

    I just upgraded from PSE ver 5 to PSE ver 8.  For some reason, ver 8 has some trouble displaying some .jpg and .psd files in the editor.  .nef files (raw) are no problem.  Some of the .jpg/.pse files display as a 'broken file" image, or are blurry if