Track webservice calls in BPEL

Hi,
I would like to know if there is any table in orabpel where i can find teh webservice calls recevied and the status of the call and who/which application requested it?
in my project, we use two technologies for integration, one is GIS (genetran integration suite) and BPEL. The GIS tries to call BPEL webservice to get details. but sometimes the webservice fails and being both of them (GIS & BPEL) are clusted servers with 2 nodes for GIS & 3 nodes for BPEL i am not able to find where is the exact failure.
your help is much appreciated. Thanks in advance.
PS: This is my first post in this forum so pelase bare with any mistakes i made.
Regards
Murali

I hope you are putting the code in the click event of a a custom Regular button and not using the one that can be drag-drop from the connectionset.
Try sap-username as parameter instead of sap-user in above code statement.
var cURL = "http://....?sap-client=<client no>&sap-username=<username>&sap-password=<password>" ;

Similar Messages

  • BPEL-- Urgent- Handling webservice  call failures

    Urgent-->We have to do a webservice call in our BPEL Process.If the webservice call fails it has to wait for 3 mins and retry again.Please suggets me some solution.I dont want to use WAIT BPEL Activity or JAVA thread.sleep.Any more ideas.Oracle Team help

    Here is my composite.xml
    <?xml version="1.0" encoding="UTF-8" ?>
    <!-- Generated by Oracle SOA Modeler version 1.0 at [8/24/09 10:32 PM]. -->
    <composite name="Call_ECM"
    revision="930.0"
    label="2009-08-24_22-32-06_694"
    mode="active"
    state="on"
    xmlns="http://xmlns.oracle.com/sca/1.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
    xmlns:orawsp="http://schemas.oracle.com/ws/2006/01/policy"
    xmlns:ui="http://xmlns.oracle.com/soa/designer/">
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/jms/SalesSupport/Call_ECM/InboundJMSConsume_PL%2F"
    location="InboundJMSConsume_PL.wsdl" importType="wsdl"/>
    <import namespace="ATVECMSRCREATE"
    location="ATVECMSRCREATE_ATVECMSRCREATERef.wsdl" importType="wsdl"/>
    <import namespace="http://xmlns.oracle.com/ias/pcbpel/NotificationService"
    location="NotificationService.wsdl" importType="wsdl"/>
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/jms/SalesSupport/Call_ECM/OFMW_Logging_BAM_JMS_PRO%2F"
    location="OFMW_Logging_BAM_JMS_PRO.wsdl" importType="wsdl"/>
    <service name="InboundJMSConsume_PL"
    ui:wsdlLocation="InboundJMSConsume_PL.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/jms/SalesSupport/Call_ECM/InboundJMSConsume_PL%2F#wsdl.interface(Consume_Message_ptt)"/>
    <binding.jca config="InboundJMSConsume_PL_jms.jca"/>
    </service>
    <component name="SalesSupport___Siebel">
    <implementation.bpel src="SalesSupport___Siebel.bpel"/>
    <property name="activationAgent.InboundJMSConsume_PL.className"
    type="xs:string" many="false">oracle.tip.adapter.fw.agent.jca.JCAActivationAgent</property>
    <property name="activationAgent.InboundJMSConsume_PL.portType"
    type="xs:string" many="false">Consume_Message_ptt</property>
    <property name="configuration.transaction" type="xs:string"
    many="false">requires</property>
    </component>
    <reference name="_OutboundWSSiebelInvoke_PL"
    ui:wsdlLocation="ATVECMSRCREATE_ATVECMSRCREATERef.wsdl">
    <interface.wsdl interface="ATVECMSRCREATE#wsdl.interface(ATVECMSRCREATEPORT)"/>
    <binding.ws port="ATVECMSRCREATE#wsdl.endpoint(ATVECMSRCREATE/ATVECMSRCREATEPORT)"
    location="ATVECMSRCREATE_ATVECMSRCREATERef.wsdl"/>
    </reference>
    <reference name="NotificationService"
    ui:wsdlLocation="NotificationService.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/ias/pcbpel/NotificationService#wsdl.interface(NotificationService)"/>
    <binding.wsif port="http://xmlns.oracle.com/ias/pcbpel/NotificationService#wsdl.endpoint(NotificationService/JavaPort)"
    location="NotificationService.wsdl"/>
    </reference>
    <reference name="OFMW_Logging_BAM_JMS_PRO"
    ui:wsdlLocation="OFMW_Logging_BAM_JMS_PRO.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/pcbpel/adapter/jms/SalesSupport/Call_ECM/OFMW_Logging_BAM_JMS_PRO%2F#wsdl.interface(Produce_Message_ptt)"/>
    <binding.jca config="OFMW_Logging_BAM_JMS_PRO_jms.jca"/>
    </reference>
    <wire>
    <source.uri>InboundJMSConsume_PL</source.uri>
    <target.uri>SalesSupport_CallECM_ACom_Siebel/InboundJMSConsume_PL</target.uri>
    </wire>
    <wire>
    <source.uri>SalesSupport_CallECM_ACom_Siebel/_OutboundWSSiebelInvoke_PL</source.uri>
    <target.uri>OutboundWSSiebelInvokePL</target.uri>
    </wire>
    <wire>
    <source.uri>SalesSupport_CallECM_ACom_Siebel/NotificationService</source.uri>
    <target.uri>NotificationService</target.uri>
    </wire>
    <wire>
    <source.uri>SalesSupport_CallECM_ACom_Siebel/OFMW_Logging_BAM_JMS_PRO</source.uri>
    <target.uri>OFMW_Logging_BAM_JMS_PRO</target.uri>
    </wire>
    </composite>
    Edited by: user11082822 on Nov 17, 2009 9:54 AM

  • Issue with Deploying and calling a BPEL process on ALBPM enterprise server

    Hi,
    I am trying to put in place a POC using Aqualogic BEA products (using ALBPM 5.7, Enterprise Server 5.7, ALSB 2.6, Weblogic App server 9.2). My goal is to put in place a simple BPEL process (using ALBPM) which would call a webservice exposed through ALSB. This BPEL process is initiated by a wrapper BPMN process calling the BPEL process through fuego code.
    Though we are able to do the above on a standalone ALBPM studio, When we try to deploy the exported BPM project on the enterprise server and access it through the hiper workspace portal we are getting the following error in the BPM Process Administrator Log of the Engine.
    A component failed while executing activity '/Process#Default-1.0/Global' (BP-method Global). Details: The task could not be successfully executed. Reason: 'fuego.connector.ConnectorException: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. '. Caused by: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. fuego.lang.ComponentExecutionException: The task could not be successfully executed. Reason: 'fuego.connector.ConnectorException: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. '. at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:916) at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1068) at fuego.server.execution.TaskExecution.invoke(TaskExecution.java:389) at fuego.server.execution.GlobalTaskExecution.invoke(GlobalTaskExecution.java:106) at fuego.server.execution.TaskExecution.executeCIL(TaskExecution.java:481) at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:655) at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:616) at fuego.server.execution.TaskExecution.executeTask(TaskExecution.java:442) at fuego.server.execution.GlobalTaskExecution.executeGlobalCIL(GlobalTaskExecution.java:164) at fuego.server.execution.GlobalTaskExecution.executeGlobalCIL(GlobalTaskExecution.java:142) at fuego.server.execution.Global.execute(Global.java:81) at fuego.server.AbstractProcessBean$38.execute(AbstractProcessBean.java:2496) at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:290) at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:462) at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:540) at fuego.transaction.TransactionAction.start(TransactionAction.java:213) at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:117) at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66) at fuego.server.AbstractProcessBean.runGlobalActivity(AbstractProcessBean.java:2491) at fuego.ejbengine.EJBProcessControlAdapter.runGlobalActivity(EJBProcessControlAdapter.java:386) at fuego.ejbengine.EJBProcessControlAdapter_hu750h_EOImpl.runGlobalActivity(EJBProcessControlAdapter_hu750h_EOImpl.java:2877) at fuego.ejbengine.EJBProcessControlAdapter_hu750h_EOImpl_WLSkel.invoke(Unknown Source) at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:335) at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:252) at fuego.ejbengine.EJBProcessControlAdapter_hu750h_EOImpl_921_WLStub.runGlobalActivity(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at fuego.papi.impl.AbstractProcessControlHandler.invokeInternal(AbstractProcessControlHandler.java:48) at fuego.papi.impl.j2ee.EJBProcessControlHandler.doInvoke(EJBProcessControlHandler.java:111) at fuego.papi.impl.j2ee.EJBProcessControlHandler.invoke(EJBProcessControlHandler.java:66) at $Proxy77.runGlobalActivity(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at fuego.lang.JavaClass.invokeMethod(JavaClass.java:1478) at fuego.lang.JavaObject.invoke(JavaObject.java:185) at fuego.papi.impl.j2ee.EJBExecution.next(EJBExecution.java:200) at fuego.portal.wapi.InteractiveExecution.process(InteractiveExecution.java:157) at fuego.portal.wapi.WebInteractiveExecution.process(WebInteractiveExecution.java:54) at fuego.portal.wapi.InteractiveExecution.process(InteractiveExecution.java:200) at fuego.portal.servlet.ExecutionDispatcher.runGlobalActivity(ExecutionDispatcher.java:659) at fuego.portal.servlet.ExecutionDispatcher.processRequest(ExecutionDispatcher.java:144) at fuego.portal.servlet.ExecutionDispatcher.doPost(ExecutionDispatcher.java:105) at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) at fuego.portal.servlet.AuthenticatedWamServlet.service(AuthenticatedWamServlet.java:1049) at fuego.portal.servlet.SingleThreadPerSession.service(SingleThreadPerSession.java:73) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at fuego.servlet.multipart.BaseMultipartFilter.doFilter(BaseMultipartFilter.java:57) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) Caused by: fuego.connector.ConnectorException: The configuration name [ProcessService] and type [Web Service] is not defined. Detail:The connector must be configured in the appropiate context. at fuego.connector.ConnectorException.connectorNotFound(ConnectorException.java:55) at fuego.connector.ConnectorService.getConnectorInterface(ConnectorService.java:586) at fuego.connector.ConnectorTransaction.getConnectorInterface(ConnectorTransaction.java:618) at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:254) at fuego.soaptype.WSConfiguration.getInstance(WSConfiguration.java:55) at fuego.soaptype.Endpoint.create(Endpoint.java:42) at fuego.soaptype.WebServiceInstantiator.instantiate(WebServiceInstantiator.java:58) at fuego.component.Component.instantiateDynamic(Component.java:123) at CapGemini.Process.Default_1_0.Instance.CIL_callBPEL(Instance.java:241) at CapGemini.Process.Default_1_0.Instance.CIL_callBPEL(Instance.java:307) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:907) ... 64 more
    Two things here that might help to understand the problem better :
    1) As I understand the error is due to some issue while calling the BPEL process from the Fuego code.
    The Fuego code which call's the BPEL from the BPMN process is as follows :
    helloResponse as String = "someoutput"
    helloRequest as String = "someinput"
    sessionid as String
    // Starting a Session.
    // In case you are testing this in the Studio,
    // the password must be the same as the user
    startSession BPELWSDL.ProcessServiceListenerWSDL.ProcessService
    using user = "test",
    password = "test"
    returning sessionid = result
    // createTest is the name of the operation
    // in the exposed process.
    // In this case the process "ExposedProcess"
    // has a web service operation
    // called "createTest" that is a "Process Creation" type
    // and uses the Begin activity's argument set
    callHello BPELWSDL.ProcessServiceListenerWSDL.ProcessService
    using sessionId = sessionid,
    arg1 = helloRequest
    returning helloResponse = result
    // Closing the session
    discardSession BPELWSDL.ProcessServiceListenerWSDL.ProcessService
    using sessionId = sessionid
    display "The BPEL's response : " + helloResponse
    2) Further, I had catalogued the BPEL's wsdl to the location http://localhost:9000/fuegoServices/ws/ProcessServiceListener?WSDL while running the same in Studio, but while deploying on the enterprise server , I made this point to http://localhost:7001/fuegoServices/ws/ProcessServiceListener?WSDL Is this correct ?
    Any thought on this issue would be appreciated.
    Regards
    Deepak

    Hi Deepak,
    We are also facing a similar problem, while accessing an external webservice from a BPM process.
    Were you able to resolve this issue.
    If so, Could you please let us know the procedure that you followed to resolve the issue.
    Thanks in Advance,
    Krishnaveni.

  • Unable to call a BPEL Process from ESB

    Has anyone worked on Oracle ESB ?
    I've implemented an ESB Scenario where, based on some value, either it should call one BPEL process otherwise it should call another BPEL Process. But, Routing Service is unable to call either of the service.
    Can anyone help me out?
    Thanks in Advance.
    Regards

    I am able to call the bpel processes from the bpel console. I tried to use the TCP Packet Monitor but it shows waiting for connection and doesn't turn up. I checked the port number. The local server port is correct but I dont know how to check the listener port for it i.e. by default showing 1234.
    I tried to test my esb through em as a webservice but it shows the following exception after input:
    <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>oracle.tip.esb.server.common.exceptions.BusinessEventRetriableException: An unhandled exception has been thrown in the ESB system. The exception reported is: "oracle.tip.esb.server.common.exceptions.BusinessEventFatalException: An unhandled exception has been thrown in the ESB system. The exception reported is: "java.lang.Exception: Failed to create "ejb/collaxa/system/DeliveryBean" bean; exception reported is: "javax.naming.NamingException: Lookup error: javax.naming.AuthenticationException: Not authorized; nested exception is:
         javax.naming.AuthenticationException: Not authorized [Root exception is javax.naming.AuthenticationException: Not authorized]
         at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:64)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:279)
         at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:83)
         at com.oracle.bpel.client.delivery.DeliveryService.request(DeliveryService.java:67)
         at oracle.tip.esb.server.service.impl.bpel.BPELService.processBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatchNonRoutingService(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source)
         at oracle.tip.esb.utils.EventUtils.raiseBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.service.EsbRouterSubscription.onBusinessEvent(Unknown Source)
         at oracle.tip.esb.server.dispatch.EventDispatcher.executeSubscription(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscription(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.processSubscriptions(Unknown Source)
         at oracle.tip.esb.server.dispatch.EventDispatcher.dispatchRoutingService(Unknown Source)
         at oracle.tip.esb.server.dispatch.InitialEventDispatcher.dispatch(Unknown Source)
         at oracle.tip.esb.server.dispatch.BusinessEvent.raise(Unknown Source)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.raiseEvent(Unknown Source)
         at oracle.tip.esb.server.service.impl.soap.EventOracleSoapProvider.processMessage(Unknown Source)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:869)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:460)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:177)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:711)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:368)
         at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:866)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:448)
         at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:216)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:117)
         at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:110)
         at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
         at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:239)
         at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:34)
         at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:880)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
         at java.lang.Thread.run(Thread.java:595)
    I've setup the trackable fields also but trackable data showed me no data. When I checked the validate check box, it has shown me error in first stage i.e. in file adapter itself.
    I don't know what's the problem?
    Please help as I am struggling with this.
    Thanks & Regards

  • Difference between HTTP Post and Webservice call

    Hi,
    Can anybody let me know the difference between HTTP Post and Webservice Calls and also how each one of them is acheived through BPEL.
    Thanks,
    Adi

    Hi Adi,
    The protocol may be the same but the "idea" is different...
    I recommend you reading this:
    http://www.w3schools.com/webservices/ws_intro.asp
    Cheers,
    Vlad
    Give points - it is good etiquette to reward an answerer points (5 - helpful; 10 - correct) for their post if they answer your question. If you think this is helpful, please consider giving points.

  • Error while calling a bpel service from OSB

    Hi
    I try to call a BPEL service from OSB 10.3 and use these bpel url's
    ormi://<hostname>:<rmi port>/<domain name>/<process name>
    opmn://<hostname>:<opmn port>/<oc4j instance name>/<domain name>/<process name>
    and I create a static service account with ocj4admin
    when I try to run the BusinessService then I got this error
    WARNING: Exception returned by remote server: {0}
    com.evermind.server.rmi.RMIConnectionException: Disconnected: javax.xml.namespace.QName; local class incompatible: stream classdesc serialVersionUID = -91204487
    54896609940, local class serialVersionUID = -916876369326528164
    at com.evermind.server.rmi.RmiCallQueue.notifyQueuedThreads(RmiCallQueue.java:70)
    at com.evermind.server.rmi.RMIClientConnection.notifyQueuedThreads(RMIClientConnection.java:208)
    at com.evermind.server.rmi.RMIClientConnection.resetState(RMIClientConnection.java:147)
    at com.evermind.server.rmi.RMIConnection.receiveDisconnect(RMIConnection.java:236)
    at com.evermind.server.rmi.RMIClientConnection.receiveDisconnect(RMIClientConnection.java:176)
    at com.evermind.server.rmi.RMIConnection.handleOrmiCommand(RMIConnection.java:208)
    Please help me out.I am using SOA Server 10.1.3.4 with jdk 1.4.
    Regards
    Ayush
    Edited by: Ayush fujitsu on Apr 6, 2010 3:36 AM

    Hi i have followed the following steps which is specified in this thread
    You need to follow below steps...
    add a java parameter to the OSB server. Go to domains\osb_domain\bin folder and edit the setDomainEnv file and add this line to this file. set JAVA_PROPERTIES=-Dplatform.home=%WL_HOME% -Dwls.home=%WLS_HOME% -Dweblogic.home=%WLS_HOME% -Dcom.sun.xml.namespace.QName.useCompatibleSerialVersionUID=1.0
    Step 2 is to replace the bpel jars in the bpel transport ear. Go folder osb_10.3\lib\transports and open bpel10gtransport.ear and replace the following jar files orabpel.jar, orabpel-common.jar , xmlparserv2.jar and oc4jclient.jar with the ones you can find in the soa suite 10.1.3 home.
    But still i am getting the error.
    I am using WLS (10.0).Is it compatible with bpel-10g protocol, because i have already called a sync BPEL process with http protocol and it worked?This thread talks about WLS(9.2)
    Regards
    Ayush

  • Question: How to call a BPEL process from a PL/SQL procedure

    Hi All,
    Greetings to all BPEL people. I have a question on how can we call a BPEL process from a PLSQL procedure. It might be a stupid question but i wanted to know whether this fetaure is available in BPEL as our scenario requires us to explore if this functionality is available in BPEL.
    Please let me know and also if possible please send me the links for the tutorials if it is available.
    Thanks In Advance,
    Dibya

    Yes u can do it. there are two ways.
    1) First one is using utl_http package of PL/SQL
    In this case u can create SOAP request message & send it as Http request to your deployed BPEL process.
    This package provides some methods like
    set_header,write_text,get_response,read_text etc..
    Following is part of code which may be helpful to you.
    create or replace package body test_book_order_sub_pkg
    is
    FUNCTION test_book_order_sub(p_subscription_guid IN RAW,
    p_event IN OUT WF_EVENT_T
                                            Return VARCHAR2 IS
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    launch_url varchar2(240) ;
         begin
         DBMS_OUTPUT.Put_Line('Subscription : Order has been booked');
         soap_request:='<?xml version="1.0" encoding="UTF-8"?>
         <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header/>
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/BES_BookOrder">
    <ns1:BES_BookOrderProcessRequest>
    <ns1:input>725</ns1:input>
    </ns1:BES_BookOrderProcessRequest>
    </soap:Body>
    </soap:Envelope>';
    http_req:= utl_http.begin_request
    ('http://172.28.5.191:8888/orabpel/default/BES_BookOrder/1.0',
    'POST',
    'HTTP/1.1'
    utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
    utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
    utl_http.set_header(http_req, 'SOAPAction', 'initiate');
         utl_http.write_text(http_req, soap_request) ;
    http_resp:= utl_http.get_response(http_req) ;
    utl_http.read_text(http_resp, soap_respond) ;
    utl_http.end_response(http_resp) ;
    DBMS_OUTPUT.Put_Line(soap_respond);
    return('SUCCESS');
    end test_book_order_sub;
    end test_book_order_sub_pkg;
    2) Second way is make your BPEL process listening to some database Queue(use AQ Adapter). & then put some message in tht queue from ur Pl/SQL code . This will also initiate BPEL instance. Check out AQAdapter tutorials.
    /mishit

  • Oracle 10gR2 WebService Call-In & Call-Out via PL/SQL (Step-by-Step Guide)

    Hi Everyone,
    This guide is for those of you who tried to Call-In and Call-Out WebService via Oracle 10gR2 using PL/SQL but failed a couple of times, re-installed a couple of times and retry, got it to work but don't know what made it work scenarios.
    Hope this helps ;-)
    Thanks,
    Henry Wu
    Instructions on how to use Oracle10gR2 Webservice Call-Out feature (Oracle JAX-RPC DII - Dynamic Invocation (DII) APIs)
    PREREQUISITE
    =================================================================
    1. Download Oracle Database 10g Release 2 (10.2.0.1.0) (ZIP, ~655MB)
    http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
    http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
    1.1 Choose Enterprise Edition
    2. Download 10.1.3.1 Callout Utility for 10g (R1 +R2) RDBMS (ZIP, ~13MB)
    http://download.oracle.com/technology/sample_code/tech/java/jsp/dbws-callout-utility-10131.zip
    2.1 Extract to C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131
    3. Download OC4J Standalone - Oracle Containers for J2EE (OC4J) 10g Release 3 (10.1.3.3) (ZIP, ~93MB; Pure Java—runs on all certified platforms)
    http://www.oracle.com/technology/software/products/ias/index.html (Download Site)
    http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
    3.1 Extract to C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    STEP-BY-STEP PROCEDURES
    =================================================================
    1. Prepare the database
    1.1 Connect to SYS account (or any account that can connect as SYSDBA)
    1.2 alter system set shared_pool_size=96M scope=both
    1.3 alter system set java_pool_size=80M scope=both
    1.4 ALTER USER SCOTT ACCOUNT UNLOCK;
    1.5 ALTER USER SCOTT IDENTIFIED BY "tiger";
    1.6 ALTER USER SCOTT QUOTA UNLIMITED ON USERS;
    1.7 GRANT PUBLIC TO SCOTT;
    1.8 GRANT Create Public Synonym TO SCOTT;
    2. Load Oracle SOAP client to SCOTT (for Oracle 10g Release 2 Database)
    2.1 Commands
    2.1.1 Open command prompt (cmd.exe)
    2.1.2 loadjava -u scott/tiger -r -v -f -genmissing -s -grant public C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\webservices\lib\soap.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\lib\dms.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\jlib\javax-ssl-1_1.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\servlet.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\mail.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\activation.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\http_client.jar C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\lib\ejb.jar
    2.1.3 It will take around 3 minutes and you will see "something" like the following when it completes (count may not be exact) :
    Classes Loaded: 909
    Resources Loaded: 75
    Sources Loaded: 0
    Published Interfaces: 0
    Classes generated: 0
    Classes skipped: 0
    Synonyms Created: 984
    Errors: 0
    2.1.3 Close this command prompt
    3. Load Oracle JAX-RPC client to SYS (for Oracle 10g Release 2 Database)
    3.1 Commands
    3.1.1 Open command prompt (cmd.exe)
    3.1.2 loadjava -u sys/oracle -r -v -f -genmissing -s -grant public C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\dbwsclientws.jar C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\dbwsclientdb102.jar
    3.1.2.1 It will take around 15 minutes and you will see "something" like following when it completes (count may not be exact) :
    Classes Loaded: 4027
    Resources Loaded: 81
    Sources Loaded: 0
    Published Interfaces: 0
    Classes generated: 61
    Classes skipped: 0
    Synonyms Created: 4108
    Errors: 0
    3.1.3 Close this command prompt
    4. Execute UTL_DBWS packages to SYS (for Oracle 10g Release 2 Database)
    4.1 Commands
    4.1.1 Connect to SYS account only
    4.1.2 Execute the following (in TOAD you should execute them as Script, press the "thunder" button)
    4.2.1 @"C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\utl_dbws_decl.sql"
    4.2.2 @"C:\oracle\product\10.2.0\db_1\dbws_callout_utility_10131\sqlj\lib\utl_dbws_body.sql"
    4.2.3 CREATE PUBLIC SYNONYM utl_dbws FOR sys.utl_dbws;
    5. Call-out a free Web Service using SCOTT
    5.1 Commands
    5.1.1 Connect to user SCOTT with password of TIGER
    5.1.2 Copy and Paste the following "Anonymous Block" (sample #1) and execute it :
    5.1.2.1 It sould return "PL/SQL DII client return ===> Redwood City"
    declare
    service_ utl_dbws.SERVICE;
    call_ utl_dbws.CALL;
    service_qname utl_dbws.QNAME;
    port_qname utl_dbws.QNAME;
    operation_qname utl_dbws.QNAME;
    string_type_qname utl_dbws.QNAME;
    retx ANYDATA;
    retx_string VARCHAR2(1000);
    retx_double number;
    retx_len number;
    params utl_dbws.ANYDATA_LIST;
    l_input_params utl_dbws.anydata_list;
    l_result ANYDATA;
    l_namespace VARCHAR2(1000);
    begin
    -- open internet explorer and navigate to http://webservices.imacination.com/distance/Distance.jws?wsdl
    -- search for 'targetNamespace' in the wsdl
    l_namespace := 'http://webservices.imacination.com/distance/Distance.jws';
    -- search for 'service name' in the wsdl
    service_qname := utl_dbws.to_qname(l_namespace, 'DistanceService');
    -- this is just the actual wsdl url
    service_ := utl_dbws.create_service(HTTPURITYPE('http://webservices.imacination.com/distance/Distance.jws?wsdl'), service_qname);
    -- search for 'portType name' in the wsdl
    port_qname := utl_dbws.to_qname(l_namespace, 'Distance');
    -- search for 'operation name' in the wsdl
    -- there will be a lot, we will choose 'getCity'
    operation_qname := utl_dbws.to_qname(l_namespace, 'getCity');
    -- bind things together
    call_ := utl_dbws.create_call(service_, port_qname, operation_qname);
    -- default is 'FALSE', so we make it 'TRUE'
    utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
    -- search for 'operation soapAction' under <wsdl:operation name="getCity">
    -- it is blank, so we make it ''
    utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
    -- search for 'encodingstyle' under <wsdl:operation name="getCity">
    utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
    -- search for 'binding style'
    utl_dbws.set_property(call_, 'OPERATION_STYLE', 'rpc');
    -- search for 'xmlns:xs' to know the value of the first parameter
    -- under <wsdl:message name="getCityResponse"> you will see the line <wsdl:part name="getCityReturn" type="xsd:string" />
    -- thus the return type is 'string", removing 'xsd:'
    string_type_qname := utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
    -- in the line <wsdl:operation name="getCity" parameterOrder="zip">
    -- the parameterOrder is 'zip', thus we put in 'zip'
    -- the 'ParameterMode.IN' is used to specify that we will be passing an "In Parameter" to the web service
    -- the 'ParameterMode.IN' is a constant variable in the sys.utl_dbws package
    utl_dbws.add_parameter(call_, 'zip', string_type_qname, 'ParameterMode.IN');
    utl_dbws.set_return_type(call_, string_type_qname);
    -- supply the In Parameter for the web service
    params(0) := ANYDATA.convertvarchar('94065');
    -- invoke the web service
    retx := utl_dbws.invoke(call_, params);
    -- access the returned value and output it to the screen
    retx_string := retx.accessvarchar2;
    dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
    -- release the web service call
    utl_dbws.release_service(service_);
    end;
    5.1.3 Copy and Paste the following "Anonymous Block" (sample #2) and execute it :
    5.1.3.1 It should return "PL/SQL DII client return ===> twelve thousand three hundred and forty five"
    declare
    service_ utl_dbws.SERVICE;
    call_ utl_dbws.CALL;
    service_qname utl_dbws.QNAME;
    port_qname utl_dbws.QNAME;
    operation_qname utl_dbws.QNAME;
    string_type_qname utl_dbws.QNAME;
    retx ANYDATA;
    retx_string VARCHAR2(1000);
    retx_double number;
    retx_len number;
    params utl_dbws.ANYDATA_LIST;
    l_input_params utl_dbws.anydata_list;
    l_result ANYDATA;
    l_namespace VARCHAR2(1000);
    begin
    -- open internet explorer and navigate to http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL
    -- search for 'targetNamespace' in the wsdl
    l_namespace := 'http://www.dataaccess.com/webservicesserver/';
    -- search for 'service name' in the wsdl
    service_qname := utl_dbws.to_qname(l_namespace, 'NumberConversion');
    -- this is just the actual wsdl url
    service_ := utl_dbws.create_service(HTTPURITYPE('http://www.dataaccess.com/webservicesserver/numberconversion.wso?WSDL'), service_qname);
    -- search for 'portType name' in the wsdl
    port_qname := utl_dbws.to_qname(l_namespace, 'NumberConversionSoap');
    -- search for 'operation name' in the wsdl
    -- there will be a lot, we will choose 'NumberToWords'
    operation_qname := utl_dbws.to_qname(l_namespace, 'NumberToWords');
    -- bind things together
    call_ := utl_dbws.create_call(service_, port_qname, operation_qname);
    -- default is 'FALSE', so we make it 'TRUE'
    utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
    -- search for 'operation soapAction' under <operation name="NumberToWords">
    -- it is blank, so we make it ''
    utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
    -- search for 'encodingstyle'
    -- cannot find xml tag 'encodingstyle', so we just use the following as the generic encoding style
    utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
    -- search for 'binding style'
    -- although 'document' was used, it produced an error, thus we will use 'rpc'
    -- this value is generally only 'document' or 'rpc'
    utl_dbws.set_property(call_, 'OPERATION_STYLE', 'rpc');
    -- search for 'xmlns:xs' to know the value of the first parameter
    -- under <xs:element name="NumberToWords"> you will see the line <xs:element name="ubiNum" type="xs:unsignedLong" />
    -- thus the return type is 'unsignedlong', removing 'xs:'
    -- however, upon testing, using 'unsignedlong' produced an error, while 'string' did not, so we will use 'string'
    string_type_qname := utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
    -- under <xs:element name="NumberToWords"> you will see the line <xs:element name="ubiNum" type="xs:unsignedLong" />
    -- the element name is 'ubiNum', thus we put in 'ubiNum'
    -- the 'ParameterMode.IN' is used to specify that we will be passing an "In Parameter" to the web service
    -- the 'ParameterMode.IN' is a constant variable in the utl_dbws package
    utl_dbws.add_parameter(call_, 'ubiNum', string_type_qname, 'ParameterMode.IN');
    utl_dbws.set_return_type(call_, string_type_qname);
    -- supply the In Parameter for the web service
    params(0) := ANYDATA.convertvarchar('12345');
    -- invoke the web service
    retx := utl_dbws.invoke(call_, params);
    -- access the returned value and output it to the screen
    retx_string := retx.accessvarchar2;
    dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
    -- release the web service call
    utl_dbws.release_service(service_);
    end;
    NOTES AND REFERENCES
    =================================================================
    This detailed step-by-step guide was produced with the following guide http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm
    I could still not load Oracle JAX-RPC client to SCOTT (step 4) as it produces an error. See the following for more details :
    http://forums.oracle.com/forums/thread.jspa?threadID=633219&tstart=0
    Also, I could not consume some of the other free Web Services out there for reasons I don't know, hope someone can help clarify. See the following for more details :
    http://forums.oracle.com/forums/thread.jspa?threadID=630733&tstart=0
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Instructions on how to use Oracle10gR2 Webservice Call-In feature
    PREREQUISITE
    =================================================================
    1. Download Oracle Database 10g Release 2 (10.2.0.1.0) (ZIP, ~655MB)
    http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
    http://download.oracle.com/otn/nt/oracle10g/10201/10201_database_win32.zip
    1.1 Choose Enterprise Edition
    2. Download OC4J Standalone - Oracle Containers for J2EE (OC4J) 10g Release 3 (10.1.3.3) (ZIP, ~93MB; Pure Java—runs on all certified platforms)
    http://www.oracle.com/technology/software/products/ias/index.html (Download Site)
    http://download.oracle.com/otn/java/oc4j/101330/oc4j_extended_101330.zip
    2.1 Extract to C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    STEP-BY-STEP PROCEDURES
    =================================================================
    1. Connect to SYS account and create user STORE
    CREATE USER store IDENTIFIED BY store;
    GRANT connect, resource TO store;
    2. Connect to Oracle using the user STORE and password STORE
    CONNECT store/store;
    3. Execute the following objects for this excercise
    CREATE SEQUENCE order_sq;
    CREATE TABLE product_types (
    product_type_id INTEGER
    CONSTRAINT product_types_pk PRIMARY KEY,
    name VARCHAR2(10) NOT NULL
    CREATE TABLE products (
    product_id INTEGER
    CONSTRAINT products_pk PRIMARY KEY,
    product_type_id INTEGER
    CONSTRAINT products_fk_product_types
    REFERENCES product_types(product_type_id),
    name VARCHAR2(30) NOT NULL,
    description VARCHAR2(50),
    price NUMBER(5, 2)
    CREATE TABLE customers (
    customer_id INTEGER
    CONSTRAINT customers_pk PRIMARY KEY,
    first_name VARCHAR2(10) NOT NULL,
    last_name VARCHAR2(10) NOT NULL,
    dob DATE,
    phone VARCHAR2(12)
    CREATE TABLE orders (
    order_id INTEGER
    CONSTRAINT orders_pk PRIMARY KEY,
    product_id INTEGER
    CONSTRAINT purchases_fk_products
    REFERENCES products(product_id),
    customer_id INTEGER
    CONSTRAINT purchases_fk_customers
    REFERENCES customers(customer_id),
    quantity INTEGER NOT NULL
    INSERT INTO customers (
    customer_id, first_name, last_name, dob, phone
    ) VALUES (
    1, 'John', 'Brown', '01-JAN-1965', '800-555-1211'
    INSERT INTO product_types (
    product_type_id, name
    ) VALUES (
    1, 'Book'
    INSERT INTO products (
    product_id, product_type_id, name, description, price
    ) VALUES (
    1, 1, 'Modern Science', 'A description of modern science', 19.95
    COMMIT;
    CREATE OR REPLACE PACKAGE dbfunc AS
    FUNCTION place_order (
    p_product_id INTEGER,
    p_customer_id INTEGER,
    p_quantity INTEGER
    RETURN VARCHAR2;
    END dbfunc;
    CREATE OR REPLACE PACKAGE BODY dbfunc AS
    FUNCTION place_order (
    p_product_id INTEGER,
    p_customer_id INTEGER,
    p_quantity INTEGER
    RETURN VARCHAR2 IS
    v_customer_count INTEGER;
    v_product_count INTEGER;
    v_order_id INTEGER;
    BEGIN
    -- count the number of products with the
    -- supplied p_product_id (should be 1 if the product exists)
    SELECT COUNT(*)
    INTO v_product_count
    FROM products
    WHERE product_id = p_product_id;
    IF v_product_count = 0 THEN
    RETURN 'No such product';
    END IF;
    -- count the number of customers with the
    -- supplied p_customer_id (should be 1)
    SELECT COUNT(*)
    INTO v_customer_count
    FROM customers
    WHERE customer_id = p_customer_id;
    IF v_customer_count = 0 THEN
    RETURN 'No such customer';
    END IF;
    -- get the next value from orders_sq
    SELECT order_sq.nextval
    INTO v_order_id
    FROM dual;
    -- place the order
    INSERT INTO orders (
    order_id, product_id, customer_id, quantity
    ) VALUES (
    v_order_id, p_product_id, p_customer_id, p_quantity
    COMMIT;
    RETURN 'Order placed with id of ' || v_order_id;
    EXCEPTION
    WHEN OTHERS THEN
    ROLLBACK;
    RETURN 'Order not placed';
    END place_order;
    END dbfunc;
    4. Install and Configure OC4J
    4.1 Change Directory
    4.1.1 Open command prompt (cmd.exe)
    4.1.2 CD C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\bin
    4.2 Configure Environment variables (type in command prompt)
    4.2.1 set JAVA_HOME=C:\oracle\product\10.2.0\db_1\jdk
    4.2.2 set ORACLE_HOME=C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    4.3 Starting OC4J for the first time
    4.3.1 oc4j -start
    4.3.2 If this is not your first time to "start" oc4j, go to step 4.3.4
    4.3.3 Set oc4jadmin password (use the password "oracle" w/o the quotation marks)
    08/03/21 17:13:54 Set OC4J administrator's password (password text will not be displayed as it is entered)
    Enter password:
    Confirm password:
    Confirm password: The password for OC4J administrator "oc4jadmin" has been set.
    08/03/21 17:14:01 The OC4J administrator "oc4jadmin" account is activated.
    4.3.4 OC4J has started if you see the message :
    08/03/21 17:14:16 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    4.3.5 Leave this command prompt open
    4.4 Configure Data Source
    4.4.1 Open a new command prompt via the cmd.exe command
    4.4.2 type "hostname" and then press enter
    4.4.3 Keep this command prompt open for later use
    4.4.4 Open Windows Explorer and navigate to the folder C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config
    4.4.5 Open the file data-sources.xml
    4.4.6 Modify and Save the file so that it will look something like the following :
    4.4.6.1 Note that "hpv2710us" is my hostname found in step 4.4.2
    4.4.6.2 Note that "ORCLDEV" is the name of my Oracle Instance. (Default installation uses ORCL only)
    <connection-pool name="Example Connection Pool">
    <connection-factory factory-class="oracle.jdbc.pool.OracleDataSource"
    user="store"
    password="store"
    url="jdbc:oracle:thin:@//hpv2710us:1521/ORCLDEV">
    </connection-factory>
    </connection-pool>
    4.4.7 Close the text editor
    4.4.8 Close the Windows Explorer
    4.4.9 Close this command prompt (type exit)
    5. Publishing a PL/SQL Package as a Database Web Service
    5.1 Create the config.xml file
    5.1.1 Open Notepad.exe
    5.1.2 Copy and Paste the following :
    5.1.2.1 Note that "hpv2710us" is my hostname found in step 4.4.2
    5.1.2.2 Note that "ORCLDEV" is the name of my Oracle Instance. (Default installation uses ORCL only)
    <web-service>
    <display-name>PLSQL Web Service</display-name>
    <description>PLSQL Sample</description>
    <destination-path>./dbfunc.ear</destination-path>
    <temporary-directory>/tmp</temporary-directory>
    <context>/plsqlsample</context>
    <stateless-stored-procedure-java-service>
    <jar-generation>
    <schema>store/store</schema>
    <db-url>jdbc:oracle:thin:@hpv2710us:1521:ORCLDEV</db-url>
    <prefix>db.func.place.order</prefix>
    <db-pkg-name>dbfunc</db-pkg-name>
    </jar-generation>
    <uri>/dbfunc</uri>
    <database-JNDI-name>jdbc/OracleDS</database-JNDI-name>
    </stateless-stored-procedure-java-service>
    <wsdl-gen>
    <wsdl-dir>wsdl</wsdl-dir>
    <option name="force">true</option>
    <option name="httpServerURL">http://localhost:8888</option>
    </wsdl-gen>
    <proxy-gen>
    <proxy-dir>proxy</proxy-dir>
    <option name="include-source">true</option>
    </proxy-gen>
    </web-service>
    5.1.3 Save file as config.xml in the directory C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config
    5.1.3.1 Note it should be config.xml and not config.txt
    5.1.4 Close the text editor
    5.2 Publish dbfunc Oracle Package as a Web Service
    5.2.1 Open a new command prompt via the cmd.exe command
    5.2.2 CD C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home
    5.2.3 mkdir ear
    5.2.4 CD ear
    5.2.5 set ORACLE_HOME=C:\oracle\product\10.2.0\db_1\oc4j_extended_101330
    5.2.6 set CLASSPATH=.;%ORACLE_HOME%\webservices\lib\wsdl.jar;%ORACLE_HOME%\lib\xmlparserv2.jar;%ORACLE_HOME%\soap\lib\soap.jar
    5.2.7 java -jar %ORACLE_HOME%\webservices\lib\WebServicesAssembler.jar -config C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\config\config.xml
    Please wait ...
    STORE.DBFUNC
    5.2.8 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -deploy -file C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home\ear\dbfunc.ear -deploymentName dbfunc
    08/03/21 17:46:23 Notification ==>Application Deployer for dbfunc COMPLETES. Operation time: 296 msecs
    5.2.9 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -bindWebApp -appname dbfunc -webModuleName dbfunc_web
    5.2.10 java -jar %ORACLE_HOME%\j2ee\home\admin_client.jar deployer:oc4j:localhost:23791 oc4jadmin oracle -bindAllWebApps -appname dbfunc
    5.2.11 Close this command prompt (type exit)
    6. Test dbfunc Web Service
    6.1 Restart OC4J
    6.1.1 Open the command prompt you used to start OC4J in step 4.1.1/4.3.1
    6.1.2 In the keyboard, hit Ctrl+C
    6.1.2.1 Type "Y" and then hit Enter
    08/03/21 18:02:51 Shutting down OC4J...
    Terminate batch job (Y/N)? Y
    6.1.2.2 Note that the command prompt should still be open
    6.1.2.2.1 If you accidentally closed the command prompt just do the following
    6.1.2.2.1.1 Do 4.1.1 to 4.2.2 and then proceed to 6.1.3
    6.1.3 oc4j -start
    Starting OC4J from C:\oracle\product\10.2.0\db_1\oc4j_extended_101330\j2ee\home...
    08/03/21 18:07:57 Oracle Containers for J2EE 10g (10.1.3.3.0) initialized
    6.1.4 Leave this command prompt open
    6.2 Use the Web Service to "Order an Item"
    6.2.1 Connect to Oracle using the user STORE and password STORE
    6.2.2 select * from orders
    6.2.2.1 Zero row should return
    6.2.3 Open Internet Explorer
    6.2.4 Navigate to http://localhost:8888/plsqlsample/dbfunc
    6.2.5 Input the following :
    6.2.5.1 param0 value: 1
    6.2.5.2 param1 value: 1
    6.2.5.3 param2 value: 10
    6.2.6 Click the Invoke button
    6.2.7 A pop-up window will appear having the following contents :
    <?xml version="1.0" encoding="UTF-8" ?>
    - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <SOAP-ENV:Body>
    - <ns1:placeOrderResponse xmlns:ns1="http://db.func.place.order/dbfunc.wsdl" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <return xsi:type="xsd:string">Order placed with id of 1</return>
    </ns1:placeOrderResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    6.2.8 Go back to SQLPLUS or Toad and execute "select * from orders" again
    6.2.8.1 There should be one row
    ORDER_ID, PRODUCT_ID, CUSTOMER_ID, QUANTITY
    1, 1, 1, 10
    NOTES AND REFERENCES
    =================================================================
    This detailed step-by-step guide was produced with the following article by Jason Price http://www.oracle.com/technology/pub/articles/price_10gws.html

    Success!!!
    I had to grant this permissions:
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'getClassLoader', '' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'accessClassInPackage.sun.util.calendar', '' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.lang.RuntimePermission', 'setFactory', '' )
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.util.PropertyPermission', 'HTTPClient.socket.idleTimeout', 'write' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.net.SocketPermission', 'localhost', 'resolve' );
    call dbms_java.grant_permission( 'WS_TEST', 'SYS:java.net.SocketPermission', '127.0.0.1:8084', 'connect,resolve' );
    As I wrote earlier, WS_TEST is my user into which I load JAX-RPC client. Note that, if you load JAX-RPC client into user another than SYS, you have NOT to use -s -grant public option (wassam wrote about this too). Another thing is that I (finally) didn't load OC4J. To consume WebService I use utl_dbws.invoke(call_Handle CALL, request SYS.XMLTYPE) function.
    voytec001

  • How to call a bpel process in another

    can anyone tell me how to call a bpel process in another bpel process?
    thanks in advance.

    Hi-
    this might help
    Re: Call a BPEL process from another BPEL process
    Let us know if you need any more info..

  • Calling a bpel process from other Bpel process

    hi,
    my req is
    i have created BPEL process where getting the list of customers by giving the partial name using DBAdapter...... getting the output from the Invoker and the output is assinged to a assing activity(thru copy operations) from assign to replyoutput.
    for example from partial output (eg: input---name=Wor%)
    output:
    World of Business
    World of Concrete
    Worldwide Communications
    Worldwide Communications-Vision Corporation-2090
    here if i click the 'Worldwide Communications-Vision Corporation-2090' it should show the sub-details of the name sucha as name,address..............
    how to call subdetail process to show the subdetails by cliicking on the name
    the above process done on the front-end

    Hi
    API's are available to call a BPEL process from the front-end.
    you can invoke a BPEL with the required SOAP msg.
    Thanks

  • How to call a BPEL process from Java ?

    How can I call a BPEL process from Java?
    The Java client should be outside of the PEL engine.
    Does someone have a piece of sample code for
    a "Hello world" java-to-bpel call (+ java client src)?

    http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Tutorial7-InvokingBPELProcesses.pdf

  • Steps required to enable webservice calls in SAP ECC 6.0

    Hi Friends,
    I'm working on XI, more on part of webservices and as I dont have a good knowledge on BASIS part, I would like to know the steps required to enable the webservice calls in SAP ECC 6.0.
    Blogs/documents could be helpful.
    Thanks in advance

    duplicate thread
    [Required infrastructure to enable web service calls in SAP ECC 6.0 system;

  • How to create and deploy a JSP which calls a BPEL process in JDEVELOPER

    Hi Gurus,
    I don't know how to create a JSP in JDEVELOPER which call a BPEL process. I have gone through the tutorials. Since, I am new to JDEVELOPER I need some help.
    1. How to create a JSP (I know creating application and project, also I know JSP coding)
    2. How to deploy this JSP?
    3. For the Synchronos BPEL project, the build.xml is created automatically, in this forum, I see people talking about ear war .deploy etc. How do we get them automatically created. Or do we need to create them manually. If it has to be manual some sample scripts would be of great help.
    Any help in this regard would be really great.
    Thanks in advance,
    Sankar.

    I found the following tutorial which clearly explains how to deploy J2EE apps.
    http://www.oracle.com/technology/obe/obe1013jdev/deployment/deployment.htm
    I created a simple jsp file in a project, followed the steps in the tutorial and it got deployed onto: http://localhost:9700
    For invoking BPEL process through JSP, I have reused the jsp files available in : 102.InvokingProcesses\jsp and changed the processes and input accordingly.
    Please post me a query in this thread, if any of you want any specific details.

  • TREX - search via webservice call

    Hi All,
    We would like to access the trex functionality to search in the ECC DMS (Document Management System) via a webservice call.
    I could not yet find any standard defined webservices for this purpose.
    Can anyone tell me whether what I'm searching for exists?
    Kind regards
    Joris

    Hi Joris,
    there are Webservice APIs on the level of EP-KM (here called IMS for "index management services") and on the level of SAP NetWeaver Enterprise Search. The TREX engine itself does not expose any APIs for project development.
    Best, Karsten

  • How many different way can we call a BPEL process

    Hi Guys,
    How many ways can we call a BPEL process
    I know 3 ways
    1 ) Thru PLSQL 2) using Java API 3) From another BPEL Process.
    are there any other ways .... if so what are they ..... .
    Thanks
    Tom...

    Hi Tom,
    your normal BPEL process (a regular process you create with the "new BPEL process" wizard), can be configured in Oracle application server to be accessible
    - via SOAP over HTTP or
    - via JMS
    since it is has a WSDL based service interface.
    JDeveloper as well allows additionally more options for starting a BPEL process such as a file based interface, an e-mail as a starter etc.
    Still, I like to see the ESB as a virtualizer of the endpoint protocol, so I suggest you model the BPEL process regularly, exposing its functionality through WSDL and use ESB services that wrap your BPEL process to deal with the actual endpoints.
    Cheers,
    Hajo

Maybe you are looking for

  • How to  add new  fields or structure in  the Satandard Receiver Strucutre.

    Hi, I have a requirement, that  ECC to SNC . IDoc with new segment needs to be placed in the target SAP Standard Structure. How to achieve this. Regards, Srinivas.

  • Problem inserting FLV into template based page DW8

    Error when inserting an FLV into a template based page. The error is: "Making this change would require changing code that is locked by a template or translator. The change will be discarded." I thought perhaps something was wrong with my code so I c

  • Can't see boards in a VXI chassis connected via VXI-MXI-2 cards using a GPIB-USB adapter

    I'm working on a system that has two VXI enclosures, and the two are bridged via VXI-MXI-2 boards in each of them.  The first one has a GPIB-VXI board in slot 0, and I have a Winodows XP computer connected to that with a GPIB-USB-HS adapter.  The pro

  • Desktop software version 6.0 won't sync with Curve 8310

    I adore my Blackberry Curve 8310, but the desktop software has been a nightmare.  I have tried to download new versions, but the only one that will sync with my device is the one that came on a disk with the phone, version 4.2.2, which I have in my d

  • Need to get a new PSU

    Hello. 2 weeks ago I had to get a new motherboard as a result of a surge. I upgraded from an ECS K7AMA to a k7n2-l delta and I could never run the processor up to full speed; the comptuer would restart during games. so I slowed it down; got it stable