Problem in Http Binding bpel process

hi,
Select NVL(to_char(ow_org_id),'Not Available') organizationId, count(rep_num)
From xxx_table
Where to_date(create_date) > to_date(?)
Group by own_org_id, rep_num
i have created bpel process and trying to get output based on the creation date. the process is based on Httpbinding where parameters are given from WSDL url as
http://hostname:port/httpbinding/default/processname?&repDate=<date>
i am creating the service with DB adapter(custom sql) output is empty xml
i can get the output if i run the query in sqldeveloper can anyone help me in this regard
created the httpbindings based on this link
http://blogs.oracle.com/reynolds/2005/09/invoking_bpel_from_an_html_for.html

hi,
yes i am not using single quotes
Select NVL(to_char(ow_org_id),'Not Available') organizationId, count(rep_num)
From xxx_table
Where to_date(create_date) > to_date(? ,'mm/dd/yyyy')
Group by own_org_id, rep_num.
if i run the above query in SQLdevloper works fine and can get the output but if i call from Http binding url like the below i am getting null xml data
http://hostname:port/httpbinding/default/processname?&repDate=<date>
i am creating the service with DB adapter(custom sql) output is empty xml
i can get the output if i run the query in sqldeveloper can anyone help me in this regard
created the httpbindings based on this link
http://blogs.oracle.com/reynolds/2005/09/invoking_bpel_from_an_html_for.html

