BPEL and Axis2 Asynchronous service

Does anybody have develope Oracle BPEL Asynchronous process and Axis2 Asynchronous service.
Can somebody share their expreince??
Thanks
Gopal

I have looked at BPELCallingAsyncAXIS sample it works fine with Axis 1.3, I was using this sample to start with Axis2.
But BPELCallingAsyncAXIS sample required otn-jaxrpc.jar libaray which implement ws-addressing and asynchronous service call to BPEL for Axis 1.3.
And otn-jaxrpc.jar library require all jaxrpc classes specific dependency.
I am not sure whether this library otn-jaxrpc.jar is production ready and how stable it is
Axis2 already have ws-addressing and asynchronous webservice implementation so I don't need to rely on otn-jaxrpc.jar
And I think for future webservice (document style) development we will be using axis2 b'cos of WS-* support , Asynchronous webservice
Thanks
Gopal

Similar Messages

  • Differences in Oracle Service Bus, BPEL and human workflow

    Hi Everyone,
    I am newbie, don't know if its the right place to post this thread.
    I want to prepare paper on differences in Oracle Service Bus, BPEL and human workflow, can anybody help me.
    Till now i came to know all these things are very different, no poit comparing them but still need differences
    Thanks in advance:
    Vikas

    Basic difference:
    BPEL : It is used for orchastrating different processes. Its heavyweight and stores instances (stateful)
    OSB : It is used for routing data between the applications
    Human Workflow : It is used to handle scenarios where manual intervention is necessary.
    Refer for more on Oracle BPEL
    http://www.oracle.com/technology/products/ias/bpel/htdocs/orabpel_faq.html
    Regards,
    Ketan

  • How to develop and call Asynchronous web service

    Hi All,
    I need to have a java web service that will be called asynchronously.
    That should execute, once triggered and caller shouldnt need to wait till its completion.
    How to develop and call asynchronoue web service ?
    Thanks
    Saikrishna

    Let your web service start its own background thread (*) somehow and move your business logic from web service to this thread. Then you can return from your web service. The client won't be blocked and your application will run on your server after service callout will be finished.
    I hope that's what you need. Anyway, there is only "asynchronous communication" and nothing like "asynchronous web service". At least from HTTP point of view, every call is synchronous - you have request and response.
    (*) You shouldn't start your own thread since you are in JEE world. Look at documentation for your container. E.g. for weblogic there are workers you can use this way. Or you can choose the other way. I hope that for any container you can just enqueue your web service request to any JMS queue and move your business logic to an appropriate MDB. Then, your web service will be just a simple JMS producer and your web service client won't be forced to wait for business logic to finish.
    Last but not least, next time choose a better forum. :-)

  • BPEL and Web Services

    Hi All
    I am a newbie to BPEL and I have an ambigious concept in BPEL; how does web services interact with BPEL?..
    Please help,
    thank you

    Mediator - its a an another Service Component (Like BPEL Process or Business Rule). Just add it to jour composite and connect - with your BPEL and a webservice. In a result webservice will go through Mediator. But for tests you can live without it.
    user543135 wrote:
    Another question, I am going to create a simple web service, a hello world service. I want to deploy it on weblogic server, when calling this web service, will it call the BPES process by just linking them with a partnerLink??No. If you want to start yourt BPEL - you should to run an Exposed BPEL WebService.
    If you want create your own webservice - inside it you should to run an Exposed Webservice :)
    Its simple - an exposed webservice - its an external interface for BPEL. Creating your simple composite - JDeveloper will make it automatically - you dont need to carry about it.
    There are 2 simple ways how to get it:
    1. Inserting new BPEL component - check box with "Expose as SOAP service"
    2. Insert separately a BPEL component and a Webservice component. And connect them by wire.

  • Passing complex object from bpel process to web service

    I have deployed my web service on apache axis.The wsdl file looks like as follows,
    <?xml version="1.0" encoding="UTF-8" ?>
    - <wsdl:definitions targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://bpel.jmetro.actiontech.com" xmlns:intf="http://bpel.jmetro.actiontech.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <wsdl:types>
    - <schema targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <complexType name="ADLevelBpelWS">
    - <sequence>
    <element name="adLevelStr" nillable="true" type="xsd:string" />
    <element name="id" type="xsd:int" />
    </sequence>
    </complexType>
    - <complexType name="TransResultWS">
    - <sequence>
    <element name="description" nillable="true" type="xsd:string" />
    <element name="id" type="xsd:long" />
    <element name="responseType" type="xsd:int" />
    <element name="status" type="xsd:boolean" />
    </sequence>
    </complexType>
    - <complexType name="NamespaceDataImplBpelWS">
    - <sequence>
    <element name="ADLevel" nillable="true" type="impl:ADLevelBpelWS" />
    <element name="appdataDef" nillable="true" type="apachesoap:Map" />
    <element name="description" nillable="true" type="xsd:string" />
    <element name="name" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    - <complexType name="CreateSharedNamespaceBpelWS">
    - <sequence>
    <element name="actor" nillable="true" type="xsd:string" />
    <element name="comment" nillable="true" type="xsd:string" />
    <element name="from" nillable="true" type="xsd:string" />
    <element name="namespaceData" nillable="true" type="impl:NamespaceDataImplBpelWS" />
    <element name="priority" type="xsd:int" />
    <element name="processAtTime" nillable="true" type="xsd:dateTime" />
    <element name="replyTo" nillable="true" type="xsd:string" />
    <element name="responseRequired" type="xsd:boolean" />
    </sequence>
    </complexType>
    </schema>
    - <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    - <complexType name="mapItem">
    - <sequence>
    <element name="key" nillable="true" type="xsd:string" />
    <element name="value" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    - <complexType name="Map">
    - <sequence>
    <element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
    </sequence>
    </complexType>
    </schema>
    </wsdl:types>
    + <wsdl:message name="createNamespaceRequest">
    <wsdl:part name="createNs" type="impl:CreateSharedNamespaceBpelWS" />
    </wsdl:message>
    - <wsdl:message name="createNamespaceResponse">
    <wsdl:part name="createNamespaceReturn" type="impl:TransResultWS" />
    </wsdl:message>
    - <wsdl:portType name="JMetroWebService">
    - <wsdl:operation name="createNamespace" parameterOrder="createNs">
    <wsdl:input message="impl:createNamespaceRequest" name="createNamespaceRequest" />
    <wsdl:output message="impl:createNamespaceResponse" name="createNamespaceResponse" />
    </wsdl:operation>
    </wsdl:portType>
    - <wsdl:binding name="NAMESPACEWITHMAPSoapBinding" type="impl:JMetroWebService">
    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="createNamespace">
    <wsdlsoap:operation soapAction="" />
    - <wsdl:input name="createNamespaceRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://bpel.jmetro.actiontech.com" use="encoded" />
    </wsdl:input>
    - <wsdl:output name="createNamespaceResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://bpel.jmetro.actiontech.com" use="encoded" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:service name="JMetroWebServiceService">
    - <wsdl:port binding="impl:NAMESPACEWITHMAPSoapBinding" name="NAMESPACEWITHMAP">
    <wsdlsoap:address location="http://localhost:7001/axis/services/NAMESPACEWITHMAP" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    My NamespaceDataObjectImplBpelWS object contains element appDataDef which is of type java.util.Map.My bpel wsdl file is as below,
    <?xml version="1.0"?>
    <definitions name="NsWithMap"
    targetNamespace="http://bpel.jmetro.actiontech.com"
    xmlns:tns="http://bpel.jmetro.actiontech.com"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:apachesoap="http://xml.apache.org/xml-soap"
    >
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    TYPE DEFINITION - List of services participating in this BPEL process
    The default output of the BPEL designer uses strings as input and
    output to the BPEL Process. But you can define or import any XML
    Schema type and us them as part of the message types.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <types>
         <schema targetNamespace="http://bpel.jmetro.actiontech.com" xmlns="http://www.w3.org/2001/XMLSchema">
         <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
              <element name="createNamespace" type="tns:CreateSharedNamespaceBpelWS"/>
              <element name="transResult" type="tns:TransResultWS"/>
              <complexType name="TransResultWS">
                   <sequence>
                        <element name="description" type="string" />
                        <element name="id" type="long" />
                        <element name="responseType" type="int" />
                        <element name="status" type="boolean" />
              </sequence>
              </complexType>
              <complexType name="ADLevelBpelWS">
                   <sequence>
                        <element name="adLevelStr" type="string" />
                        <element name="id" type="int" />
                   </sequence>
              </complexType>
              <complexType name="NamespaceDataImplBpelWS">
                   <sequence>
                        <element name="ADLevel" type="tns:ADLevelBpelWS" />
                        <element name="description" type="string" />
                        <element name="name" type="string" />
                        <element name="appdataDef" type="apachesoap:Map" />
                   </sequence>
              </complexType>
              <complexType name="CreateSharedNamespaceBpelWS">
                   <sequence>
                        <element name="namespaceData" type="tns:NamespaceDataImplBpelWS" />
              </sequence>
              </complexType>
         <element name="desc" type="string"/>
         </schema>
         <schema targetNamespace="http://xml.apache.org/xml-soap" xmlns="http://www.w3.org/2001/XMLSchema">
                   <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
                        <complexType name="mapItem">
                             <sequence>
                                  <element name="key" type="string" />
                                  <element name="value" type="string" />
                        </sequence>
                        </complexType>
                        <complexType name="Map">
                             <sequence>
                             <element maxOccurs="unbounded" minOccurs="0" name="item" type="apachesoap:mapItem" />
                             </sequence>
                        </complexType>
              </schema>
    </types>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    MESSAGE TYPE DEFINITION - Definition of the message types used as
    part of the port type defintions
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <message name="NsWithMapRequestMessage">
    <part name="payload" element="tns:createNamespace"/>
    </message>
    <message name="NsWithMapResponseMessage">
    <part name="payload" element="tns:transResult"/>
    </message>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PORT TYPE DEFINITION - A port type groups a set of operations into
    a logical service unit.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <!-- portType implemented by the NsWithMap BPEL process -->
    <portType name="NsWithMap">
    <operation name="initiate">
    <input message="tns:NsWithMapRequestMessage"/>
    </operation>
    </portType>
    <!-- portType implemented by the requester of NsWithMap BPEL process
    for asynchronous callback purposes
    -->
    <portType name="NsWithMapCallback">
    <operation name="onResult">
    <input message="tns:NsWithMapResponseMessage"/>
    </operation>
    </portType>
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    PARTNER LINK TYPE DEFINITION
    the NsWithMap partnerLinkType binds the provider and
    requester portType into an asynchronous conversation.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
    <plnk:partnerLinkType name="NsWithMap">
    <plnk:role name="NsWithMapProvider">
    <plnk:portType name="tns:NsWithMap"/>
    </plnk:role>
    <plnk:role name="NsWithMapRequester">
    <plnk:portType name="tns:NsWithMapCallback"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    I am trying to set this map data using java code ,
         HashMap procADMap1 = new HashMap(5);
                   PropertyTypeWS pType = new PropertyTypeWS();
                   pType.setTypeIndex(2);     
              AppdataDefImplWS appData1 = new AppdataDefImplWS();
              appData1.setName("Project");
              appData1.setType(pType);
              appData1.setMaxSize(400);
              appData1.setLOB(false);
         appData1.setDefaultValue("Project Default value");
              procADMap1.put(appData1.getName(), appData1);
              setVariableData("request","createNs","/createNs/namespaceData/appdataDef",procADMap1);     
    Then I am passing request object to the method which I want to invoke from bpel process.
    I am able to deploy the application but when I do post message I am getting following exception,
    NamespaceWithMap (createNamespace) (faulted)
    [2004/09/09 18:35:54] "{http://schemas.oracle.com/bpel/extension}bindingFault" has been thrown. Less
    faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault}
    messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
    code: {Server.userException}
    summary: {org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.}
    detail: {null}
    Is there any other way to handle Map type in bpel process?
    Thanks in advance,
    Sanjay

    Thanks for the quick reply.Actually the web service is already deployed on the server.What I want to do is use existing wsdl file of the deployed web service and invoke the method of the same using oracle PM.
    If I remove element which uses apachesoap:Map type it just works fine also I am getting the complex object returned by the web service method.But when I try to set appDataDef which is of type apachesoap:Map(Axis conversion for java.util.Map and it uses namespace xmlns:apachesoap="http://xml.apache.org/xml-soap") I am getting the error.
    Can you give me some direction to use this exising wsdl file to set map object or it is not possible.

  • How to make a Mediator deal with calling an external Asynchronous Service

    Hi,
    Using TP 4.
    I want my Mediator to invoke an Asynchronous Service that is external to the composite application. But I do not know how to get the reply from that service back into my Mediator.
    I have worked with the sample of calling an asynch BPEL component within the same composite - that is fairly easy to accomplish.
    What how can I tell the external service to invoke a callback porttype on my Mediator. Can the SCA container work out the correlation between the external service and the correct instance of the SCA composite? Should the Mediator publish the callback interface as an external service at the SCA Composite level? If so - how would the correlation work? If not, how does it work?
    Any suggestions - even the statement that I always need a BPEL component in between that will support correlation with external asynch services, if that is the case - will help.
    Thanks.
    Lucas

    Kylie, welcome to the discussion area!
    Cable modems behave differently than DSL modems in that they will "remember" the last device that they have associated with. Your modem is "remembering" your MacBook and when you connect the TC, the modem won't connect because it "remembers" the MacBook.
    You need to make the modem "forget" a previous device whenever you make a change in the device that is directly connected to the modem. Here's how:
    Push the reset button on the modem if it's present
    Pull the power cable on the modem
    Pull the battery from the modem if it is easily accessible
    Leave the modem powered down for 25-30 minutes
    Power down the rest of your network as well
    After the wait period, connect the modem to the WAN port on the TC with an ethernet cable
    Power up the modem first and let it run for 3-4 minutes by itself
    Then power up the TC the same way
    Power up the rest of your network the same way
    Depending on how you had your TC configured with the DSL modem previously, you may need to make a few changes in the settings.
    Post back on your progress.
    Message was edited by: Bob Timmons
    null

  • BPEL and CDH: howto ?

    Hi all,
    I'm looking for some examples about a BPEL call or web service call to CDH for retrieving/updating data (synchronous and asynchronous). This kind of technical documentation is such hard to find. Thank you for your help. Have a nice day,
    ED

    This reply was moved to a new post (double post). The first post is still good.
    Message was edited by:
    Edmundo

  • Passing value from ADF to BPEL, and to PL/SQL

    1. I have created BPEL which take 2 inputs and concatenate them.
    2. have created a PL/SQL procedure for invoking this BPEL( working fine).
    Now i need to create a simple ADF page which contain 2 text box, 2 for input and 1 for result(concatenate), this will take 2 inputs and send them into BPEL, this will invoke the BPEL process and perform the necessary concatenate function...
    in addition to this, i am passing code into PL/SQL procedure ...
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/OrderImportDemo">
    <ns1:InputRequest>
    *<ns1:FirstName>abcdef</ns1:FirstName>*
    *<ns1:LastName>aaaaaa</ns1:LastName>*
    </ns1:InputRequest>
    </soap:Body>
    </soap:Envelope>';
    this code will take vaule from BPEL and run properly.
    can you please help me,

    Three simple steps you need to do :
    1) Generate proxy for your bpel process in Jdeveloper.
    2)Create simple ADF page with 2 input for taking value and a input for showing the result and one command button.
    3) In backing bean on command button action, get value from two inputs, pass the in the proxy service and update the the the third input with the result of service.
    --Mukul                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Error while creating axis2 web service client

    Hi, I am making axis2 web services without using any tool . I made an aar file and deployed in the jboss application server . The aar deployed successfully. The server generated wsdl file. When i tried to make an axis2 client code from wsdl2java command (i also tried to make client using myeclipe) i got the following error:
    WS-1:(BP2402) The wsdl:binding element does not use a soapbind:binding element as declared in section "3 soap binding " of the wsdl 1.1 specification_
    I used the following versions of software
    axis2 1.4
    jboss 4.2
    maven 2.0.9
    Plz help me.
    Here is my wsdl
    <?xml version="1.0" encoding="UTF-8" ?>
    - <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://ws.apache.org/axis2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://ws.apache.org/axis2">
    - <wsdl:types>
    - <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://ws.apache.org/axis2">
    - <xs:element name="sayHello">
    - <xs:complexType>
    - <xs:sequence>
    <xs:element minOccurs="0" name="param0" nillable="true" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    - <xs:element name="sayHelloResponse">
    + <xs:complexType>
    - <xs:sequence>
    <xs:element minOccurs="0" name="return" nillable="true" type="xs:string" />
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    </xs:schema>
    </wsdl:types>
    - <wsdl:message name="sayHelloRequest">
    <wsdl:part name="parameters" element="ns:sayHello" />
    </wsdl:message>
    - <wsdl:message name="sayHelloResponse">
    <wsdl:part name="parameters" element="ns:sayHelloResponse" />
    </wsdl:message>
    - <wsdl:portType name="HelloWorldPortType">
    - <wsdl:operation name="sayHello">
    <wsdl:input message="ns:sayHelloRequest" wsaw:Action="urn:sayHello" />
    <wsdl:output message="ns:sayHelloResponse" wsaw:Action="urn:sayHelloResponse" />
    </wsdl:operation>
    </wsdl:portType>
    - <wsdl:binding name="HelloWorldSoap11Binding" type="ns:HelloWorldPortType">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    - <wsdl:operation name="sayHello">
    <soap:operation soapAction="urn:sayHello" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:binding name="HelloWorldSoap12Binding" type="ns:HelloWorldPortType">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    - <wsdl:operation name="sayHello">
    <soap12:operation soapAction="urn:sayHello" style="document" />
    - <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:binding name="HelloWorldHttpBinding" type="ns:HelloWorldPortType">
    <http:binding verb="POST" />
    - <wsdl:operation name="sayHello">
    <http:operation location="HelloWorld/sayHello" />
    - <wsdl:input>
    <mime:content type="text/xml" part="sayHello" />
    </wsdl:input>
    - <wsdl:output>
    <mime:content type="text/xml" part="sayHello" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:service name="HelloWorld">
    - <wsdl:port name="HelloWorldHttpSoap11Endpoint" binding="ns:HelloWorldSoap11Binding">
    <soap:address location="http://172.21.21.233:8080/axis2/services/HelloWorld.HelloWorldHttpSoap11Endpoint" />
    </wsdl:port>
    - <wsdl:port name="HelloWorldHttpSoap12Endpoint" binding="ns:HelloWorldSoap12Binding">
    <soap12:address location="http://172.21.21.233:8080/axis2/services/HelloWorld.HelloWorldHttpSoap12Endpoint" />
    </wsdl:port>
    - <wsdl:port name="HelloWorldHttpEndpoint" binding="ns:HelloWorldHttpBinding">
    <http:address location="http://172.21.21.233:8080/axis2/services/HelloWorld.HelloWorldHttpEndpoint" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

    Hi
    Check this thread
    WD Message Manager
    Reward opints if usefull....

  • How To : Call External Webservice from BPEL and pass SOAP Message to the WS

    Hello All-
    Greetings to all BPEL gurus. I am currently facing difficulties in calling an External Webservice from my BPEL Process and passing SOAP Message to it. The details are below:
    <strong>1. The BPEL process, using database polling feature of DB Adapter, will get the records from the database.</strong>
    <strong>2. Transform the message</strong>
    <strong>3. Call the External Webservice and pass the transformed message as the input to it. However the Webservice expects the BPEL process to send SOAP headers in the input message.</strong>
    I am struggling on how to put the transformed message within a SOAP envelope in the BPEL process.
    If anyone had similar requirements and have successfully been able to send SOAP messages from BPEL process to an external webservice, kindly let me know.
    Also if there is some kind of documentation or any link in the forum that I can refer, please let me know that as well.
    I am new to Webservice integration using BPEL and would really appreciate your help.
    Thanks In Advance
    Regards,
    Dibya

    Hi Dharmendra,
    I am trying to send a SOAP message from my BPEL process to a web service. I have a complete SOAP message in a complex variable defined in the wsdl for the partnerlink (web service). My problem is that when I invoke the partnerlink it fails even though the content shown in the BPEL console looks valid.
    I have set up obtunnel to see what I am actually sending out from BPEL. You mention that BPEL creates the SOAP envelope automatically.
    I think that my problem is a result of this automatic SOAP envelope that BPEL is creating. Do you know if there is a way to turn it off?
    This is what I see in the TCP monitor, please note the double SOAP env:Body:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <env:Body> <RCMR_IN000002NR01 xmlns="urn:hl7-org:v3" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <env:Header>
    <wsa:To xmlns:wsa="http://www.w3.org/2005/08/addressing">http://testhost/CCS/Service_Endpoint</wsa:To>
    <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">
    <wsa:Address>http://localhost/CCS/Service_Endpoint</wsa:Address>
    <wsa:Metadata>
    <device xmlns:hl7="urn:hl7-org:v3">
    </device>
    </wsa:Metadata>
    </env:Header>
    <env:Body>
    <RCMR_IN000002NR01>
    </RCMR_IN000002NR01>
    </env:Body>
    </RCMR_IN000002NR01>
    </env:Body>
    </env:Envelope>
    Any help is appreciated.
    Regards,
    Aagaard
    Edited by: Aagaard on Oct 30, 2008 8:59 PM
    Should have mentioned. I am using BPEL 10.1.3.4
    Edited by: Aagaard on Oct 31, 2008 8:43 AM
    I have opened a new thread for this question so as to not confuse the issue more than necessary.
    How many SOAP envelopes do you really need?

  • Trying to add new elemwent to BPEL, and it is now having binding error

    I have a BPEL service that calls a PL SQL procedure. I have added a new element to the BPEL called quote_cart_line.
    All I had to the BPEL to accomplish this was edit 3 files -
    Async_Invoke_Import_Model.xsd (Source)
    <element name="orig_sys_line_ref" type="integer" minOccurs="1" nillable="true"/>
           <element name="quote_cart_line" minOccurs="1" nillable="true" type="integer"/>
          </sequence>
    .....APPS_NI_MODEL_IMPORT_UTIL_IMPORT_SELECTIONS.xsd (Target)
    <element name="ORIG_SYS_LINE_REF" type="decimal" db:type="NUMBER" minOccurs="0" nillable="true"/>
             <element name="QUOTE_CART_LINE" type="decimal" db:type="NUMBER" minOccurs="0" nillable="true"/>
          </sequence>
    .....Transform_NIE_Inputs.xsl (Transforming from Source to Target)
    <ns1:orig_sys_line_ref>
              <xsl:value-of select="/ns1:Async_Invoke_Import_ModelProcessRequest/ns1:import_line/ns1:orig_sys_line_ref"/>
            </ns1:orig_sys_line_ref>
            <ns1:quote_cart_line>
              <xsl:value-of select="/ns1:Async_Invoke_Import_ModelProcessRequest/ns1:import_line/ns1:quote_cart_line"/>
            </ns1:quote_cart_line>
          </ns1:import_line>
    .....I have done this to two other BPELs and they work fine. (1st BPEL calls the second BPEL passing this new element, which then passes it to this BPEL I am having trouble with, which then should be binding it to a PL SQL type)
    So this BPEL calls a PL SQL procedure, binding the elements from the BPEL to a PL SQL type (ni_model_import_line). So I edited the PL SQL type to accept this new parameter:
    orig_sys_header_ref       NUMBER,
           quote_cart_line           NUMBER,
           CONSTRUCTOR FUNCTION ni_model_import_line(p_part_number                IN VARCHAR2,
    MEMBER PROCEDURE add_orig_sys_header_ref(p_org_sys_header_ref          IN NUMBER),
           MEMBER PROCEDURE add_quote_cart_line(p_quote_cart_line                 IN NUMBER)
    MEMBER PROCEDURE add_quote_cart_line(p_quote_cart_line                 IN NUMBER) IS
    BEGIN
       quote_cart_line := p_quote_cart_line;
    END add_quote_cart_line;
    END;
    .....I invoke all of this, and the new element gets populated in 3 different BPELs, including this one I explained here. But when it comes time to call the PL SQL I am now getting an error:
    <fault>
    -<bpelFault>
    <faultType>0</faultType>
    -<bindingFault xmlns="http://schemas.oracle.com/bpel/extension">
    -<part name="summary">
    <summary>
    Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'nie_import_2' failed due to: Interaction processing error.
    Error while processing the execution of the APPS.NI_MODEL_IMPORT_UTIL.IMPORT_SELECTIONS API interaction.
    An error occurred while processing the interaction for invoking the APPS.NI_MODEL_IMPORT_UTIL.IMPORT_SELECTIONS API. Cause: java.lang.NullPointerException
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    </summary>
    </part>
    -<part name="detail">
    <detail>null</detail>
    </part>
    -<part name="code">
    <code>null</code>
    </part>
    </bindingFault>
    </bpelFault>
    </fault>This doesnt happen if I remove the references to this new element and try again, so it obviously is a problem with the element, but I have no idea what it is. It works fine when going from BPEL to BPEL, but as soon as the process tries to call the PL SQL procedure this happens. It is even more frustrating because I have done this exactly before adding another element, and it worked fine...
    Any ideas or tips please?
    Edited by: 849655 on Aug 9, 2011 2:35 PM
    Edited by: 849655 on Aug 9, 2011 2:36 PM

    So is there any further info I can provide or anything like that? I am still no closer to solving this it appears...
    This makes no sense to me. I have edited these BPELs in this manner twice before and never had problems.
    I have 3 bpels. I added the new element to each of them.
    BPEL1 - calls some PL SQL and also passess the elements to the next BPEL (BPEL2)
    BPEL2 - passes the elements to BPEL 3
    BPEL3 - Calls PL SQL in exactly the same way as BPEL1
    however, where BPEL 1 is functioning fine, BPEL3 is resulting in the error above. So frustrating, because BPEL3 works exactly like BPEL1, there is no reason it shouldn't be working. The elements are the same order as the PL SQL type and procedure it is mapping to, so that isn't the problem
    Edited by: 849655 on Aug 11, 2011 7:51 AM

  • Issue: BPEL invoking Axis web service

    Hi
    We are calling a Axis web service from BPEL.. The web service has been defined to be a request only 1 way service. The axis service takes around 3-5 minutes to complete the job( data insertion in DB).. But seems like when BPEL invokes the web service; BPEL thread is waiting (thread is not released) and the BPEL process does not move forward until the web service completes the job....
    Any pointers on how the deal with the issue will be helpful!!
    Thanks

    Hi Lovenish,
    Goto console-> select domain> Configuration->JTA
    Check timeout seconds.
    2. i don't know what kind of partner link you are invoking.
    check composite.xml, is there any property like retry.interval .
    3. ◦SyncMaxWaitTime: The maximum time a request and response operation takes before timing out.
    The maximum time a request/response operation will take before it times out. The default value is 45 seconds.
    Regards,
    Padmanabham

  • Performance tuning in BPEL and ESB

    Hi,
    Any one can tell me how to do Performance tuning in BPEL and ESB.
    How to create WEB SERVICES in BPEL

    Hi',
    Performance tuning in BPEL and ESB.
    ***This is very big topic I can give you 2 points here
    In BPEL we should avoid the use of duplicate variable, the best way to do this is, when ever we are creating a new variable
    we need to ask can we reuse variable from inside the process, example when creating the input/output variable in Invoke activity
    we need to check if we can use some existing variable instead of creating new.
    All the DB related operation should be performed in 1 single composite.
    How to create WEB SERVICES in BPEL
    Not sure what you want to ask here, as BPEL is itself a webservice.
    -Yatan

  • How to make use of asynchronous service in CAF development

    Hello SDNs,
    How can we make use of asynchronous service in CAF development;
    Actually i am new to CAF development; my business requirement suites for the service provided by SAP. But the service provided is asynchronous; is it not possible to use the asynchronous service in my CAF application? if it is possible, can any one please tell me the drawbacks of using it!
    You help would be highly appreciated.
    Thanks,
    Sireesha.B

    Hi,
    >> I have some portal service and how to use that in the web dynpro application.
    Yes. U can use Portal service in webdynpro. Check the link given by subathra.
    >> and also what is the main diff between Portal Component and web dynpro application
    Portal Components are components designed to run in portal server while webdynpro application can run in J2EE WebAS.
    >> do we required portal to run web dynpro application.
    No for general cases. Just WebAS is sufficient to run webdynpro appl. But if u use portal service in ur webdynpro appl, then make sure both (portal service and webdynpro appl) run on same J2EE engine. That is mandatory.
    Regards,
    Vijai

  • Deployment of BPEL (and ESB) into Clustered Environment

    Hi All,
    I was after any view points / pointers into peoples experiences into deployment of BPEL and ESB into a clustered Oracle iAS SOA suite environment, where there are two or more nodes running BPEL, ESB etc with a corresponding OHS Loan Balancers. I have been unable to find any specific information with regards to recommendations into the best ways to deploy into a clustered environment.
    My viewpoints are there are two alternative approaches that could be used, both of which use ANT deployment scripts to register / deploy the various services.
    (1) Leaving all nodes up in the cluster and using a properties file to specify the relevant details, deploy to one environment allowing the load balancer to distribute the software to the respective nodes in the cluster
    (2) Deploy to each of the nodes in turn ensuring all other nodes in the cluster are taken down during each separate deployment
    What are other peoples thoughts / experiences / recommendations?
    Thanks in Advance
    Dave

    I don't believe there is any real information on deployments in a cluster in those documents.
    There is a note on metalink 457654.1 which says to apply to each node, while doing this shut down the other servers. From experience this worked for some configuration and not others.
    Can you say what cluster deployment you used, e.g. 10.1.3.1 or 10.1.3.3 with BPEL and ESB-RT in the same oc4j?
    Also what version are you on. If you are on 10.1.3.4 using the 10.1.3.3 deployment configuration you don't need to shutdown the nodes. And you can get away with just deploying to one node but make sure your <ORACLE_HOME>/bpel/system/config/collaxa-config.xml file has been set to cluster = true. Look at metalink note 746251.1.
    You can experience the notorious Process Lock Timeout Error when not shutdown cleanly but this is resolved using the best practice guide http://www.oracle.com/technology/tech/soa/soa-suite-best-practices/soa_best_practices_1013x_drop1.pdf
    ESB can be applied to just one node.
    Make sure that all your endpoints are pointing to the load balancer and not the actual node themselves.
    Also you connect string is different in your build.properties make sure of the following
    cluster = true
    oc4jinstancename = default_group
    local.oc4jinstancename = oc4j_soa (or the oc4j container with BPEL)
    esb
    deployer.uri=deployer:cluster:opmn://hostname:opmn port/default_group
    cheers
    James

Maybe you are looking for

  • How do I replace all synced data (bookmarks in particular) on my Android with current data on my desktop?

    I have a DROID2 device, and running Windows 7 version of Firefox on my laptop. I update an extensive collection of bookmarks about once ever 3 months. I keep many old bookmarks, but also add many new ones. When I sync the laptop bookmarks to my Droid

  • Date format for Calendar Prompt  in Oracle BI

    Hi, 1) In Oracle Answers, I need to have this format : dd-MMM-yy in a Calendar Prompt I've changed in localedefinitions.xml : <property name="dateShortFormat">dd-MMM-yy</property> <property name="dateOrder">dmy</property> <property name="dateSeparato

  • Full Screen in Flash 8

    I know extremely little about Flash and AS but i would to be able to set my flash site into full screen at a touch of a keypress. I have seen tutorials on achieving this in Flash 8 but they were beyond my level of Flash knowledge. Would anyone be abl

  • Creative Cloud Photoshop Bug

    I'm not interested in troubleshooting with anyone, but just wanted to know if anyone knows if Adobe has fixed their bugs with Creative Cloud photoshop, mine is not working and is very frustrating to know that other people have the same problems, will

  • Viewing DOCX on Apple iOS 8 from Mail

    Not sure if this is a GroupWise 2014 problem with Apple iOS 8, or GroupWise Mobilty Server (latest version), or Apple's own iOS 8. I am getting the following message when I try to open a Word (docx) Document on my iPhone 6 running iOS 8 (latest build