Propagate fault from BPEL to BPM

This is what my use-case is - I have my BPM business process, from which I am calling my more granular BPEL processes. In case of a fault occurring in the BPEL level, I want to propagate that fault to the BPM level, so I can pick the fault, and handle it there, either by creating a sub process, or terminating the BPM process, or whatever else.
So far, I have not had any success in sending the faults from the BPEL to the BPM. If you done done something like this, please help me on how to proceed.
Any help/inuts greatly appreciated.
Thanks,
Abhi

First you need to be sure the WSDL for your BPEL is defining the faults that it can return. Next you need to be sure to throw the proper fault from the BPEL process.
You could confirm that is working using EM or SoapUI to test your BPEL service.
Once that is working you can use a border exception event on the service activity in the BPMN process to catch the fault that you have declared in the BPEL WSDL.
Thanks,
Adam DesJardin

Similar Messages

  • How to return fault from Async BPEL

    Hi,
    I have ESB that has input,output and fault, This ESB calls Async BPEL that takes only input. Now i want to return fault from BPEL to ESB. How do i do it?
    Please help.

    Hi,
    My use case is i am implementing AIA. So my enterprise layer is ESB and my ABCS provider is BPEL. As provider takes lot of time to complete the instance, to avoid timeout issue i just created Async BPEL with two ports one for input another for fault. I am able to send back my fault back to this call back port. But how i can receive the fault to the same ESB which called the BPEL?
    I am not able to implement it. I can not go for any workaround like creating one more BPEL and then make it as sync, put pick activity and receive the fault then send back to ESB.
    Thats the reason i am very specific. If you find some solution please let me know.

  • How to return fault from Async BPEL to ESB

    Hi,
    I have ESB that has input,output and fault, This ESB calls Async BPEL that takes only input. Now i want to return fault from BPEL to ESB. How do i do it?
    Please help.

    Hi,
    My use case is i am implementing AIA. So my enterprise layer is ESB and my ABCS provider is BPEL. As provider takes lot of time to complete the instance, to avoid timeout issue i just created Async BPEL with two ports one for input another for fault. I am able to send back my fault back to this call back port. But how i can receive the fault to the same ESB which called the BPEL?
    I am not able to implement it. I can not go for any workaround like creating one more BPEL and then make it as sync, put pick activity and receive the fault then send back to ESB.
    Thats the reason i am very specific. If you find some solution please let me know.

  • Logging the Runtime Fault messages BPEL in WLS logs

    Requirement: I need to capture the run time fault from BPEL processes in the WLS logs how to do this?
    Solution: I have tried following I created the Java class ot initialise the Java logging.
    Java snippet:
    private static final Logger logger = Logger.getLogger("oracle.soa.Logger");
    static {
    LogFormatter.configFormatter(logger);
    public static final void log(String message) {
    logger.log(Level.INFO, message);
    In my BPEL process I have the CatchAll activity
    In the ‘AssignFault I’ have the assignments using ora: getFaultAsString() , but I’m not getting the expected fault in Assign Activity which we see in Audit Trail.
    In Audit Trail i see the following message against the my Validate Activity
    "Invalid data: The value for variable "ReceiveXML_Read_InputVariable", part "body" does not match the schema definition for this part Element 'TimeBandList' not expected.. The invalid xml document is shown below:"
    The ora: getFaultAsString() is showing the "com.oracle.bpel.client.BPELFault: faultName: {{http://docs.oasis-open.org/wsbpel/2.0/process/executable}invalidVariables} messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}"

    I had gone thru that documentation. I needed something more than that.
    Well, I want to know what entries go into the access log & what into custom
    log of ours.
    Actually, the entries with 200 status only are going into our custom log ,
    how can I make the entries with status 302 (redirection) to get into the
    custom log?
    Thanks.
    priya
    Robert Patrick wrote:
    Yes. http://www.weblogic.com/docs51/admindocs/http.html#logs
    Priya Bangara wrote:
    Hi,
    Our company has WebLogic Server 5.0 b2 running on our livesite. They
    have been using WLS's access log and their own custom log. Now, they
    have found some problem with the logs and I'm looking into it.
    I don't find any documentation on 5.0b2 on BEASYS's site anymore. Are
    all the features like 'extended log format', 'log rotation' of WLS 5.1
    were there in 5.0 b2 ?
    Please help. Issue is very critical. I would appreciate if you could
    also send me some links where I can find more info on WL's logging
    mechanism.
    Thanks in advance,
    Priya

  • Throwing a fault from an asynchronous bpel process

    Hi,
    can anyone please let me know how i can throw a fault to the calling client from an asynchronous bpel process?
    (synchronous bpel uses the fault of the reply activity to do the same - i want a similar thing in a callback-invoke of an asynchronous process or any other way to do it if at all)
    please let me know if it is possible becoz it was a requirement put forward by a customer and i just want to develop a proof of concept to the same.
    regards,
    pavan.

    Hi,
    I'm using BPEL process manager for calling a asynchronous web service,I can invoke the service from BPEL and the service is invoked correctly,but when I view the business process flow in BPEL Console my process is stopped at receive state and doesn't pass it.
    Could anybody tell me if any thing should be set to receive a callback from an asynchronous web service to BPEL process?
    Is it true that BPEL process receives a callback automatically (using a callback operation which I defined in my web service WSDL) on the same port type that normally receives the requested information, with an invoke activity?
    So what could be wrong with my process or invoked web service that the BPEL process doesn't get any reply from my web service and remains in receive activity?
    Thnx in advance,
    Nasim

  • Fault information from bpel process when exception happens

    How to extract all the fault information from bpel process when exception happens?
    Are there any other methods other than "ora:getFaultName(), ora:getFaultAsString()"
    When I use "ora:getFaultName(), ora:getFaultAsString()", I get the below message,so I am wondering whether
    I can get any more information about the exception as mentioned below - "detailed root cause described in the exception message" -> how do I get it?
    Check the detailed root cause described in the exception message text and verify that the XPath query is correct.

    Hi,
    As far as I know, it's not possible to get the exception message with a catch all. You need to catch each exception separately, and the you will be able to get each message.
    Regards
    Gustavo

  • Trying to throw fault from one BPEL process to another

    We are trying to throw a fault from one BPEL process to another and apparently are experiencing a common problem. That is, the invoking process times out and never receives the fault.
    Likely a beginner's mistake is at fault (pun intended).
    Below are samples of a simple "Hello World" process that tries to throw the fault.
    snippet of pbel file....
    <process name="HelloJavaWorldSynchronous"
    targetNamespace="http://xmlns.oracle.com/HelloJavaWorldSynchronous"
    xmlns="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:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:ns1="http://helloworldjavaproject/"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:client="http://xmlns.oracle.com/HelloJavaWorldSynchronous"
    xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc">
    <faultHandlers>
    <catchAll>
    <sequence name="Sequence_1">
    <assign name="Assign_3">
    <copy>
    <from expression="12345"/>
    <to variable="FaultVar" part="code"/>
    </copy>
    <copy>
    <from expression="'Hello fault summary'"/>
    <to variable="FaultVar" part="summary"/>
    </copy>
    <copy>
    <from expression="'Hello test detail'"/>
    <to variable="FaultVar" part="detail"/>
    </copy>
    </assign>
    <throw name="Throw_2" faultName="client:myFault"
    faultVariable="FaultVar"/>
    </sequence>
    HelloJavaWorldSynchronous.wsdl file
    <definitions
    name="HelloJavaWorldSynchronous"
    targetNamespace="http://xmlns.oracle.com/HelloJavaWorldSynchronous"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:ns1="http://schemas.oracle.com/bpel/extension"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:client="http://xmlns.oracle.com/HelloJavaWorldSynchronous"
    >
    <import namespace="http://schemas.oracle.com/bpel/extension" location="RuntimeFault.wsdl";/>
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/HelloJavaWorldSynchronous" schemaLocation="HelloJavaWorldSynchronous.xsd";/>
    </schema>
    </types>
    <message name="HelloJavaWorldSynchronousRequestMessage">
    <part name="payload" element="client:HelloJavaWorldSynchronousProcessRequest"/>
    </message>
    <message name="HelloJavaWorldSynchronousResponseMessage">
    <part name="payload" element="client:HelloJavaWorldSynchronousProcessResponse"/>
    </message>
    <portType name="HelloJavaWorldSynchronous">
    <operation name="process">
    <input message="client:HelloJavaWorldSynchronousRequestMessage"/>
    <output message="client:HelloJavaWorldSynchronousResponseMessage"/>
    <fault name="myFault" message="ns1:RuntimeFaultMessage"/>
    </operation>
    </portType>
    <plnk:partnerLinkType name="HelloJavaWorldSynchronous">
    <plnk:role name="HelloJavaWorldSynchronousProvider">
    <plnk:portType name="client:HelloJavaWorldSynchronous"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    The standard RuntimeFault.wsdl file (RuntimeFaultMessage message is defined in here, so I don't need a message in HelloJavaWorldSynchronous.wsdl. Do I?)
    <?xml version="1.0"; encoding="UTF-8"?>
    <definitions name="RuntimeFault"
    targetNamespace="http://schemas.oracle.com/bpel/extension"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.xmlsoap.org/wsdl/">
    <message name="RuntimeFaultMessage">
    <part name="code" type="xsd:string"/>
    <part name="summary" type="xsd:string"/>
    <part name="detail" type="xsd:string"/>
    </message>
    </definitions>
    But when we invoke the process, after the standard 45 seconds timeout, we still get...
    <Faulthttp://schemas.xmlsoap.org/soap/envelope/>
    <faultcode>env:Server</faultcode>
    <faultstring>com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is f290d62d2ad31aa6:-49eb76f4:124eb51622a:-7c91. Please check the process instance for detail.</faultstring>
    </Fault>
    The console audit below might hold a clue. I noticed the mesage BPELFault" has not been caught by a catch block at the end.
    <catchAll>
    <sequence>
    Assign_3
    [2009/11/13 11:18:32] Updated variable "FaultVar" More...
    -<FaultVar>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="code">
    <code xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">12345
    </code>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="summary">
    <summary xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="detail">
    <detail xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </part>
    </FaultVar>
    [2009/11/13 11:18:32] Updated variable "FaultVar" More...
    -<FaultVar>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="code">
    <code xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">12345
    </code>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="summary">
    <summary xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello fault summary
    </summary>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="detail">
    <detail xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    </part>
    </FaultVar>
    [2009/11/13 11:18:32] Updated variable "FaultVar" More...
    -<FaultVar>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="code">
    <code xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">12345
    </code>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="summary">
    <summary xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello fault summary
    </summary>
    </part>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="detail">
    <detail xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello test detail
    </detail>
    </part>
    </FaultVar>
    Throw_2 (faulted)
    [2009/11/13 11:18:32] "{http://xmlns.oracle.com/HelloJavaWorldSynchronous}myFault" has been thrown. More...
    -<myFault xmlns="http://xmlns.oracle.com/HelloJavaWorldSynchronous">
    -<part name="code">
    <code xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">12345
    </code>
    </part>
    -<part name="summary">
    <summary xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello fault summary
    </summary>
    </part>
    -<part name="detail">
    <detail xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Hello test detail
    </detail>
    </part>
    </myFault>
    </sequence>
    </catchAll>
    [2009/11/13 11:18:32] "BPELFault" has not been caught by a catch block.
    [2009/11/13 11:18:32] BPEL process instance "570162" cancelled

    Thanks very much for this answer. It was right on.
    You wanted to know "how (I) get on". Funny you should ask. Believe it or not, I had figured out the problem on my own just about the time you were posting your reply (of course, this is a bit too convenient. No one will ever believe me).
    But the answer leads to another question. What is the Throw activity for, if not to throw an error to the calling process? Is it only used to throw within scope of the process its self?
    I am probably biased by the Java world I am coming from, but Throw feels like it should terminate the process (without side effects like a big red mark in the console) bubble up the fault to the calling process who can catch it (if so desired). Using the reply we must explicitly Terminate (which includes that unsightly red mark).
    Is there any way to get this behavior from the Throw, or should we just reprogram the "wetware" and learn a new paradigm?
    Is there any way to end a process without marking it with a red flag that suggests something went wrong?

  • Error while invoking the WSDL service of EBS from BPEL process

    Hi Team,
    when we are calling webservice client to call WSDL service which is published in Oracle EBS integrated SOA Gateway from BPEL process.
    After invoking, we are getting the below error
    <bpelFault><faultType>0</faultType><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>FND_SOA_SERVICE_EXECUTION_ERR:oracle.apps.fnd.soa.util.SOAException: ServiceExecutionError: Error while executing the service Exception returned from JCA Service Runtime. Exception returned from JCA Service Runtime. null :Please see service monitor logs for full error trace</summary></part><part name="detail"><detail>oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : FND_SOA_SERVICE_EXECUTION_ERR:oracle.apps.fnd.soa.util.SOAException: ServiceExecutionError: Error while executing the service Exception returned from JCA Service Runtime. Exception returned from JCA Service Runtime. null :Please see service monitor logs for full error trace</detail></part><part name="code"><code>{http://schemas.xmlsoap.org/soap/envelope/}Server</code></part></remoteFault></bpelFault>
    API Name : OE_ORDER_PUB.PROCESS_ORDER
    could you please let me know the exact problem and provide the solution.
    Thanks
    Phani Ch.

    Hi Phani,
    Are you able to reproduce issue as below:
    1. Login to Application as sysadmin.
    2. Navigate to Intergrated SOA Gateway > Integration Repository.
    3. Click on search on right hand side of the page.
    4. In the Internal Name type "FND_USER_PKG" and click Go.
    5. Click on the User link.
    6. Under the "Web Service - SOA Provider", click in the "View WSDL". Copy the complete URL "http://test:8003/webservices/SOAProvider/plsql/fnd_user_pkg/?wsdl"
    7. Open the soapUI.
    8. Click File > new soapUI Project.
    9. Test the web service.
    If yes,
    I think you might be need to execute a patch:
    solution:
    To implement the solution, please execute the following steps:
    1. Download and review the readme and pre-requisites for iAS Patch 18855074.
    Note: Above Merge Label Request (MLR) is build for EBS 12.1.3 having OC4J 10.1.3.5.
    2. Enable the profile option "EBS Adapter for BPEL, Function Security Enabled".
    a. Login as SYSADMIN user and Navigate to System >Profile  and Search for "EBS Adapter for BPEL, Function Security Enabled" (Internal name :EBS_ADAPTER_FUNCTION_SEC_ENABLED)
    b. Set the Value to 'Y' at SITE level . This means  function security feature is enabled and all API calls for PL/SQL APIs, Oracle e-Commerce Gateway, and concurrent programs will be checked for user security before they are invoked.
    3. Retest the issue by Generating and Deploying the required package.
    4. Migrate the solution as appropriate to other environments.
    Thanks
    Ranjan

  • Error while invoking web service from BPEL 11g

    Hello All,
    I am creating a webservice using java.
    I created service using java and deployed it on the SOA server 11g.
    I am able to test it from the weblogic console.
    When i am trying to invoke it from BPEL, i am getting the remote fault:
    Error Message: {http://schemas.oracle.com/bpel/extension}remoteFault
    Fault ID default/TestADWebServiceBPEL!1.0soa_d7638bee-192e-419e-9b1a-2f356c13712c/TestADServiceBPEL/80015-BpInv0-BpSeq0.3-3*
    Fault Time Sep 28, 2010 1:31:01 PM
    Non Recoverable System Fault :
    <bpelFault><faultType>0</faultType><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>oracle.fabric.common.FabricInvocationException: Unable to access the following endpoint(s): http://10.6.61.93:7001/TestApplication-ADUserManagement-context-root/ActiveDirectoryUserPort</summary></part><part name="detail"><detail>Unable to access the following endpoint(s): http://10.6.61.93:7001/TestApplication-ADUserManagement-context-root/ActiveDirectoryUserPort</detail></part><part name="code"><code>200</code></part></remoteFault></bpelFault>
    Does anyone has any idea, what can be the reason.
    Is it realted to some proxy server settings. Where these settings can be made in the weblogic server.
    Thanks and Regards,
    Saurav Singla

    Hi Suresh & Mukesh,
    Suresh:
    I started the service by going through the following path System Administrator > System Configuration > Service Configuration > Application > <SERVICE_NAME> in system configuration of portal
    Mukesh: Here I don't have any proxy settings.
    Can you please let me know where I'm going wrong.
    Thanx,
    Dheeram

  • Error while invoking a webservice using Axis deployed in  tomacat from Bpel

    Hi,
    I am trying to invoke a Axis webservice(from Java class to WSDL- bottom up java bean webservice approach) developed in Exclipse IDE, deployed in Tomcat.
    When i am trying to invoke the service, from Bpel from Jdeveloper it is throwing error as such :
    Invoke_1 (faulted)
    [2009/05/22 14:32:18] Faulted while invoking operation "storeLoanData" on provider "LoanDataPersist".less
    -<messages>
    -<input>
    -<Invoke_1_storeLoanData_InputVariable>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="p_request">
    -<p_request xmlns="" xmlns:def="http://dtos.demo.com" xsi:type="def:LoanDataPersistRequest" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <customerName>wew
    </customerName>
    <netIncome>12
    </netIncome>
    <loanAmount>12
    </loanAmount>
    <realEstateAddress>wew
    </realEstateAddress>
    <customerID/>
    </p_request>
    </part>
    </Invoke_1_storeLoanData_InputVariable>
    </input>
    -<fault>
    -<remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    -<part name="summary">
    <summary>exception on JaxRpc invoke: trailing block elements must have an id attribute
    </summary>
    </part>
    </remoteFault>
    </fault>
    </messages>
    I may add that, the WSDL generated is using "soap:enc:array ", rpc style.
    Can anyone tell me the reason and suggest .

    Hi Marc,
    Thanks for the guidancer. But sir, i am unable to detect at which place i have to do the required changes.I found p_request as a parameter in the method only in the interface only.
    As bcos ultimately , i am generating the tomcat /axis web service (WSDL) from the java class, which is using 2 Request and response java bean, in which they are doing someing like this:
    private static org.apache.axis.description.TypeDesc typeDesc =
    new org.apache.axis.description.TypeDesc(LoanDataPersistRequest.class, true);
    static {
    typeDesc.setXmlType(new javax.xml.namespace.QName("http://dtos.demo.com", "LoanDataPersistRequest"));
    org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
    elemField.setFieldName("customerName");
    elemField.setXmlName(new javax.xml.namespace.QName("", "customerName"));
    elemField.setXmlType(new javax.xml.namespace.QName("", "string"));
    elemField.setNillable(true);
    etc etc...................}
    And second thing is when the WSDL is generated, from that the stubs and skeletons is generated to test the service.
    There in the Stub i found out "p_request" in this place:
    private static void _initOperationDesc1(){
    org.apache.axis.description.OperationDesc oper;
    org.apache.axis.description.ParameterDesc param;
    oper = new org.apache.axis.description.OperationDesc();
    oper.setName("storeLoanData");
    param = new org.apache.axis.description.ParameterDesc(*new javax.xml.namespace.QName("", "p_request")*, org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://dtos.demo.com", "LoanDataPersistRequest"), com.demo.dtos.LoanDataPersistRequest.class, false, false);
    oper.addParameter(param);
    oper.setReturnType(new javax.xml.namespace.QName("http://dtos.demo.com", "LoanDataPersistResponse"));
    oper.setReturnClass(com.demo.dtos.LoanDataPersistResponse.class);
    oper.setReturnQName(new javax.xml.namespace.QName("", "storeLoanDataReturn"));
    oper.setStyle(org.apache.axis.constants.Style.RPC);
    oper.setUse(org.apache.axis.constants.Use.ENCODED);
    _operations[0] = oper;
    And in skeleton :
    static {
    org.apache.axis.description.OperationDesc _oper;
    org.apache.axis.description.FaultDesc _fault;
    org.apache.axis.description.ParameterDesc [] _params;
    _params = new org.apache.axis.description.ParameterDesc [] {
    new org.apache.axis.description.ParameterDesc(*new javax.xml.namespace.QName("", "p_request")*, org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://dtos.demo.com", "LoanDataPersistRequest"), com.demo.dtos.LoanDataPersistRequest.class, false, false),
    oper = new org.apache.axis.description.OperationDesc("storeLoanData", params, new javax.xml.namespace.QName("", "storeLoanDataReturn"));
    _oper.setReturnType(new javax.xml.namespace.QName("http://dtos.demo.com", "LoanDataPersistResponse"));
    _oper.setElementQName(new javax.xml.namespace.QName("urn:com.demo.service", "storeLoanData"));
    _oper.setSoapAction("");
    myOperationsList.add(oper);
    if (_myOperations.get("storeLoanData") == null) {
    _myOperations.put("storeLoanData", new java.util.ArrayList());
    ((java.util.List)_myOperations.get("storeLoanData")).add(_oper);
    PLease suggest if i make some changes in stub and skeleton how it would reflect the WSDL... or else please suggest where shud i do the required changes.

  • Error calling a third party WSDL from BPEL

    Hi,
    I am trying to invoke a third party WSDL. This WSDL belongs to Oracle OPPM. When I call this wsdl from SOAPUI or even from the Enterprise Manger, it works fine.
    However, when I call it from BPEL, it is giving me an error. Here is the request and error response:
    Request
    <messages>
    <input>
    <Login_Input>
    <part name="sUser">
    <sUser xsi:type="def:string">Username</sUser>
    </part>
    <part name="sPassword">
    <sPassword xsi:type="def:string">Password</sPassword>
    </part>
    <part name="lTimeOut">
    <lTimeOut xsi:type="def:int">10</lTimeOut>
    </part>
    </Login_Input>
    </input>
    Response
    <fault>
    <bpelFault>
    <faultType>0</faultType>
    <remoteFault>
    <part name="summary">
    <summary>Server was unable to read request. ---> There is an error in XML document (1, 2168). ---> <Login xmlns='http://tempuri.org/'> was not expected.</summary>
    </part>
    <part name="detail">
    <detail>oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : Server was unable to read request. ---> There is an error in XML document (1, 2168). ---> <Login xmlns='http://tempuri.org/'> was not expected.</detail>
    </part>
    <part name="code">
    <code>{http://schemas.xmlsoap.org/soap/envelope/}Client</code>
    </part>
    </remoteFault>
    </bpelFault>
    </fault>
    <faultType>
    <message>0</message>
    </faultType>
    </messages>
    I checked the diagnostics logs and it is not giving me any further information.
    I think the issue is with the WSDL file. I tried importing the WSDL locally too, but I cannot get rid of this error.
    I also tried to import the namespace in the <WSDL:Types> area, but no luck.
    WSDL
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions
         targetNamespace="http://tempuri.org/"
         xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
         xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
         xmlns:s="http://www.w3.org/2001/XMLSchema"
         xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
         xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
         xmlns:tns="http://tempuri.org/"
         xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
         xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
         xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
        >
        <wsdl:types>
        </wsdl:types>
        <wsdl:message name="DebugSoapIn"/>
        <wsdl:message name="DebugSoapOut"/>
        <wsdl:message name="LoginSoapIn">
            <wsdl:part name="sUser" type="s:string"/>
            <wsdl:part name="sPassword" type="s:string"/>
            <wsdl:part name="lTimeOut" type="s:int"/>
        </wsdl:message>
        <wsdl:message name="LoginSoapOut">
            <wsdl:part name="Result" type="s:string"/>
        </wsdl:message>
        <wsdl:message name="ReleaseSecurityTokenSoapIn">
            <wsdl:part name="sSecurityToken" type="s:string"/>
        </wsdl:message>
        <wsdl:message name="ReleaseSecurityTokenSoapOut"/>
        <wsdl:message name="GetCurrentUserIDSoapIn">
            <wsdl:part name="sSecurityToken" type="s:string"/>
        </wsdl:message>
        <wsdl:message name="GetCurrentUserIDSoapOut">
            <wsdl:part name="Result" type="s:int"/>
        </wsdl:message>
        <wsdl:portType name="psPortfoliosSecurityRpcSoap">
            <wsdl:operation name="Debug">
                <wsdl:input message="tns:DebugSoapIn"/>
                <wsdl:output message="tns:DebugSoapOut"/>
            </wsdl:operation>
            <wsdl:operation name="Login">
                <wsdl:input message="tns:LoginSoapIn"/>
                <wsdl:output message="tns:LoginSoapOut"/>
            </wsdl:operation>
            <wsdl:operation name="ReleaseSecurityToken">
                <wsdl:input message="tns:ReleaseSecurityTokenSoapIn"/>
                <wsdl:output message="tns:ReleaseSecurityTokenSoapOut"/>
            </wsdl:operation>
            <wsdl:operation name="GetCurrentUserID">
                <wsdl:input message="tns:GetCurrentUserIDSoapIn"/>
                <wsdl:output message="tns:GetCurrentUserIDSoapOut"/>
            </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding name="psPortfoliosSecurityRpcSoap" type="tns:psPortfoliosSecurityRpcSoap">
            <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
            <wsdl:operation name="Debug">
                <soap:operation style="rpc" soapAction="http://tempuri.org/action/psPortfoliosSecurity.Debug"/>
                <wsdl:input>
                    <soap:body use="encoded" namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="encoded" namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="Login">
                <soap:operation style="rpc" soapAction="http://tempuri.org/action/psPortfoliosSecurity.Login"/>
                <wsdl:input>
                    <soap:body use="encoded" namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="encoded" namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="ReleaseSecurityToken">
                <soap:operation style="rpc" soapAction="http://tempuri.org/action/psPortfoliosSecurity.ReleaseSecurityToken"/>
                <wsdl:input>
                    <soap:body use="encoded" namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="encoded" namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                </wsdl:output>
            </wsdl:operation>
            <wsdl:operation name="GetCurrentUserID">
                <soap:operation style="rpc" soapAction="http://tempuri.org/action/psPortfoliosSecurity.GetCurrentUserID"/>
                <wsdl:input>
                    <soap:body use="encoded" namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                </wsdl:input>
                <wsdl:output>
                    <soap:body use="encoded" namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
                </wsdl:output>
            </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="psPortfoliosSecurityRpc">
            <wsdl:port name="psPortfoliosSecurityRpcSoap" binding="tns:psPortfoliosSecurityRpcSoap">
                <soap:address location="http://dc01oppmsv01.molina.mhc/ProSightSOAP/psPortfoliosSecurityRpc.asmx"/>
            </wsdl:port>
        </wsdl:service>
    </wsdl:definitions>
    Thanks
    Asif Hussain

    Thanks chrisswhite,
    I should have mentioned that I tried this too and it didn't solve the problem. You're right though, I should be compiling with -fPIC anyway.
    Jon

  • Error while calling secured OSB proxy from BPEL

    Hi,
    I have a OSB Proxy service to which I have applied OWSM Policy:
    oracle/wss_username_token_service_policy
    In the Setting:
    Process WS-Security Header is set to Yes
    While calling this Proxy from BPEL I tried to append binding properties, I tried the following options:
    option1:
    wsseHeaders=credentials
    wssePassword=welcome1
    wsseUsername=weblogic
    option2:
    oracle.webservices.auth.password=welcome1
    oracle.webservices.auth.username=weblogic
    But neither of them work and I get the following error:
    <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-386200</con:errorCode>
    <con:reason>General web service security error</con:reason>
    <con:location>
    <con:path>request-pipeline</con:path>
    </con:location>
    </con:fault>
    <Sep 21, 2010 9:49:30 AM PDT> <Error> <OSB Security> <BEA-387022> <An error ocur
    red during web service security inbound request processing [error-code: Security
    HeaderUnmarshallingError, message-id: 3659922647318344420--645cdd1d.12b2fe0c158.
    -7e45, proxy: OSBTest/Proxy Services/PrivatePersonnelDB_PS, operation: null]
    --- Error message:
    oracle.wsm.security.SecurityException: WSM-00069 : The security header is missin
    g.
    at oracle.wsm.security.policy.scenario.processor.UsernameTokenProcessor.
    verify(UsernameTokenProcessor.java:218)
    at oracle.wsm.security.policy.scenario.executor.WssUsernameTokenScenario
    Executor.receiveRequest(WssUsernameTokenScenarioExecutor.java:123)
    at oracle.wsm.security.policy.scenario.executor.SecurityScenarioExecutor
    .execute(SecurityScenarioExecutor.java:530)
    at oracle.wsm.policyengine.impl.runtime.AssertionExecutor.execute(Assert
    ionExecutor.java:41)
    at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeS
    impleAssertion(WSPolicyRuntimeExecutor.java:608)
    Truncated. see log file for complete stacktrace
    I have even tried to enable HTTP basic Authentication for the service, but did not work.
    Any help is highly appreciated.
    Thanks.

    Hi,
    I have applied oracle/wss_username_token_service_policy for my proxy service and trying to test that from OSB Test Console. I am getting below error,
    "[OSB Security - OWSM:387253]Failed to initialize Owsm Credential Manager. Please validate the Keystore Configuration"
    When i have launched Test Console for this proxy, i have observed in Security part, oracle/wss_username_token_client_policy is appearing. I am not sure why oracle/wss_username_token_client_policy is appearing there when i applied oracle/wss_username_token_service_policy to my proxy service.
    Also do i have to need to configure any Keystore for oracle/wss_username_token_service_policy, If so please tell me the process.
    If no key store is required where will the credentials be stored.
    Thanks
    Rajesh

  • Invoking Imaging Web Service from BPEL is failing

    Hi,
    My Env is on latest 11g 11.1.1.8.
    I am trying to invoke the Imaging Web Services (http://host:port/imaging/ws/ApplicationService?wsdl)deployed in another Weblogic Server from Bpel. When I tried to invoke this web service with out security credentials it was failing due to access issue.
    I tried invoking  the imaging web service by following below steps.
    Added oracle/wss_http_token_client_policy for Imaging Web service Reference.
    Added these properties in Composite for the reference binding as below.
    <wsp:PolicyReference URI="oracle/wss_http_token_client_policy"
                               orawsp:category="security" orawsp:status="enabled"/>
          <property name="weblogic.wsee.wsat.transaction.flowOption"
                    type="xs:string" many="false">SUPPORTS</property>
          <property name="weblogic.wsee.wsat.transaction.version" type="xs:string"
                    many="false">DEFAULT</property>
         <property name="oracle.webservices.auth.username" type="xs:string"
                    many="false" override="may">weblogicxz</property>
          <property name="oracle.webservices.auth.password" type="xs:string"
                    many="false" override="may">welcome111</property>
          <property name="httpBasicUsername">weblogicxz</property>
          <property name="httpBasicPassword">welcome111</property>
    But now While testing my Bpel Flow my reference is failing with below erro. Can you please help me resolving this issue. 
    <messages>
    <input>
    <Invoke1_getApplication_InputVariable>
    <part  name="parameters">
    <getApplication>
    <appNameId>
    <id>2</id>
    <name>CaptureImageApplication</name>
    </appNameId>
    <sectionFlags/>
    </getApplication>
    </part>
    </Invoke1_getApplication_InputVariable>
    </input>
    <fault>
    <bpelFault>
    <faultType>0</faultType>
    <remoteFault>
    <part  name="summary">
    <summary>MustUnderstand headers:[{http://schemas.xmlsoap.org/ws/2004/10/wscoor}CoordinationContext] are not understood</summary>  
    </part>
    <part  name="detail">
    <detail>oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : MustUnderstand headers:[{http://schemas.xmlsoap.org/ws/2004/10/wscoor}CoordinationContext] are not understood</detail>  
    </part>
    <part  name="code">
    <code>{http://schemas.xmlsoap.org/soap/envelope/}MustUnderstand</code>  
    </part>
    </remoteFault>
    </bpelFault>

    Hi,
    I don't think it is failing due to access issue, I think it is failing because one of the parts is NOT configured to use WS-AT (WS-Atomic Transactions)...
    MustUnderstand headers:[{http://schemas.xmlsoap.org/ws/2004/10/wscoor}CoordinationContext] are not understood
    Why did you add this?
          <property name="weblogic.wsee.wsat.transaction.flowOption"
                    type="xs:string" many="false">SUPPORTS</property>
          <property name="weblogic.wsee.wsat.transaction.version" type="xs:string"
                    many="false">DEFAULT</property>
    Cheers,
    Vlad

  • Calling Web Service with SOAP header from BPEL

    Hi,
    I am calling a web service (with header information) from BPEL. In the Invoke activity, i created a header variable to pass the header information.
    But, when i test the BPEL service, invoke activity fails because the header information is not being passed.
    Below is the error message (copied from clipboard).
    +<messages><input><Invoke_1_getsubinfo_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="parameters"><getsubinfoElement xmlns="http://ws/its/tabs/webservices/SingleRowWS/SingleRowWS.wsdl">+
    +<pSubnoin>+
    +<insubno>12345678</insubno>+
    +</pSubnoin>+
    +</getsubinfoElement>+
    +</part></Invoke_1_getsubinfo_InputVariable></input><fault><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>exception on JaxRpc invoke:+
    start fault message:+
    Internal Server Error (Caught exception while handling request: javax.xml.rpc.JAXRPCException: Not authenticated user)+
    *:end fault message*</summary>
    +</part></bindingFault></fault></messages>+
    As said, no header information is visible in the Invoke activity.
    Please provide help for the above issue.
    -MJ

    Hello Patrick,
    Thanks for the response. I am using normal assign activity to assign values to the header variable as shown below. HeadMT is the header variable which is passed in the invoke activity.
    +<assign name="Assign_Header">+
    +<copy>+
    +<from expression="'tkl12'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:USER_NAME" variable="*HeadMT*"+
    part="payload"/>
    +</copy>+
    +<copy>+
    +<from expression="'tkl123'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:PASSWORD" variable="*HeadMT*"+
    part="payload"/>
    +</copy>+
    +<copy>+
    +<from expression="'TKL'"/>+
    +<to query="/ns1:LOGIN_INFO/ns1:CHANNEL_ID" variable="*HeadMT*"+
    part="payload"/>
    +</copy>+
    +</assign>+
    The expected input by the web service is as below with the header information highlighted.
    +<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws/webservices/RowWS/RowWS.wsdl">+
    +*<soap:Header>*+
    +*<ns1:LOGIN_INFO>*+
    +*<ns1:USERNAME>tkl12</ns1:USERNAME>*+
    +*<ns1:PASSWORD>tkl123</ns1:PASSWORD>*+
    +*<ns1:CHANNEL_ID>TKL</ns1:CHANNEL_ID>*+
    +*</ns1:LOGIN_INFO>*+
    +*</soap:Header>*+
    +<soap:Body>+
    +<ns1:substatusElement>+
    +<ns1:pInparam>+
    +<ns1:insubno>7674988</ns1:insubno>+
    +</ns1:pInparam>+
    +</ns1:substatusElement>+
    +</soap:Body>+
    +</soap:Envelope>+

  • Calling SAP Web Service from BPEL

    Hi
    I am trying to call a SAP Web Service friom BPEL using the SAP WSDL.It requires a basic authentication (Username/Password) which i am providing as partnerlink properties in bpel.xml.
    While testing the BPEL Process from the console, it is giving me an error
    "<summary>exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 401 Unauthorized</summary>"
    But when i am testing it from SOAP UI tool it is giving me the desired response.
    Does anyone has any idea why it is failing from BPEL?Is there any configuration which i am missing?
    Regards
    Ayush

    HI Ayush / Suryaveer..
    I am stuck at the same situation, trying to invoke a secured SAP webservice. The invoke fails with a security previlege exception.
    Am using the basicHeaders property to propagate the credentials to the SAP system.
    Can you please suggest on the same.
    credential propagation in bpel.xml :
    <property name="basicHeaders">propagate</property>
    <property name="basicUsername">ABC</property>
    <property name="basicPassword">DEF</property>

Maybe you are looking for