Similar Messages

  • URGENT: Problem generating Client of BPEL process using Axis WSDL2Java

    Hi,
    I have a BPEL process running fine using BPEL console.
    Now I want to create a Java client to invoke it.
    I try to generate the stub using axis WSDL2Java.
    But i can't generate it. I got the problem
    {http://schemas.xmlsoap.org/ws/2004/08/addressing}Action already exists
    java.io.IOException: Type {http://car.webservices}CarRentalResult is referenced
    but not defined.
    at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(Symbol
    Table.java:665)
    at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:545
    at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
    a:518)
    at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
    a:495)
    at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
    at java.lang.Thread.run(Unknown Source)
    I have used some complexType of the web services in my BPEL process.
    I guess the parser can't resolve where it is...is it?
    I wonder what I should do to make the parser know where to find that type.
    Do I have to specify anything more in my BPEL process?
    Here is the WSDL of my BPEL process
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions
    name="TravelPlanner"
    targetNamespace="http://travelplanner.bpel"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://travelplanner.bpel"
    xmlns:car="http://car.webservices"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:hotel="http://hotel.webservices"
    xmlns:flight="http://flight.webservices"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:bill="http://bill"
    >
    <types>
    <schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://travelplanner.bpel"
    xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://bill"/>
    <import location="http://localhost:8080/axis/services/CarRentalService?wsdl" namespace="http://car.webservices"/>
    <import location="http://localhost:8080/axis/services/HotelBookingService?wsdl"
    namespace="http://hotel.webservices"/>
    <import location="http://localhost:8080/axis/services/FlightBookingService?wsdl"
    namespace="http://flight.webservices"/>
    <element name="Hotel" type="hotel:Hotel"/>
    <element name="HotelBookingResult" type="hotel:HotelBookingResult"/>
    <element name="Vehicle" type="car:Vehicle"/>
    <element name="CarRentalResult" type="car:CarRentalResult"/>
    <element name="Flight" type="flight:Flight"/>
    <element name="FlightBookingResult" type="flight:FlightBookingResult"/>
    <element name="TravelPlannerRequest">
    <complexType>
    <sequence>
    <element name="from_airport" type="string"/>
    <element name="to_airport" type="string"/>
    <element name="travel_city" type="string"/>
    <element name="travel_country" type="string"/>
    <element name="leave_date" type="dateTime"/>
    <element name="return_date" type="dateTime"/>
    <element name="no_of_traveler" type="int"/>
    <element name="traveler_firstname" type="flight:ArrayOf_xsd_string"/>
    <element name="traveler_lastname" type="flight:ArrayOf_xsd_string"/>
    <element name="billingInfo" type="bill:Bill"/>
    <element name="flightEndpointURI" type="string"/>
    <element name="hotelEndpointURI" type="string"/>
    <element name="carEndpointURI" type="string"/>
    </sequence>
    </complexType>
    </element>
    <element name="TravelPlannerResponse">
    <complexType>
    <sequence>
    <element name="flight_go" type="flight:Flight"/>
    <element name="flight_back" type="flight:Flight"/>
    <element name="hotel" type="hotel:Hotel"/>
    <element name="car" type="car:Vehicle"/>
    <element name="paymentInfo" type="bill:Bill"/>
    <element name="charged_amount" type="float"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    <xsd:schema xmlns="http://www.w3.org/2000/10/XMLSchema">
    <xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" schemaLocation="http://schemas.xmlsoap.org/ws/2004/08/addressing"/>
    </xsd:schema>
    </types>
    <message name="TravelPlannerResponseMessage">
    <part name="payload" element="tns:TravelPlannerResponse"/>
    </message>
    <message name="TravelPlannerRequestMessage">
    <part name="payload" element="tns:TravelPlannerRequest"/>
    </message>
    <portType name="TravelPlanner">
    <operation name="process">
    <input message="tns:TravelPlannerRequestMessage"/>
    <output message="tns:TravelPlannerResponseMessage"/>
    </operation>
    </portType>
    <binding name="TravelPlannerBinding" type="tns:TravelPlanner">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="process">
    <soap:operation style="document" soapAction="process"/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="TravelPlanner">
    <port name="TravelPlannerPort" binding="tns:TravelPlannerBinding">
    <soap:address location="http://angel:9700/orabpel/default/TravelPlanner/1.0"/>
    </port>
    </service>
    <plnk:partnerLinkType name="TravelPlanner">
    <plnk:role name="TravelPlannerProvider">
    <plnk:portType name="tns:TravelPlanner"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    Could somebody help me?

    i got it worked out. sorry.
    just forgot to import wsdl files.

  • Problem invoking from a BPEL process webservice client

    I have a BPEL Synchronous process that invokes a webservice deployed on Tomcat. The process executes without any exception when I run it from the BPEL Console. Since I want to execute the BPEL process as a command line operation, I created a BPEL Process Webservice client from scratch using Axis as described in Tutorial7 - InvokingBPELProcesses.pdf. However when I try to execute the client, I get the following error:
    AxisFault
    faultCode: {http://xml.apache.org/axis/}Server.generalException
    faultSubcode:
    faultString: Dispatcher send error.
    An error occurred while sending a batch message to the dispatch queue. The exception is: Failed to create &quot;java:comp/env/ejb/local/DispatcherLocalBean&quot; bean; exception reported is: &quot;javax.naming.NameNotFoundException: ejb/local/DispatcherLocalBean not found in startup_war&#xd;
         at com.oracle.naming.J2EEContext.getSubContext(J2EEContext.java:93)&#xd;
         at com.oracle.naming.J2EEContext.lookup(J2EEContext.java:76)&#xd;
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:177)&#xd;
         at com.evermind.server.ApplicationContext.lookup(ApplicationContext.java:119)&#xd;
         at javax.naming.InitialContext.lookup(InitialContext.java:347)&#xd;
         at com.collaxa.cube.engine.util.CubeEngineBeanRegistry.lookupDispatcherLocalBean(CubeEngineBeanRegistry.java:165)&#xd;
         at com.collaxa.cube.engine.util.CubeEngineBeanCache.getDispatcherLocalBean(CubeEngineBeanCache.java:91)&#xd;
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendLocal(DispatchHelper.java:229)&#xd;
         at com.collaxa.cube.engine.dispatch.Dispatcher.receive(Dispatcher.java:430)&#xd;
         at com.collaxa.cube.engine.dispatch.Dispatcher.receive(Dispatcher.java:357)&#xd;
         at com.collaxa.cube.engine.dispatch.Dispatcher.update(Dispatcher.java:253)&#xd;
         at com.collaxa.cube.engine.core.event.DomainObserverRegistry.notify(DomainObserverRegistry.java:124)&#xd;
         at com.collaxa.cube.engine.core.event.DomainObserverRegistry.notify(DomainObserverRegistry.java:66)&#xd;
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.notify(CubeProcessHolder.java:727)&#xd;
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.addProcess(CubeProcessHolder.java:697)&#xd;
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.bind(CubeProcessHolder.java:632)&#xd;
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.loadAndBind(CubeProcessHolder.java:605)&#xd;
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.loadAndBind(CubeProcessHolder.java:592)&#xd;
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.getProcess(CubeProcessHolder.java:494)&#xd;
         at com.collaxa.cube.engine.deployment.CubeProcessHolder.getProcess(CubeProcessHolder.java:429)&#xd;
         at com.collaxa.cube.engine.CubeEngine.lookupProcess(CubeEngine.java:840)&#xd;
         at com.collaxa.cube.ws.wsdl.WSDLManager.getProcess(WSDLManager.java:437)&#xd;
         at com.collaxa.cube.ws.wsdl.WSDLManager.getPartnerWSDL(WSDLManager.java:300)&#xd;
         at com.collaxa.cube.ws.soap.providers.CXSOAPProvider.processBPELMessage(CXSOAPProvider.java:175)&#xd;
         at com.collaxa.cube.ws.soap.providers.CXSOAPProvider.invoke(CXSOAPProvider.java:111)&#xd;
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)&#xd;
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:156)&#xd;
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:126)&#xd;
         at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:437)&#xd;
         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:316)&#xd;
         at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:701)&#xd;
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)&#xd;
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)&#xd;
         at com.collaxa.cube.fe.CollaxaServlet.service(CollaxaServlet.java:117)&#xd;
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)&#xd;
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:765)&#xd;
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)&#xd;
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)&#xd;
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)&#xd;
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)&#xd;
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)&#xd;
         at java.lang.Thread.run(Thread.java:534)&#xd;
    &quot;.
    Can someone please tell me what is it I am doing wrong?

    I was using
    Oracle BPEL Server version 2.0
    Build: 2004.06.17.14.40
    Build time: Thu Jun 17 14:40:58 PDT 2004
    However, I downloaded the latest version of the Process Manager and did not face the same problem.

  • Time out problem while uploading large bpel processes into oracle soa suite

    Hi everyone,
    I'm using oracle soa suite 10.1.3.4.0 and I'm encountering time out problem while trying to upload a 5MB bpel process into my bpel process server located in the LAN network. The error is coming from apache common file upload.
    Is there a way to increate the connection time out for oc4j to avoid this problem?
    Thanks for any help.
    Regards
    Esfand

    Hi Marc.
    Thanks for your reply. I increased the transaction manager time-out but still I have the same problem. I believe this is something related to oc4j settings and related to upload bpel process. here is my stack trace output:
    79: A problem occured while connecting to server "192.168.0.12" using port "8888": bpel_JazbModaresJadidBPEL_1.0.jar failed to deploy. Exception message is: javax.transaction.RollbackException: Timed out
    at com.oracle.bpel.client.util.ExceptionUtils.handleServerException(ExceptionUtils.java:94)
    at com.oracle.bpel.client.BPELDomainHandle.deploySuitcase(BPELDomainHandle.java:324)
    at com.oracle.bpel.client.BPELDomainHandle.deployProcess(BPELDomainHandle.java:341)
    at deployHttpClientProcess.jspService(_deployHttpClientProcess.java:376)
    at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
    at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
    at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
    at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
    at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:400)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:414)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
    at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)
    at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)
    at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: oracle.oc4j.rmi.OracleRemoteException: An exception occurred during transaction completion: ; nested exception is:
    javax.transaction.RollbackException: Timed out
    at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:152)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:57)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at DomainManagerBean_RemoteProxy_4bin6i8.deploySuitcase(Unknown Source)
    at com.oracle.bpel.client.BPELDomainHandle.deploySuitcase(BPELDomainHandle.java:319)
    ... 25 more
    Caused by: javax.transaction.RollbackException: Timed out
    at com.evermind.server.ApplicationServerTransaction.checkForRollbackOnlyWhileInCommit(ApplicationServerTransaction.java:664)
    at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:273)
    at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:162)
    at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:472)
    at com.evermind.server.ejb.EJBTransactionManager.end(EJBTransactionManager.java:137)
    ... 33 more
    Total time: 4 minutes 30 seconds
    The bpel jar file is about 2MB and is uploaded from my machine located in the same LAN.
    Any hints?
    Thanks
    Esfand

  • Problem in invoking a BPEL process from JSP

    I've deployed HelloWorld BPEL from the samples. It's working fine from the BPEL Console. After that I created a JSP page to invoke this BPEL process. My JSP code looks like this:'
    <%@page import="com.oracle.bpel.client.Locator" %>
    <%@page import="com.oracle.bpel.client.NormalizedMessage" %>
    <%@page import="com.oracle.bpel.client.delivery.IDeliveryService" %>
    <html>
    <head>
    <title>Invoke HelloWorld</title>
    </head>
    <body>
    <%
    String name = request.getParameter("name");
    if(name == null)
    name = "BPEL";
    System.out.println("Before XML..........");
    String xml = "<name xmlns=\"http://samples.otn.com/helloworld\">" + name + "</name>";
    System.out.println("Before Locator..........");
    Locator locator = new Locator("default","oc4jadmin");
    System.out.println("After Locator..........");
    IDeliveryService deliveryService = (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
    // construct the normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage( );
    nm.addPart("payload" , xml );
    System.out.println("Before Delivery Service Post..........");
    deliveryService.post("HelloWorld", "initiate", nm);
    System.out.println( "BPELProcess HelloWorld initiated!" );
    out.println( "BPELProcess HelloWorld initiated!" );
    %>
    Please refer to the
    BPEL Console
    to see the status of the initiated HelloWorld BPEL Process.
    </body>
    </html>
    Now when I try to execute this JSP using the URL:
    http://localhost:8888/hello/invokeHelloWorld.jsp
    I am getting the following error:
    Servlet error: An exception occurred. The current application deployment descriptors do not allow for including it in this response. Please consult the application log for details.
    Can anyone help me out of this?
    Thanks in anticipation. Awaiting for your reply.
    Thanks & Regards

    I got it atlast. Actually I wanted application log to see the error. I found this log file(application.log) under
    <ORACLE_AS_HOME>\j2ee\home\application-deployments\hello\home_default_group_1
    I found that since this is a JSF application, i am missing the '/faces' in the URL and because of which, it was unable to find the FacesContext.
    It's working now. Thanks a lot for your support.
    Regards

  • Problem in invoking a BPEL process with complex input

    Hi,
    I have an asynchronous BPEL process which has a complex request schema. When I try to invoke the process through BPEL Console, it works properly. But when invoking it through Java API, it seems that the input soap message is not well received by the process. Here are relevant files:
    *==============-BPEL file==================*
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <process name="MapCopyProject"
    targetNamespace="http://mapcopyservices/"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:ns4="http://mapcopyservices/"
    xmlns:ns3="http://mapcopyservices/types/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow">
    <!--
    PARTNERLINKS
    List of services participating in this BPEL process
    -->
    <partnerLinks>
    <partnerLink name="MapCheckService" partnerLinkType="ns4:MapCheckService_PL"
    partnerRole="MapCheckService_Role"/>
    <partnerLink myRole="TotalBPELProcessProvider" name="TotalBPELProcess"
    partnerRole="TotalBPELProcessRequester"
    partnerLinkType="ns4:TotalBPELProcess"/>
    <partnerLink name="MapActionService" partnerRole="MapActionService_Role"
    partnerLinkType="ns4:MapActionService_PL"/>
    </partnerLinks>
    <variables>
    <variable name="ClientInput"
    messageType="ns4:TotalBPELProcessRequestMessage"/>
    <variable name="ClientOutput"
    messageType="ns4:TotalBPELProcessResponseMessage"/>
    <variable name="CheckSourceExistance_Output"
    messageType="ns4:MapCheckService_checkSourceExistanceResponse"/>
    <variable name="CheckSourceExistance_Input"
    messageType="ns4:MapCheckService_checkSourceExistance"/>
    <variable name="GetCoordinateSystemType_Output"
    messageType="ns4:MapCheckService_getCoordinateSystemTypeResponse"/>
    <variable name="GetCoordinateSystemType_Input"
    messageType="ns4:MapCheckService_getCoordinateSystemType"/>
    <variable name="CheckSourceExistance2_Input"
    messageType="ns4:MapCheckService_checkSourceExistance"/>
    <variable name="CheckSourceExistance2_Output"
    messageType="ns4:MapCheckService_checkSourceExistanceResponse"/>
    <variable name="InvokeMapAction_Input"
    messageType="ns4:MapActionService_CopyAndTransform"/>
    <variable name="InvokeMapAction_Output"
    messageType="ns4:MapActionService_CopyAndTransformResponse"/>
    </variables>
    <!--
    VARIABLES
    List of messages and XML documents used within this BPEL process
    -->
    <!--
    ORCHESTRATION LOGIC
    Set of activities coordinating the flow of messages across the
    services integrated within this business process
    -->
    <sequence name="main">
    <receive name="ReceiveInput" partnerLink="TotalBPELProcess"
    portType="ns4:TotalBPELProcessInvoke" operation="initiate"
    variable="ClientInput" createInstance="yes"/>
    <flow name="Flow_1">
    <sequence name="Sequence_1">
    <assign name="Assign_3">
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:destConn"/>
    <to variable="CheckSourceExistance2_Input" part="parameters"
    query="/ns3:checkSourceExistanceElement/ns3:MapConnection_1"/>
    </copy>
    </assign>
    <invoke name="Invoke_CheckSource2" partnerLink="MapCheckService"
    portType="ns4:MapCheckService" operation="checkSourceExistance"
    inputVariable="CheckSourceExistance2_Input"
    outputVariable="CheckSourceExistance2_Output"/>
    </sequence>
    <sequence name="Sequence_1">
    <assign name="Assign_1">
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:sourceConn"/>
    <to variable="CheckSourceExistance_Input" part="parameters"
    query="/ns3:checkSourceExistanceElement/ns3:MapConnection_1"/>
    </copy>
    </assign>
    <invoke name="Invoke_CheckSource" partnerLink="MapCheckService"
    portType="ns4:MapCheckService" operation="checkSourceExistance"
    inputVariable="CheckSourceExistance_Input"
    outputVariable="CheckSourceExistance_Output"/>
    </sequence>
    </flow>
    <switch name="CheckSourceAndDest">
    <case condition="string(bpws:getVariableData('CheckSourceExistance_Output','parameters','/ns3:checkSourceExistanceResponseElement/ns3:result'))='true' and string(bpws:getVariableData('CheckSourceExistance2_Output','parameters','/ns3:checkSourceExistanceResponseElement/ns3:result'))='true'">
    <empty name="Empty_1"/>
    </case>
    <otherwise>
    <terminate name="Terminate_1"/>
    </otherwise>
    </switch>
    <assign name="Assign_4">
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:sourceConn"/>
    <to variable="GetCoordinateSystemType_Input" part="parameters"
    query="/ns3:getCoordinateSystemTypeElement/ns3:MapConnection_1"/>
    </copy>
    </assign>
    <invoke name="Invoke_GetCoSysType" partnerLink="MapCheckService"
    portType="ns4:MapCheckService" operation="getCoordinateSystemType"
    inputVariable="GetCoordinateSystemType_Input"
    outputVariable="GetCoordinateSystemType_Output"/>
    <switch name="CheckPossibility">
    <case condition="number(bpws:getVariableData('GetCoordinateSystemType_Output','parameters','/ns3:getCoordinateSystemTypeResponseElement/ns3:result'))=number(bpws:getVariableData('ClientInput','parameters','/ns3:TotalBPELProcessRequest/ns3:transformMapType'))">
    <empty name="Empty_2"/>
    </case>
    <otherwise>
    <terminate name="Terminate_2"/>
    </otherwise>
    </switch>
    <assign name="Assign_7">
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:sourceConn"/>
    <to variable="InvokeMapAction_Input" part="parameters"
    query="/ns3:CopyAndTransformElement/ns3:sourceConn"/>
    </copy>
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:destConn"/>
    <to variable="InvokeMapAction_Input" part="parameters"
    query="/ns3:CopyAndTransformElement/ns3:destConn"/>
    </copy>
    <copy>
    <from variable="ClientInput" part="parameters"
    query="/ns3:TotalBPELProcessRequest/ns3:transformMapType"/>
    <to variable="InvokeMapAction_Input" part="parameters"
    query="/ns3:CopyAndTransformElement/ns3:transformMapType"/>
    </copy>
    </assign>
    <invoke name="Invoke_MapAction" partnerLink="MapActionService"
    portType="ns4:MapActionService" operation="CopyAndTransform"
    inputVariable="InvokeMapAction_Input"
    outputVariable="InvokeMapAction_Output"/>
    <assign name="Assign_6">
    <copy>
    <from variable="InvokeMapAction_Output" part="parameters"
    query="/ns3:CopyAndTransformResponseElement/ns3:result"/>
    <to variable="ClientOutput" part="parameters"
    query="/ns3:TotalBPELProcessResponse/ns3:result"/>
    </copy>
    </assign>
    <invoke name="Invoke_CallBack" partnerLink="TotalBPELProcess"
    portType="ns4:TotalBPELProcessCallback" operation="onResult"
    inputVariable="ClientOutput"/>
    </sequence>
    </process>
    *==================WSDL file of process invoke port================*
    <definitions
    name="TotalBPELProcess"
    targetNamespace="http://mapcopyservices/"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:tns="http://mapcopyservices/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:tns0="http://mapcopyservices/types/"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    >
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://mapcopyservices/types/"
    elementFormDefault="qualified" xmlns:tns="http://mapcopyservices/types/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
    <complexType name="MapConnection">
    <sequence>
    <element name="layerName" type="string" nillable="true"/>
    <element name="connString" type="string" nillable="true"/>
    <element name="mapType" type="int"/>
    </sequence>
    </complexType>
    <element name="TotalBPELProcessRequest">
    <complexType>
    <sequence>
    <element name="sourceConn" type="tns:MapConnection" nillable="true"/>
    <element name="destConn" type="tns:MapConnection" nillable="true"/>
    <element name="transformMapType" type="int"/>
    </sequence>
    </complexType>
    </element>
    <element name="TotalBPELProcessResponse">
    <complexType>
    <sequence>
    <element name="result" type="int"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    <message name="TotalBPELProcessRequestMessage">
    <part name="parameters" element="tns0:TotalBPELProcessRequest"/>
    </message>
    <message name="TotalBPELProcessResponseMessage">
    <part name="parameters" element="tns0:TotalBPELProcessResponse"/>
    </message>
         <portType name="TotalBPELProcessInvoke">
              <operation name="initiate">
                   <input message="tns:TotalBPELProcessRequestMessage"/>
              </operation>
         </portType>
         <!-- portType implemented by the requester of BPELProcess1 BPEL process
         for asynchronous callback purposes
         -->
         <portType name="TotalBPELProcessCallback">
              <operation name="onResult">
                   <input message="tns:TotalBPELProcessResponseMessage"/>
              </operation>
         </portType>
         <plnk:partnerLinkType name="TotalBPELProcess">
              <plnk:role name="TotalBPELProcessProvider">
                   <plnk:portType name="tns:TotalBPELProcessInvoke"/>
              </plnk:role>
              <plnk:role name="TotalBPELProcessRequester">
                   <plnk:portType name="tns:TotalBPELProcessCallback"/>
              </plnk:role>
         </plnk:partnerLinkType>
    </definitions>
    *===================JSP invoking file=====================*
    <%@ page contentType="text/html;charset=windows-1252"%>
    <%@page import="java.util.Map" %>
    <%@page import="com.oracle.bpel.client.Locator" %>
    <%@page import="com.oracle.bpel.client.NormalizedMessage" %>
    <%@page import="com.oracle.bpel.client.delivery.IDeliveryService" %>
    <%@page import="java.util.*" %>
    <%@ page import="javax.naming.Context" %>
    <%@ page import="javax.naming.InitialContext" %>
    <%@ page import="javax.naming.NamingException" %>
    <%@ page import="javax.rmi.PortableRemoteObject" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
    <title>CopyMap</title>
    </head>
    <body>
         <%
    try{
         String xml =
    "<ns100:TotalBPELProcessRequest xmlns:ns100=\"http://mapcopyservices/types/\">"+
    "<ns100:sourceConn>"+
    "<ns100:layerName>1</ns100:layerName>"+
    "<ns100:connString>1</ns100:connString>"+
    "<ns100:mapType>1</ns100:mapType>"+
    "</ns100:sourceConn>"+
    "<ns100:destConn>"+
    "<ns100:layerName>1</ns100:layerName>"+
    "<ns100:connString>1</ns100:connString>"+
    "<ns100:mapType>1</ns100:mapType>"+
    "</ns100:destConn>"+
    "<ns100:transformMapType>1</ns100:transformMapType>"+
    "</ns100:TotalBPELProcessRequest>";
    Hashtable jndi = new Hashtable();
    jndi.put(Context.PROVIDER_URL, "opmn:ormi://amir:6003:oc4j_soa/orabpel");
    jndi.put(Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory");
    jndi.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");
    jndi.put(Context.SECURITY_CREDENTIALS, "as123456");
    Locator locator = new Locator("default","as123456",jndi);
         IDeliveryService deliveryService =
              (IDeliveryService)locator.lookupService
              (IDeliveryService.SERVICE_NAME );
         NormalizedMessage nm = new NormalizedMessage( );
         nm.addPart("payload", xml );
    deliveryService.post("MapCopyProject", "initiate", nm);
         out.println( "BPELProcess MapCopyProject initiated!<br>" );
    catch(Exception ex){
    out.println(ex.getMessage());
    ex.printStackTrace();
         %>
    </body>
    </html>
    *===================================*
    Error occurs in first assign activity like this:
    *=========*
    Error in evaluate <from> expression at line "97". The result is empty for the XPath expression : "/ns3:TotalBPELProcessRequest/ns3:sourceConn".
    *=========*
    Please tell me if you know how to solve it. Thanks

    It sounds very much like a namespace issue.
    As it works from the BPELConsole, fill in the values in the BPELConsole initiate page and switch from the HTML to the XML view. Copy the XML to Notepad or another suitable editor; then insert it as fixed values into the Java/JSP code and try to call the server with the hardcoded payload instead of the one you are generating.
    You can also save the payload in the JSP (write it to a file or standard output) before the call; then open it in jDeveloper or Eclipse and validate it against the schema. That way you will find if the XML is invalid.
    Also, check the flow in the BPELConsole. As it fails on an XPath expression you must have a process. If you click on the receive activity you can see the received payload. Again, copy that to jDeveloper or Eclipse and validate it. Also compare it to the XML you get if you initiate the process manuallly. There must be some difference.
    If you still can't get it to work, post the XML from the initiate operation and from the JSP operation (as they are seen in the receive activity) and we can help you check them out!

  • A problem with initiating a BPEL process through its web service interface

    hi,
    i am trying to initiate the helloWorld BPEL process through its web service interface. i use a proxy class that i wrote and i use it from J#.net.
    this is the relevant code part:
    hello.HelloWorldBinding wsProxy = new hello.HelloWorldBinding();
    wsProxy.initiate("Hello");
    and the server shows the following message:
    ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.
    engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: Cannot
    decode properties.
    The process domain was unable to decode the properties for message guid 10, whic
    h are stored in column String index out of range: 3094; the exception reported i
    s: {2}.
    sql statement: SELECT conv_id, message_guid, domain_ref, process_id, revision_ta
    g, operation_name, receive_date, state, priority, properties FROM invoke_message
    WHERE message_guid = ?
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(Dispatc
    hHelper.java:152)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseSche
    duledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java
    :86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDriven
    BeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome
    .java:755)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:
    928)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(Relea
    sableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    <2006-05-10 21:21:15,171> <ERROR> <default.collaxa.cube.engine.data> <BaseDeliveryPersistenceAdaptor::loadInvokeMetaDa
    java.lang.StringIndexOutOfBoundsException: String index out of range: 3094
    at java.lang.String.substring(String.java:1441)
    at com.collaxa.common.util.LVDecoder.decodeElement(LVDecoder.java:152)
    at com.collaxa.common.util.LVDecoder.decodeToMap(LVDecoder.java:45)
    at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.loadInvokeMetaData(BaseDeliveryPersi
    r.java:2186)
    at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.__loadInvoke(BaseDeliveryPersistence
    :2112)
    at com.collaxa.cube.engine.adaptors.common.BaseDeliveryPersistenceAdaptor.loadInvoke(BaseDeliveryPersistenceAd
    079)
    at com.collaxa.cube.engine.data.DeliveryPersistenceMgr.loadInvoke(DeliveryPersistenceMgr.java:357)
    at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:465)
    at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335)
    at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBe
    java:1796)
    at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHa
    7)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
    at java.lang.Thread.run(Thread.java:534)
    what is the problem? how come i can't initiate the process?
    i will be happy if i could get help..
    thanks in advance

    can you initate the process from the bpel console successfully?
    if so can you use obtunnel from the installation to trace the soap message (that goes over the wire), my best guess in this case is a problem with a header (holding the wsa information) ..
    after starting obtunnel it will liesten to a custom port, and will forward the request to the engine, so you need to point your client to this new port..
    hth clemens

  • Problem in installing Oracle BPEL process manager 10.1.3.1.0

    Hi
    I have started with installing oracle bpel PM using soa_windows_x86_101310_disk1.zip from oracle site. After proceeding for some time installation failed prompting "could not create java virtual machine". after searching in few forums, i have stopped installation and tried to restart opmnctl.
    below is the link that i have followed
    problem installing 10.1.3.1 Developer Preview
    But after all these attempts i am still unable to solve the error (from error log) "Error occurred during initialization of VM Could not reserve enough space for object heap".
    Below is the error i am getting while trying to execute opmnctl startall
    ias-component/process-type/process-set:
    default_group/home/default_group/
    Error
    --> Process (index=1,uid=233262511,pid=372)
    failed to start a managed process after the maximum retry limit
    Log:
    C:\product\10.1.3.1\OracleAS_1\opmn\logs\\default_group~home~default_group~1
    .log
    Pl help me how to proceed further.
    Rgds,
    Veera

    Hi, Please post this in BPEL forum, not here.
    Regards,
    Priyanka GES

  • Problem on ADF binding with BPEL process composed as web service

    I have an ADF page which has its own EO, AM and VO (view1), after I created a web service data control for an existing BPEL process and a command button for it, I found in the binding section, the view1 doesn't contain all its table column attributes, all it has is some attributes such as attributeDef, currentRow, error etc. Can you please let me know what is missing here? What I'm trying to do is bind table attributes to BPEL input variables and call the BPEL process.
    Thanks
    Tony

    Hi,
    if you deployed this to OC4J, open EM
    http://server:port/em
    and get to the Web service. You can execute it from here to see if generally this is working, or if you have a proxy problem only
    Frank

  • Problem while using HTTP Binding in BPEL

    Hello
    I have a scenario where I am suppose to access a JSON based RESTful API from BPEL. I have created a HTTP binding adapter for the given endpoint.
    When I test the process I am getting the following error
    <part name="summary">
    <summary>oracle.fabric.common.FabricInvocationException: Unable to access the following endpoint(s): REPLACE_WITH_ACTUAL_URL</summary>
    </part>
    <part name="detail">
    <detail>Unable to access the following endpoint(s): REPLACE_WITH_ACTUAL_URL</detail>
    </part>
    And while I was compiling it in JDeveloper I am getting the following error
    Warning(24,52): Failed to Find Binding "Get":"{http://xmlns.oracle.com/pcbpel/adapter/http/ProcessProject/GetContact/Get}Request_Response_pt" in WSDL Manager
    Can anyone please help me with this?
    Thanks

    Thank you for the reply
    I am able to contact the same endpoint from SoapUI and also the browser. As far as I know there is no proxy that is required but I will still go ahead and ask the provider.
    And do you have any clue why I am getting the error in Jdev when I compile the project?
    And another thing that I would like to mention is that the WSDL that the HTTP Binding adapter created is incomplete as in it does not have the <wsdl:service> tag, is that something that I should be looking out for?
    This is what my WSDL (generated by HTTP Binding Adapter) looks like
    <?xml version="1.0" encoding="UTF-16"?>
    <wsdl:definitions
    name="Get"
    targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/http/ProcessProject/GetContact/Get"
    xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/http/ProcessProject/GetContact/Get"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:msg_in_out="http://TargetNamespace.com/http"
    xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
    <plt:partnerLinkType name="Request_Response_plt">
    <plt:role name="Request-Response_role">
    <plt:portType name="tns:Request_Response_ptt"/>
    </plt:role>
    </plt:partnerLinkType>
    <wsdl:types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://TargetNamespace.com/http" schemaLocation="xsd/Get.xsd"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="root_msg_in">
    <wsdl:part name="root" element="msg_in_out:root"/>
    </wsdl:message>
    <wsdl:message name="root_msg_out">
    <wsdl:part name="root" element="msg_in_out:root"/>
    </wsdl:message>
    <wsdl:portType name="Request_Response_ptt">
    <wsdl:operation name="Request-Response">
    <wsdl:input message="tns:root_msg_in"/>
    <wsdl:output message="tns:root_msg_out"/>
    </wsdl:operation>
    </wsdl:portType>
    </wsdl:definitions>
    Thanks
    Edited by: user1165407 on Aug 1, 2012 3:54 PM

  • Newbie: does Oracle BPEL Process Manager support http-get/post binding?

    Hi all,
    i'm a newbie in using bpel4ws. Two things i must know before using the Oracle BPEL Process Manager:
    1. Does the manager support the sub-specification bpel4ws?
    2. I want to orchestrate some services which aren't binded using http-SOAP or rpc. They are binded using http-GET and http-POST. Does the manager support these bindings too?

    Hi Clemens,
    thanks for answering.
    Ähhm... as i told you, i'm newbie here. I searched for the content of
    samples/tutorials/702.bindings/http
    But i'm afraid i don't know where to start. Its no URL and i didn't find the source of this path. Can you add the full URL or tell me how to get to the source of these samples?
    thanks
    Albrecht

  • Problem calling BPEL process using apache axis client

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

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

  • Problem by BPEL process compilation with JDeveloper

    Hi,
    I don't quite know whether my problem is in the JDeveloper forum or Oracle Process Manager one.
    I am currently trying to execute a process, with dynamic invocation and dynamic management capabilities, but I won't go into technical details. In the WSDL Definition for the process I have defined 2 partnerLinkTypes - one for the standard synchronous request/response (receive-reply) and one for my management port (asynchronous receive).
    The end of the WSDL Definition is as follows:
    <portType name="ConfigurationPort">
    <operation name="ConfigurationChanged">
    <input message="client:ConfigMessage"/>
    </operation>
    </portType>
    <portType name="DynamicDBServiceProcess">
    <operation name="process">
    <input message="client:DynamicDBServiceProcessRequestMessage"/>
    <output message="client:DynamicDBServiceProcessResponseMessage"/>
    </operation>
    </portType>
    <plnk:partnerLinkType name="DynamicDBServiceProcess">
    <plnk:role name="DynamicDBServiceProcessProvider">
    <plnk:portType name="client:DynamicDBServiceProcess"/>
    </plnk:role>
    </plnk:partnerLinkType>
    <plnk:partnerLinkType name="ConfigPartner">
    <plnk:role name="Reconfigure">
    <plnk:portType name="client:ConfigurationPort"/>
    </plnk:role>
    <plnk:role name="ReconfigureResponse">
    <plnk:portType name="client:ConfigurationPort"/>
    </plnk:role>
    </plnk:partnerLinkType>
    The JDeveloper BPEL compiler is supposed to generate the binding and service tags for my abstract portTypes, but the binding and service for my ConfigurationPort are somehow wrong generated:
    <binding name="DynamicDBServiceProcessBinding" type="tns:DynamicDBServiceProcess">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="process">
    <soap:operation style="document" soapAction="process"/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <binding name="ConfigurationPortBinding" type="tns:ConfigurationPort">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="ConfigurationChanged">
    <soap:operation style="document" soapAction="ConfigurationChanged"/>
    <input>
    <soap:header message="tns:WSARelatesToHeader" part="RelatesTo" use="literal" encodingStyle=""/>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="DynamicDBServiceProcess">
    <port name="DynamicDBServiceProcessPort" binding="tns:DynamicDBServiceProcessBinding">
    <soap:address location="http://I71NB60:9700/orabpel/default/DynamicDBServiceProcess/2.4"/>
    </port>
    </service>
    <service name="ConfigurationPortService">
    <port name="ConfigurationPortPort" binding="tns:ConfigurationPortBinding">
    <soap:address location="http://set.by.caller"/>
    </port>
    </service>
    I tried to find some configuration property for the project in order to properly modify the generation of my soap:address location (it surely isn't http://set.by.caller/). Nevertheless the process compiles fine and is successfully deployed, but at runtime an exception is generated because of "java.sql.SQLException: [POL-3221] Null-Schl?ssel in prim?rem Index" (trying to insert a NULL key in the primary Index). Has anyone know how to tune my project (or compiler) settings in order to generate a proper binding and service?
    Best regards,
    Genadi Genov

    Try posting on the BPEL forum BPEL

  • Problems in invoking BPEL process

    Hi there,
    I created with JDeveloper the following BPEL process :
    <?xml version = "1.0" encoding = "UTF-8" ?>
    <process name="ProvaBPEL" targetNamespace="http://xmlns.oracle.com/ProvaBPEL"
    xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:ns1="http://www.research.ibm.com/wsla"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:client="http://xmlns.oracle.com/ProvaBPEL"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <partnerLinks>
    <!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="client" partnerLinkType="client:ProvaBPEL"
    myRole="ProvaBPELProvider"/>
    </partnerLinks>
    <variables>
    <!-- Reference to the message passed as input during initiation -->
    <variable name="inputVariable"
    messageType="client:ProvaBPELRequestMessage"/>
    <!-- Reference to the message that will be returned to the requester-->
    <variable name="outputVariable"
    messageType="client:ProvaBPELResponseMessage"/>
    </variables>
    <sequence name="main">
    <!-- Receive input from requestor. (Note: This maps to operation defined in ProvaBPEL.wsdl) -->
    <receive name="receiveInput" partnerLink="client"
    portType="client:ProvaBPEL" operation="process"
    variable="inputVariable" createInstance="yes"/>
    <!-- Generate reply to synchronous request -->
    <assign name="Assign_1">
    <copy>
    <from variable="inputVariable" part="payload"/>
    <to variable="outputVariable" part="payload"/>
    </copy>
    </assign>
    <reply name="replyOutput" partnerLink="client" portType="client:ProvaBPEL"
    operation="process" variable="outputVariable"/>
    </sequence>
    </process>
    which gets as input a WSLA type (http://www.research.ibm.com/wsla) and returns it as output without performing any operation (just a copy operation).
    I have deployed the process and it can be accessed at http://localhost/8888/orabpel/default/ProvaBPEL/1.0. I can see it in the BPEL Console but (first problem) I can't test it because I can't see the usual HTML form the BPEL console shows. I can't see the origine xml form too. If I go to the BPEL endpoint I see the following error message:
    Cannot test this Operation using the Test Page because Could not understand type: {http://www.research.ibm.com/wsla}StringList
    The wsdl of the deployed BPEL Process is:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="ProvaBPEL"
    targetNamespace="http://xmlns.oracle.com/ProvaBPEL"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:client="http://xmlns.oracle.com/ProvaBPEL"
    xmlns:ns1="http://www.research.ibm.com/wsla"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
         <types>
              <schema xmlns="http://www.w3.org/2001/XMLSchema">
                   <import namespace="http://www.research.ibm.com/wsla" schemaLocation="WSLA093.xsd" />
              </schema>
         </types>
         <message name="ProvaBPELRequestMessage">
              <part name="payload" element="ns1:SLA" />
         </message>
         <message name="ProvaBPELResponseMessage">
              <part name="payload" element="ns1:SLA" />
         </message>
         <!-- portType implemented by the ProvaBPEL BPEL process -->
         <portType name="ProvaBPEL">
              <operation name="process">
                   <input message="client:ProvaBPELRequestMessage" />
                   <output message="client:ProvaBPELResponseMessage"/>
              </operation>
         </portType>
         <plnk:partnerLinkType name="ProvaBPEL">
              <plnk:role name="ProvaBPELProvider">
                   <plnk:portType name="client:ProvaBPEL"/>
              </plnk:role>
         </plnk:partnerLinkType>
    </definitions>
    I used Apache XMLBeans to bind the WSLA types to Java types creating a WSLA.jar that I import in the following client I have developed:
    import com.ibm.research.wsla.*;
    import java.io.File;
    import java.net.URL;
    import javax.xml.soap.*;
    import org.w3c.dom.Document;
    import org.w3c.dom.Node;
    public class SOAPClient {
    public static void main(String[] args) {
    SOAPConnectionFactory fact;
    try {  
    fact = SOAPConnectionFactory.newInstance();
    SOAPConnection con = fact.createConnection();
    MessageFactory mfact = MessageFactory.newInstance();
    SOAPMessage smsg = mfact.createMessage();
    SOAPPart prt = smsg.getSOAPPart();
    SOAPEnvelope env = prt.getEnvelope();
    SOAPBody bdy = env.getBody();
    File xmlfile = new File("C:\\prova.xml");
    SLADocument sladoc = SLADocument.Factory.parse(xmlfile);
    Node nd = sladoc.getDomNode();
    bdy.addDocument((Document) nd);
    System.out.println("SOAP Message:");
    smsg.writeTo(System.out);
    System.out.println();
    System.out.println();
    //Set the WebService end point URL
    URL endpoint = new URL("http://dana:8888/orabpel/default/ProvaBPEL/1.0");
    //Send the message
    SOAPMessage response;
    response = con.call(smsg, endpoint);
    System.out.println("Received SOAP Message:");
    response.writeTo(System.out);
    System.out.println();
    //Close the connection
    con.close();
    catch (Exception e) {
    e.printStackTrace();
    The client simply parses an XML file and uses it as bosy of the SOAP message.
    JDeveloper compiles it without errors but when I run the project (second problem) I get the following as SOAP response:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><env:Header/><env:Body><env:Fault xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"><faultcode>env:Server</faultcode><faultstring>java.lang.NullPointerException</faultstring><faultactor></faultactor></env:Fault></env:Body></env:Envelope>
    and I can't see any instance of the BPEL Process in the BPEL Console. I'm quite sure the SOAP message is well formed because I can see it in the Running output. I also tried with simpler BPEL process for which I can see the HTML form in the BPEL Console and copying and pasting the SOAP message generated with my client in the Origine XML form the Process was invoked correctly.
    Can anybody help me? Thanks in advance.

    Great! Thank you for the reply! Now I manage to invocate the BPEL process. I put the line:
    smsg.getMimeHeaders().addHeader("SOAPAction", "process");
    and now my day is a good day!
    However I tried to place the import of the WSLA093.xsd schema outside the types element with:
    <import namespace="http://www.research.ibm.com/wsla" location="WSLA093.xsd" />
    but it didn't work. Now the wsdl file of the BPEL Process is:
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="ProvaBPEL"
    targetNamespace="http://xmlns.oracle.com/ProvaBPEL"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:client="http://xmlns.oracle.com/ProvaBPEL"
    xmlns:ns1="http://www.research.ibm.com/wsla"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/">
    <import namespace="http://www.research.ibm.com/wsla" location="WSLA093.xsd" />
    <types>
              <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://www.research.ibm.com/wsla" schemaLocation="WSLA093.xsd" />
              </schema>
         </types>
         <message name="ProvaBPELRequestMessage">
              <part name="payload" element="ns1:SLA" />
         </message>
         <message name="ProvaBPELResponseMessage">
              <part name="payload" element="ns1:SLA" />
         </message>
         <!-- portType implemented by the ProvaBPEL BPEL process -->
         <portType name="ProvaBPEL">
              <operation name="process">
                   <input message="client:ProvaBPELRequestMessage" />
                   <output message="client:ProvaBPELResponseMessage"/>
              </operation>
         </portType>
         <plnk:partnerLinkType name="ProvaBPEL">
              <plnk:role name="ProvaBPELProvider">
                   <plnk:portType name="client:ProvaBPEL"/>
              </plnk:role>
         </plnk:partnerLinkType>
    </definitions>
    Please tell me if it is correct. I also tried to delete the line:
    <import namespace="http://www.research.ibm.com/wsla" schemaLocation="WSLA093.xsd" />
    from the types element (even if I don't know if it is correct) but I always have the same error in the BPEL endpoint page:
    Cannot test this Operation using the Test Page because Could not understand type: {http://www.research.ibm.com/wsla}StringList
    Thank you very muche for the help.

  • Problem when calling BPEL process (WS) from APEX

    I am trying to add a web service call to a BPEL process I have created (tried a few others aswell), but every time I try to add the WDSL file I get the following error:
    *1 error has occurred*
    The WSDL document contains multiple SOAP bindings. Application Express only supports WSDL's with one SOAP binding. Click Create Web Service Reference Manually to continue creating a reference for this service.
    It is a simple BPEL process which works fine when called from the BPEL Console, however I have no success when calling it from APEX.
    Am I doing something wrong, or is there a bug in BPEL/APEX?
    Oracle BPEL Console v10.1.3.1.0
    Apex: 3.2
    The WDSL looks like this:
    <definitions name="BPELProcess9" targetNamespace="http://xmlns.oracle.com/BPELProcess9">

    <types>

    <schema>
    <import namespace="http://xmlns.oracle.com/BPELProcess9" schemaLocation="BPELProcess9.xsd"/>
    </schema>

    <schema>
    <import namespace="http://schemas.xmlsoap.org/ws/2003/03/addressing" schemaLocation="http://xxx:8888/orabpel/xmllib/ws-addressing.xsd"/>
    </schema>
    </types>

    <message name="BPELProcess9ResponseMessage">
    <part name="payload" element="tns:BPELProcess9ProcessResponse"/>
    </message>

    <message name="BPELProcess9RequestMessage">
    <part name="payload" element="tns:BPELProcess9ProcessRequest"/>
    </message>

    <message name="WSAReplyToHeader">
    <part name="ReplyTo" element="wsa:ReplyTo"/>
    </message>

    <message name="WSARelatesToHeader">
    <part name="RelatesTo" element="wsa:RelatesTo"/>
    </message>

    <message name="WSAMessageIDHeader">
    <part name="MessageID" element="wsa:MessageID"/>
    </message>

    <portType name="BPELProcess9Callback">

    <operation name="onResult">
    <input message="tns:BPELProcess9ResponseMessage"/>
    </operation>
    </portType>

    <portType name="BPELProcess9">

    <operation name="initiate">
    <input message="tns:BPELProcess9RequestMessage"/>
    </operation>
    </portType>

    <binding name="BPELProcess9Binding" type="tns:BPELProcess9">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

    <operation name="initiate">
    <soap:operation style="document" soapAction="initiate"/>

    <input>
    <soap:header message="tns:WSAReplyToHeader" part="ReplyTo" use="literal" encodingStyle=""/>
    <soap:header message="tns:WSAMessageIDHeader" part="MessageID" use="literal" encodingStyle=""/>
    <soap:body use="literal"/>
    </input>
    </operation>
    </binding>

    <binding name="BPELProcess9CallbackBinding" type="tns:BPELProcess9Callback">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

    <operation name="onResult">
    <soap:operation style="document" soapAction="onResult"/>

    <input>
    <soap:header message="tns:WSARelatesToHeader" part="RelatesTo" use="literal" encodingStyle=""/>
    <soap:body use="literal"/>
    </input>
    </operation>
    </binding>

    <service name="BPELProcess9">

    <port name="BPELProcess9Port" binding="tns:BPELProcess9Binding">
    <soap:address location="http://xxxx:8888/orabpel/default/BPELProcess9/1.1"/>
    </port>
    </service>

    <service name="BPELProcess9CallbackService">

    <port name="BPELProcess9CallbackPort" binding="tns:BPELProcess9CallbackBinding">
    <soap:address location="http://set.by.caller"/>
    </port>
    </service>

    <plnk:partnerLinkType name="BPELProcess9">

    <plnk:role name="BPELProcess9Requester">
    <plnk:portType name="tns:BPELProcess9Callback"/>
    </plnk:role>

    <plnk:role name="BPELProcess9Provider">
    <plnk:portType name="tns:BPELProcess9"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>

    Allow me to reply to my own thread, for the benefit of any others who might want to invoke a BPEL WS from APEX facing the same problem:
    Apex does not seem to like asynchronous BPEL processes so the trick is to make a synchronous BPEL process call the asynchronous BPEL process.

Maybe you are looking for