WS Addressing in OSB

I am trying to explore WS Addressing service in OSB. I am getting null value in :
          $header/wsa05:MessageID/text()
          $header/wsa05:ReplyTo/wsa05:Address/text()
I guess I have missed something somewhere. Please give some idea how to resolve this. I was following the link : biemond.blogspot.in/2011/02/building-asynchronous-web-service-with_27.html

WS-Addressing is supported only in conjunction with WSRM transport in OSB. The link given by Anuj is for WSRM transport and if you can see there is link pointing to WS-Addressing specification submitted in August 2004. For more information, see Web Services Addressing (WS-Addressing) at http://www.w3.org/Submission/ws-addressing/.
Apart from this there is no documentation specific for WS-Addressing as no other transport supports.
Manoj
Edited by: Manoj Neelapu on Aug 27, 2010 8:26 AM

Similar Messages

  • WS-Addressing in OSB 10gR3

    Has anyone used WS-Addressing as the Operation Selection Algorithm while configuring Proxy Services in OSB 10gR3?
    I have a simple use-case -
    Proxy Service (WSDL Based) ---> Business Service (WSDL Based)
    During Operation Selection Configuring for the Proxy Service (WSDL Based), I am selecting WS-Addressing as the Selection Algorithm. Giving the value for operation name in the Operation Mapping and passing the same value in the SOAP:Header as <wsa:Action>value</wsa:action>.
    Do I have to use any other configuration/settings?
    Thanks for any help/pointers in advance.
    -J

    I did this by configuring a javax.xml.rpc.handler.Handler on the web service client stub. The handler overrides handleRequest() and adds the Address element to the header of the SOAP envelope.

  • WS addressing inside OSB Message Flow

    Hi There,
    We are trying to work with the ws-addressing structure inside the Message Flow of a Proxy Service, but i don't know how to define in the wsdl to see the structure of the ws-addresing in the Header, i need to see it to obtain some values in the "Assign" task of a Message Flow.
    Can you help me in this issue?
    Regards
    Yuri

    ws-addressing is supported in conjunction with WS transport.You should attach a required policy
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.html
    Manoj

  • WS-ReliableMessaging using OSB WS protocol

    Hi All,
    We have a requirement to implement WSRM in OSB.
    Our invocation pattern is
    BPEL(Async)=> OSB(ASync)=>External APP(Sync)
    We have chosen WS protocol and WSRM policies for both proxy and business services.
    What I obseved is BS is sending WSRM payload to target application which is unwanted.
    Obviously target application doesn't understand WSRM payload.BS has to discard this handshaking command and send ack to PS WSRM layer.
    Anybody has worked on this WSRM in OSB?
    BS is sending below payload to target application
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    <wsa:To xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://soa.part.com:7201/soa-infra/services/default/Order/orderimport_client_ep</wsa:To>
    <wsa:FaultTo xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
    </wsa:FaultTo>
    <wsa:MessageID xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">uuid:AdminServer:72c210997f83a732:-3e03b3bf:134156f2f57:-64e8</wsa:MessageID>
    <wsa:Action xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</wsa:Action>
    <wsa:ReplyTo xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
    <wsa:Address>http://osb.part.com:7101/alsb/ws/_async/AsyncResponseService</wsa:Address>
    <wsa:ReferenceParameters xmlns:serviceidentity="http://www.bea.com/ServiceIdentity"><serviceidentity:ServiceIdentity xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility" xmlns:serviceidentity="http://www.bea.com/ServiceIdentity">
    <serviceidentity:ServerName>AdminServer</serviceidentity:ServerName>
    <serviceidentity:ServiceName>weblogic.wsee.conversation.msg.cluster.service</serviceidentity:ServiceName>
    </serviceidentity:ServiceIdentity>
    </wsa:ReferenceParameters>
    </wsa:ReplyTo>
    </env:Header>
    *<env:Body xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm">*
    *<wsrm:CreateSequence>*
    *<wsrm:AcksTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm"><wsa:Address>http://osb.part.com:7101/alsb/ws/_async/AsyncResponseService</wsa:Address>*
    *<wsa:ReferenceParameters xmlns:serviceidentity="http://www.bea.com/ServiceIdentity">*
    *<serviceidentity:ServiceIdentity xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility">*
    *<serviceidentity:ServerName>AdminServer</serviceidentity:ServerName>*
    *<serviceidentity:ServiceName>weblogic.wsee.conversation.msg.cluster.service</serviceidentity:ServiceName>*
    *</serviceidentity:ServiceIdentity></wsa:ReferenceParameters></wsrm:AcksTo>*
    *</wsrm:CreateSequence>*
    *</env:Body>*
    </env:Envelope>
    Regards,
    Praveen
    Edited by: Venkat K.V on Dec 20, 2011 4:10 AM

    The 8.1 version of reliable messaging does not conform to the WS-ReliableMessaging specification, as that specification was not available at the time of 8.1 development. The next major release of WLS will contain a full WS-ReliableMessaging implementation.

  • AQ Adapter Dynamic Routing

    Hi
    I have posted this query in AQ forum,am posting this again in adapters forum hoping to get some solution for the below issue.
    I am using AQ Adapter to configure my OSB Buisness services to enqueue/Dequeue messages to my AQ queues.
    My requirement is to post messages to different Aq queues at runtime without having to reconfigure adapter everytime.
    For eg: My Multi consumer table name: Publisher_Table
    queues in my Publisher_Table: 1.Pub1
    2.Pub 2
    3.Pub 3 and so on
    I need to post messages on pub1,pub2 etc...however while configuring the AQ adapter in jdev for enqueue opertaion i had to hardcode my queue name to Pub1(One among multiple queues created).
    My query is whether i can have this queuename as a variable,so that at runtime i can change the target, instead of having to configure multiple aq adapters one for each pub queue.
    Is there any other way of acheiving dynamic routing for AQ?
    Thanks
    Gayatri

    Hi Gayatri,
    There is no option other than hard-coding the queue name but your use case can be addressed in OSB easily.
    Create Business Services for each and every queue and in proxy message flow use dynamic routing action to determine at runtime that which Business Service should be invoked. To know more about dynamic routing action in OSB, please refer-
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1100135
    Re: OSB proxy service lookup
    Regards,
    Anuj

  • OSB 10.3 Security ip address

    Hello,
    I Have just started working with OSB 10.3 and need to add a filter for ip address for my web service.
    Can you help me? Does it design someone of since doing it?
    If one can, I would like to have a file where there are the ip address that have access to web services...

    You can do this by configuring in weblogic: http://jvzoggel.wordpress.com/2011/07/12/using-weblogic-network-connection-filters/
    You could also control in your Proxy service programatically getting the IP address from the inbound variable.
    If you were not using an old version of OSB you could be using policies to do this for you.
    Regards,
    Fabio Douek

  • OSB: Proxy service used in the WSDL address hostname, I want to use IP

    Hi all,
    I have a proxy service , open the WSDL address is as follows :
    ==============================================================================================
    <?xml version="1.0" encoding="UTF-8"?>
    <s0:definitions name="GeneralInboundServiceDefinitions" targetNamespace="http://nc.sgcc.edb.inbound" xmlns:s0="http://schemas.xmlsoap.org/wsdl/" xmlns:s1="http://www.iec.ch/TC57/2008/schema/message" xmlns:s2="http://nc.sgcc.edb.inbound" xmlns:s3="http://schemas.xmlsoap.org/wsdl/soap/">
    <s0:types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ns="http://www.iec.ch/TC57/2008/schema/message" xmlns:s1="http://nc.sgcc.edb.inbound" xmlns:s2="http://schemas.xmlsoap.org/wsdl/soap/">
    <import namespace="http://www.iec.ch/TC57/2008/schema/message" schemaLocation="http://10.118.59.85:7001/zxpt/services/GeneralInboundProxyService?SCHEMA%2Fhbdwzxpt%2FgeneralServices%2FResource%2FXSD%2FGeneralInboundService0"/>
    </schema>
    </s0:types>
    <s0:message name="invokeDataService">
    <s0:part element="s1:RequestMessage" name="parameters"/>
    </s0:message>
    <s0:message name="invokeDataServiceResponse">
    <s0:part element="s1:ResponseMessage" name="parameters"/>
    </s0:message>
    <s0:portType name="GeneralInbound">
    <s0:operation name="invokeDataService" parameterOrder="parameters">
    <s0:input message="s2:invokeDataService"/>
    <s0:output message="s2:invokeDataServiceResponse"/>
    </s0:operation>
    </s0:portType>
    <s0:binding name="GeneralInboundServiceSoapBinding" type="s2:GeneralInbound">
    <s3:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <s0:operation name="invokeDataService">
    <s3:operation style="document"/>
    <s0:input>
    <s3:body parts="parameters" use="literal"/>
    </s0:input>
    <s0:output>
    <s3:body parts="parameters" use="literal"/>
    </s0:output>
    </s0:operation>
    </s0:binding>
    <s0:service name="GeneralInboundServiceSoapBindingQSService">
    <s0:port binding="s2:GeneralInboundServiceSoapBinding" name="GeneralInboundServiceSoapBindingQSPort">
    <s3:address location="*_http://edb-8163dd8b4cb:7001/zxpt/services/GeneralInboundProxyService_*"/>
    </s0:port>
    </s0:service>
    </s0:definitions>
    ===============================================================================================
    The WSDL location is "http://edb-8163dd8b4cb:7001/zxpt/services/GeneralInboundProxyService", URL is used in the HOSTNAME, I want to return the IP OSB
    Kindly Help
    Thanks
    ptwen

    Please refer -
    How to get ip number in WSDL instead of host name?
    Why do you want to have IP instead of host name?
    Regards,
    Anuj

  • OSB With ws-addressing

    Hi All,
    Does OSB's business service supports dynamic JCA connection JNDI using ws-addressing. I mean, dynamically i am going to get JNDI value, which i need to pass it using ws-addressing in connecting to back-end. Something like dynamic partner link in BPEL.
    Any help on this really appreciated
    Regards & Regards
    Venkata Madhu

    Hi Venkata,
    I think it is not possible with OSB currently but if I am not wrong then a similar request was raised with product development some time back. You may raise a SR with support and ask for an enhancement anytime. If product development considers your request then this feature might get added in upcoming release or you may get an exclusive patch.
    As a workaround, you may create desired number of business services in OSB and use dynamic routing to call them from message flow.
    Regards,
    Anuj

  • BPEL registry integration cache capability?ESB or OSB support WS-Addressing

    Hi ,
    I have few questions related to Oracle SOA Suite.
    Please suugest me
    1) How to handle BPEL dehydration in high volume operations?
    2) Memory overload of ESB in high volume operations?
    3) BPEL registry integration - cache capability?
    4) How Oracle ESB or OSB support WS-Addressing?
    Suggestions or docs reference will be highly appreciated.
    Regards,
    Sachin

    Hi,
    There's a lot of performance info in the SOA Suite Best Practices Guide. More specifically see chapter 2.17 and 10 of http://download.oracle.com/technology/tech/soa/soa_best_practices_1013x_drop3.pdf.
    For correlation between OSB and BPEL using WS-Addressing see http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/bpelpmtransport/transport.html.
    Regards, Ronald

  • OSB: Cannot acquire data source error while using JCA DBAdapter in OSB

    Hi All,
    I've entered 'Cannot acquire data source' error while using JCA DBAdapter in OSB.
    Error infor are as follows:
    The invocation resulted in an error: Invoke JCA outbound service failed with application error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/DBAdapter1/RetrievePersonService [ RetrievePersonService_ptt::RetrievePersonServiceSelect(RetrievePersonServiceSelect_inputParameters,PersonTCollection) ] - WSIF JCA Execute of operation 'RetrievePersonServiceSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/soademoDatabase].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.soademoDatabase'. Resolved 'jdbc'; remaining name 'soademoDatabase'.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    JNDI Name for the Database pool: eis/DB/soademoDatabase
    JNDI Name for the Data source: jdbc/soademoDatabase
    I created a basic DBAdapter in JDeveloper, got the xsd file, wsdl file, .jca file and the topLink mapping file imported them into OSB project.
    Then I used the .jca file to generate a business service, and tested, then the error occurs as described above.
    Login info in RetrievePersonService-or-mappings.xml
    <login xsi:type="database-login">
    <platform-class>org.eclipse.persistence.platform.database.oracle.Oracle9Platform</platform-class>
    <user-name></user-name>
    <connection-url></connection-url>
    </login>
    jca file content are as follows:
    <adapter-config name="RetrievePersonService" adapter="Database Adapter" wsdlLocation="RetrievePersonService.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="eis/DB/soademoDatabase" UIConnectionName="Connection1" adapterRef=""/>
    <endpoint-interaction portType="RetrievePersonService_ptt" operation="RetrievePersonServiceSelect">
    <interaction-spec className="oracle.tip.adapter.db.DBReadInteractionSpec">
    <property name="DescriptorName" value="RetrievePersonService.PersonT"/>
    <property name="QueryName" value="RetrievePersonServiceSelect"/>
    <property name="MappingsMetaDataURL" value="RetrievePersonService-or-mappings.xml"/>
    <property name="ReturnSingleResultSet" value="false"/>
    <property name="GetActiveUnitOfWork" value="false"/>
    </interaction-spec>
    </endpoint-interaction>
    </adapter-config>
    RetrievePersonService_db.wsdl are as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <WL5G3N0:definitions name="RetrievePersonService-concrete" targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService" xmlns:WL5G3N0="http://schemas.xmlsoap.org/wsdl/" xmlns:WL5G3N1="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService" xmlns:WL5G3N2="http://schemas.xmlsoap.org/wsdl/soap/">
    <WL5G3N0:import location="RetrievePersonService.wsdl" namespace="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService"/>
    <WL5G3N0:binding name="RetrievePersonService_ptt-binding" type="WL5G3N1:RetrievePersonService_ptt">
    <WL5G3N2:binding style="document" transport="http://www.bea.com/transport/2007/05/jca"/>
    <WL5G3N0:operation name="RetrievePersonServiceSelect">
    <WL5G3N2:operation soapAction="RetrievePersonServiceSelect"/>
    <WL5G3N0:input>
    <WL5G3N2:body use="literal"/>
    </WL5G3N0:input>
    <WL5G3N0:output>
    <WL5G3N2:body use="literal"/>
    </WL5G3N0:output>
    </WL5G3N0:operation>
    </WL5G3N0:binding>
    <WL5G3N0:service name="RetrievePersonService_ptt-bindingQSService">
    <WL5G3N0:port binding="WL5G3N1:RetrievePersonService_ptt-binding" name="RetrievePersonService_ptt-bindingQSPort">
    <WL5G3N2:address location="jca://eis/DB/soademoDatabase"/>
    </WL5G3N0:port>
    </WL5G3N0:service>
    </WL5G3N0:definitions>
    Any suggestion is appricated .
    Thanks in advance!
    Edited by: user11262117 on Jan 26, 2011 5:28 PM

    Hi Anuj,
    Thanks for your reply!
    I found that the data source is registered on server soa_server1 as follows:
    Binding Name: jdbc.soademoDatabase
    Class: weblogic.jdbc.common.internal.RmiDataSource_1033_WLStub
    Hash Code: 80328036
    toString Results: ClusterableRemoteRef(8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1 [8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1/291])/291
    Binding Name: jdbc.SOADataSource
    Class: weblogic.jdbc.common.internal.RmiDataSource_1033_WLStub
    Hash Code: 92966755
    toString Results: ClusterableRemoteRef(8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1 [8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1/285])/285
    I don't know how to determine which server the DBAdapter is targetted to.
    But I found the following information:
    Under Deoloyment->DBAdapter->Monitoring->Outbound Connection Pools
    Outbound Connection Pool Server State Current Connections Created Connections
    eis/DB/SOADemo AdminServer Running 1 1
    eis/DB/SOADemo soa_server1 Running 1 1
    eis/DB/soademoDatabase AdminServer Running 1 1
    eis/DB/soademoDatabase soa_server1 Running 1 1
    The DbAdapter is related to the following files:
    C:\ Oracle\ Middleware\ home_11gR1\ Oracle_SOA1\ soa\ connectors\ DbAdapter. rar
    C:\ Oracle\ Middleware\ home_11gR1\ Oracle_SOA1\ soa\ DBPlan\ Plan. xml
    I unzipped DbAdapter.rar, opened weblogic-ra.xml and found that there's only one data source is registered:
    <?xml version="1.0"?>
    <weblogic-connector xmlns="http://www.bea.com/ns/weblogic/90">
    <enable-global-access-to-classes>true</enable-global-access-to-classes>
    <outbound-resource-adapter>
    <default-connection-properties>
    <pool-params>
    <initial-capacity>1</initial-capacity>
    <max-capacity>1000</max-capacity>
    </pool-params>
    <properties>
    <property>
    <name>usesNativeSequencing</name>
    <value>true</value>
    </property>
    <property>
    <name>sequencePreallocationSize</name>
    <value>50</value>
    </property>
    <property>
    <name>defaultNChar</name>
    <value>false</value>
    </property>
    <property>
    <name>usesBatchWriting</name>
    <value>true</value>
    </property>
    <property>
    <name>usesSkipLocking</name>
    <value>true</value>
    </property>
    </properties>
              </default-connection-properties>
    <connection-definition-group>
    <connection-factory-interface>javax.resource.cci.ConnectionFactory</connection-factory-interface>
    <connection-instance>
    <jndi-name>eis/DB/SOADemo</jndi-name>
              <connection-properties>
                   <properties>
                   <property>
                   <name>xADataSourceName</name>
                   <value>jdbc/SOADataSource</value>
                   </property>
                   <property>
                   <name>dataSourceName</name>
                   <value></value>
                   </property>
                   <property>
                   <name>platformClassName</name>
                   <value>org.eclipse.persistence.platform.database.Oracle10Platform</value>
                   </property>
                   </properties>
              </connection-properties>
    </connection-instance>
    </connection-definition-group>
    </outbound-resource-adapter>
    </weblogic-connector>
    Then I decided to use eis/DB/SOADemo for testing.
    For JDeveloper project, after I deployed to weblogic server, it works fine.
    But for OSB project referencing wsdl, jca and mapping file from JDeveloper project, still got the same error as follows:
    BEA-380001: Invoke JCA outbound service failed with application error, exception:
    com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/DBAdapterTest/DBReader [ DBReader_ptt::DBReaderSelect(DBReaderSelect_inputParameters,PersonTCollection) ] - WSIF JCA Execute of operation 'DBReaderSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/SOADataSource].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.SOADataSource'. Resolved 'jdbc'; remaining name 'SOADataSource'.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/SOADataSource].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.SOADataSource'. Resolved 'jdbc'; remaining name 'SOADataSource'.
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server. This exception is considered not retriable, likely due to a modelling mistake.
    It almost drive me crazy!!:-(
    What's the purpose of 'weblogic-ra.xml' under the folder of 'C:\Oracle\Middleware\home_11gR1\Oracle_OSB1\lib\external\adapters\META-INF'?
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • How can I monitor async requests in OSB

    Hello everybody,
    I have to set an async with response call to my legacy application. But as OSB does not support async calls with response yet, I'll use this approach described here: http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jpdtransport/transport.html#wp1102152 that tells me to set up one proxy that will make the request to the legacy application, and another proxy to handle the callback (my application will call this one manually when it finishes the process).
    But, doing this, I'll have two distinct transactions, two distinct proxies, and no "natural" correlation between them. I need to set some correlation that allows me to create one SLA alert when the requisition takes more than X minutes. I already thought on sending the transaction id ($messageID) to my legacy application and have it returned to the response proxy. But doing this, I would still have no link between the information (when started, etc) of request proxy.
    Well, that is what I need to get done. Some way on measuring the execution time (in SLA Alerts) of my service. How this could be done?
    Thanks a lot guys.

    I have to set an async with response call to my legacy application. But as OSB does not support async calls with response yet, I'll use this approach described here: http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jpdtransport/transport.html#wp1102152 that tells me to set up one proxy that will make the request to the legacy application, and another proxy to handle the callback (my application will call this one manually when it finishes the process).
    But, doing this, I'll have two distinct transactions, two distinct proxies, and no "natural" correlation between them. I need to set some correlation that allows me to create one SLA alert when the requisition takes more than X minutes. I already thought on sending the transaction id ($messageID) to my legacy application and have it returned to the response proxy. But doing this, I would still have no link between the information (when started, etc) of request proxy.
    Well, that is what I need to get done. Some way on measuring the execution time (in SLA Alerts) of my service. How this could be done?What would be the transport of communication with legacy system (JMS)?
    1) OSB is efficient in stateless point to point invocation/message enrichment but this problem appears to be use case in orchestration which is better addressed by BPEL.
    2) SLA alerts in OSB are designed to work at a single proxy level. Using SLA alert framework in OSB for your use case is not possible.
    3) At other level OSB also does not expose metrics (http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jmx_monitoring/concepts.html) that will allow you to do this type of correlation using external java program.
    My two cents
    Manoj

  • 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

  • Send Email in OSB

    Hi All,
    I have an requirement to send a mail through OSB. Well i know this is pretty easy and lot of details are available in Google. But i had one doubt and need a confirmation.
    I designed a business service with all the settings like Mail To, SMTP server and from address etc..
    Input for BS is Text and Output is None.
    When i invoke the business service using a simple text "Hi" along with an attachment file as request through OSB Test Console Window.I get an email with two attachments.
    1. With the text "Hi" which i had sent as payload
    2. With the Request Attachment File
    I expected an mail with one attachment. Can any one let me now why am i getting the payload also as an attachment ?This happens when i invoke the service with a Request Attachment File along with the Payload.
    Can any one let me know how to get rid of the Payload attachment.
    Regards
    KlimStart

    Can you try by hardcoding the same values in attachment properties, like below.
    <con:attachment xmlns:con="http://www.bea.com/wli/sb/context">
    <con:Content-Type>text/plain</con:Content-Type>
    <con:Content-Transfer-Encoding>base64</con:Content-Transfer-Encoding>
    <con:Content-Disposition>attachment; filename=”Dummy.txt”</con:Content-Disposition>
    <con:body>This is the attachments...</con:body>
    </con:attachment>
    If the above also resulting in 2 attachments then you have to check with someother SMTP server. Sometimes you face similar issue with SMTP servers.
    Thanks,
    Vijay

  • Generic code in OSB across 2 domains

    Hi
    I have a requirement to maintain the same code base for a set of OSB domains.
    The difference in the domains is the ip address,ports of the Business Service and Proxy service and also,
    there are some checks done depending on the domain where the code is deployed.
    I understand that the customization file can be used to set the endpoint URI's of proxies and business services.
    But in my OSB code, I have routing options used where i override the endpoint URI's currently, I have hardcoded it as
    'concat(jms://<ipadress>:<port>/<picking the connection factory and queue name from the data coming in to the proxy.>)'
    Also, at some places, there are checks required. To make it more clear:
    if the code was to be deployed on domain1, I would need the xyz variable to be one of particular value say 'value1' or 'value2'
    and if the code was to be deployed on domain2, it would need the variable to be one of value3 or value4.
    One option is to: have a property file somewhere in the local directory and have a Java class(static methods) which reads the property from the file. And in the OSB code, we have a java callout to call this jar file and get the property. and based on the property value, we would do the checks.
    The basic purpose is to have a OSB code that does not need to change irrespective of the domain it is deployed.
    At the same time, the values of some variables in the OSB code should be decided based on the domain it is deployed.
    Can anyone please suggest what can be done in this case?
    Is there a way to achieve this, other than the option I have thought of?

    I would not be changing my DVM. I would have a single DVM having the data available for both domains
    eg
    <properties>
    <domain name='domain1'>
    <value1>test1</value1>
    <value2>test2</value2>
    </domain>
    <domain name='domain2'>
    <value1>test3</value1>
    <value2>test4</value2>
    </domain>
    </properties>
    regards
    Kshama

  • OSB sbconsole "Test Console" service is not running

    Hi all,
    A problem in the osb domain sbconsole I am facing during testing of proxy/business services. When clicking on the "Launch Test Console" icon I got following error:
    Error Accessing Test Configuration
    "Test Console" service is not running. Contact administrator to start this service.
    I have checked the test-console flag as true in ALSBdebug.xml file in all admin and managed servers. Still I am not able to test the service through sbconsole. All the servers are in OK state
    Please help.
    regards
    Mohit Sharma

    Cluster address should be comma-separated address of managed servers. For e.g. - If managed_server1 is listening on host:8011 and managed_server2 is listening on host:8013 then cluster address should be like host:8011,host:8013
    You may refer section "Cluster Address" at below link -
    http://download.oracle.com/docs/cd/E17904_01/web.1111/e13709/setup.htm#i717132
    Regards,
    Anuj

Maybe you are looking for

  • Move data from a select box to table in database.

    Hi, a. I have one dual selection box and for that the is div id =' id ' b.In dual selection box there is two box ie. one is Available and other is Selected. So a user can select one or all using two button. c. My requirements is like : onclick of a r

  • Cannot stop looping

    Hi I'm have imported a 30 second clip for the menu screen but I cannot stop it looping after only 10 seconds of play. Menu Info only acknowledges the first 10 seconds of the clip. Perhaps I'm missing something very obvious.... tia k

  • How do I load a slide show created in pro show gold?

    how do I load a slide show created in pro show gold?

  • PEXR2002 IDOC Need to pass certain data

    Hi Gurus, I need to pass certain data in the field FIIKONTO in the segment E1IDB02 in the IDOC generation for payments. We are using PEXR2002 format and are on ECC 5.0. Is there any standard way or need to use any user exit only? Cheers, MCA

  • Test environment made by RMAN

    Could you help me describe steps which are mandatory during preparing test environment based on full rman backup? Test environment is on separate machine, but with the same OS, the same bit (x32) and Oracle version.