Call bpel process as Web service from database

Hi!
i'm trying tocall bpel process as web service from Oracle database. When i try the same pl sql function, i can successfully call regular j2ee web service without any problem. When i instantiate process from bpel console - everything is ok .. but when i call process from plsql function, i get this error:
ORA-20000: soapenv:Server.generalException - Missing BPEL archive file.
The process domain cannot locate the BPEL archive for process
"AuthorizeKeyCode", revision "AuthorizeKeyCode".
If you have deployed the process please check that it is located in the
directory "/ora/bpelpm/integration/orabpel/domains/vinves/deploy".
; nested exception is:
ORABPEL-05205
Missing BPEL archive file.
The process domain cannot locate the BPEL archive for process
"AuthorizeKeyCode", revision "AuthorizeKeyCode".
If you have deployed the process please check that it is located in the
directory "/ora/bpelpm/integration/orabpel/domains/vinves/deploy".
i tried undeploy and deploy the process again, i tried to restart the server - still the same problem...
anyone can help, please?
thanks ...
Tomas

Hi,
I am trying to invoke the HelloWorld BPEL process from Oracle DB using the demo_soap package downloaded from oracle.com.
Find the PL/SQL block below:
DECLARE
req Demo_Soap.request;
resp Demo_Soap.response;
     zipcode VARCHAR2(100) := 'Suresh';
BEGIN
req := Demo_Soap.new_request('initiate',
'xmlns="http://xmlns.oracle.com/HelloWorld"');
Demo_Soap.add_parameter(req, 'HelloWorldProcessRequest', 'xsd:string', zipcode);
resp := Demo_Soap.invoke(req,
'http://nooslux037t.gl.2wglobal.com:7777/BPELConsole/Dev/displayProcess.jsp?processId=HelloWorld',
'http://xmlns.oracle.com/HelloWorld');
END;
Please help me in knowing what value i should pass for the
1. New_request procedure
2. Add_parameter procedure
3. Invoke procedure.
The HelloWorld is same as the example in the BPEL Tutorial Session 1.
Thanks for your time.

Similar Messages

  • Calling Web Service from Database

    Hello,
    we want to call a Web Service from Database. What will we need or what must we install to do this. We're using a 10g Database.
    Best regards ,
    Goronja

    Hello,
    This feature is called "Database Web Services Call Out" and documented in:
    - Developing a Web Service Client in the Database
    Regards
    Tugdual Grall

  • BPEL process as web service data control

    Hi,
    I am trying to invoke a synchronous BPEL process from a jspx page. I have configured my BPEL process as web service data control object and
    dropped it on my jspx as a button. But after dropping it as a button i observe that it is expecting three parameters.
    I have attached the .xsd file used in the BPEL process and the screen shot of the parameter window of JDEV.
    Here if you can see, i have a heirarchy of data. I have customerType which has orderType , which further has lineType.
    Can somebody help me , how do i provide data to this process i.e in the parameter fields., so that it is in accordance with my .xsd of the BPEL process.
    -thanks,
    lavanya.
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.globalcompany.com/ns/sales"
    xmlns:po="http://www.globalcompany.com/ns/sales"
    elementFormDefault="qualified">
    <element name="Orders" type="po:OrderType"/>
    <element name="OrchestrationCustomers" type="po:OrchestrationCustomersType"/>
    <complexType name="CustomerType">
    <sequence>
    <element name="CustomerName" type="string"/>
    <element name="Location" type="string"/>
    </sequence>
    </complexType>
    <complexType name="LineItemType">
    <sequence>
    <element name="ProductName" type="string"/>
    <element name="itemType" type="string"/>
    <element name="price" type="decimal"/>
    <element name="Quantity" type="decimal"/>
    </sequence>
    </complexType>
    <complexType name="OrderType">
    <sequence>
    <element name="Customer" type="po:CustomerType" minOccurs="0" maxOccurs="unbounded"/>
    <element name="LineItem" type="po:LineItemType" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    </complexType>
    <complexType name="OrchestrationCustomersType">
    <sequence>
    <element name="CustomerNumber" type="int"/>
    <element name="CustomerName" type="string"/>
    <element name="OrderHeader" type="po:OrderHeaderType" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    </complexType>
    <complexType name="OrderHeaderType">
    <sequence>
    <element name="CustomerNumber" type="int"/>
    <element name="HeaderId" type="int"/>
    <element name="OrderNumber" type="string"/>
    <element name="OrderStatus" type="string"/>
    <element name="OrchestrationLineItem" type="po:OrchestrationLineItemType" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    </complexType>
    <complexType name="OrchestrationLineItemType">
    <sequence>
    <element name="HeaderId" type="int"/>
    <element name="LineNumber" type="int"/>
    <element name="LineId" type="int"/>
    <element name="ItemName" type="string"/>
    <element name="price" type="decimal"/>
    <element name="Quantity" type="decimal"/>
    <element name="LineStatus" type="string"/>
    </sequence>
    </complexType>
    </schema>

    Every BPEL process is an another web service. Go and grep WSDL of the BPEL process and call it.

  • 401 Unauthorized Error When calling a SharePoint REST web service from SharePoint 2013 Workflow

    We have our Workflow Manger installed on the same server as our SharePoint 2013 WFE development environment. When creating a SharePoint 2013 Workflow all Calls to a SharePoint 2013 REST web service results in a 401 Unauthorized error.
    As an example I created a simple workflow that should return a JSON result. The REST Url returns the results in the browser without error.
    Set Variable:webServiceUrl to https://<hostnamedsitecollection>/_vti_bin/client.svc/web/lists/getbytitle('ISR%20Approvers')/Items?$select=Title&$filter=Title%20eq%20%27General%27
    then Build{...} Dictionary (Output to Variable:requestHeaders)
    then Call [%Variable:webServiceUrl%] HTTP web service with request (ResponseContent to Variable:responseContent |ResponseHeaders to responseHeaders | ResponseStatusCode to Variable:responseCode)
    The RequestHeader is set to the requestHeaders variable though the web service call properties
    then Log Variable:responseCode to the workflow history list
    After manually running the workflow in SharePoint on a list item in the ISR Approvers list it Logs "Unauthorized" in the Workflow History Log. It does this with every SharePoint REST web service call that I have tried through the workflow.
    It doesn't have anything to do with the Workflow Manger being installed on the same machine as the SharePoint WFE does it?
    Thank You for any insight

    Hi,
    According to your post, my understanding is that you had 401 Unauthorized Error when calling a SharePoint REST web service from SharePoint 2013 Workflow.
    Please make sure you use the ‘Call HTTP Web Service’ correctly.
    You can enter the URL into the brower to check whether it is correctly.
    You need to
    create the Request header requestHeaders
    using a Dictionary:
    Accept : application/json;odata=verbose
    Content-Type : application/json;odata=verbose
    To associate the
    requestHeaders variable, select the Call action
    property, set the RequestHeaders property to
    requestHeaders.
    Please refer to the following articles:
    Working with Web Services in SharePoint 2013 Workflows using SharePoint Designer 2013
    Calling the SharePoint 2013 Rest API from a SharePoint Designer
    Workflow
    In addtion, you need to make sure you install the workflow manager correctly.
    More information:
    Install and configure workflow for SharePoint Server 2013
    Known Issues in Workflow Manager 1.0
    Troubleshooting Workflow Manager 1.0 Management and Execution
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • Error received when calling web service from database.

    Hi folks,
    I am trying to call a web service from the database (using the Oracle database web services call-out utility) and I am getting the following error:
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception:
    java.rmi.RemoteException:
    oracle.j2ee.ws.common.encoding.DeserializationException:unknown prefix in QName
    literal: null
    ORA-06512: at "SCOTT.PENALTY_ALG_WS_WRAPPER", line 1
    ORA-06512: at "SCOTT.ABC_PROC", line 131
    ORA-06512: at line 1
    This is the error I see in the trace file on the database:
    *** 2009-11-10 11:30:37.353
    java.rmi.RemoteException: oracle.j2ee.ws.common.encoding.DeserializationException:unknown prefix in QName literal: null
         at oracle.j2ee.ws.common.encoding.simpletype.XSDQNameEncoder.stringToObject(XSDQNameEncoder.java:75)
         at oracle.j2ee.ws.common.encoding.SimpleTypeSerializer.deserialize(SimpleTypeSerializer.java:141)
         at oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserializeSOAP11(SOAPFaultInfoSerializer.java:120)
         at oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserialize(SOAPFaultInfoSerializer.java:94)
         at oracle.j2ee.ws.common.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:180)
         at oracle.j2ee.ws.client.StreamingSender._readBodyFaultElement(StreamingSender.java:513)
         at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:321)
         at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
         at genproxy.runtime.PenaltyAlgBPELProcessBinding_Stub.process(genproxy.runtime.PenaltyAlgBPELProcessBinding_Stub:80)
         at genproxy.PenaltyAlgBPELProcessPortClient.process(PenaltyAlgBPELProcessPortClient.java:40)
         at genproxy.PenaltyAlgBPELProcessPortClientJPub.process(PenaltyAlgBPELProcessPortClientJPub.java:46)
    This web service is deployed on Oracle app server 10.1.3.4. It calls a BPEL process which in turn calls Oracle Business Rules.
    I used JPublisher to create the stubs for the web service and load them into the database.
    Any ideas on what might be causing this error?
    Thanks.
    Kashif

    Well, I think so... I've followed all the steps, and my merged WSDL file seems like the one in page 12...
    Any suggestion, please?
    Thank you,

  • Calling TaskQueryService as a Web Service from c#

    I am currently trying to call the Task Query Service as a web service from a c# application.
    Within Visual Studio, I have set up the web reference QueryTasks to the WSDL, and have the following piece of code:
    QueryTasks.task[] GetTasks()
    QueryTasks.task[] tasks = null;
    try
    // Authenticate
    QueryTasks.credentialType credential = new QueryTasks.credentialType();
    credential.login = m_username;
    credential.password = m_password;
    credential.identityContext = m_context;
    QueryTasks.TaskQueryService tqs = new QueryTasks.TaskQueryService();
    QueryTasks.workflowContextType taskContext = tqs.authenticate(credential);
    // create predicate for all tasks assigned to this authenticated user
    QueryTasks.taskPredicateQueryType taskPredicateQuery = new QueryTasks.taskPredicateQueryType();
    QueryTasks.taskPredicateType predicate = new QueryTasks.taskPredicateType();
    predicate.assignmentFilter = QueryTasks.assignmentFilterEnum.My;
    predicate.assignmentFilterSpecified = true;
    QueryTasks.predicateClauseType clause = new QueryTasks.predicateClauseType();
    clause.column = "STATE";
    clause.@operator = QueryTasks.predicateOperationEnum.EQ;
    clause.Item = "ASSIGNED";
    QueryTasks.predicateClauseType[] clauses = new QueryTasks.predicateClauseType[1];
    clauses[0] = clause;
    predicate.clause = clauses;
    taskPredicateQuery.predicate = predicate;
    // Specify the fields we will want populated for subsequent retrieval
    taskPredicateQuery.displayColumnList = new string[] { "TITLE", "STATE", "EXPIRATIONDATE", "TASKNUMBER" };
    taskPredicateQuery.optionalInfoList = new QueryTasks.taskOptionalInfoEnum[] { QueryTasks.taskOptionalInfoEnum.Actions,
    QueryTasks.taskOptionalInfoEnum.Attachments,
    QueryTasks.taskOptionalInfoEnum.Comments,
    QueryTasks.taskOptionalInfoEnum.CustomActions,
    QueryTasks.taskOptionalInfoEnum.GroupActions};
    // Build the request
    QueryTasks.taskListRequestType taskListRequest = new QueryTasks.taskListRequestType();
    taskListRequest.workflowContext = taskContext;
    taskListRequest.taskPredicateQuery = taskPredicateQuery;
    // query for the tasks
    tasks = tqs.queryTasks(taskListRequest);
    catch (Exception e)
    throw e;
    return tasks;
    When this code is run, it returns the correct number of records for the query in the tasks array, but each individual task record in the array contains nothing but null's in all it's fields.
    I have found a number of references when calling this web service in Java regarding switching on serialization for the Predicate object, however as far as I am aware this is already switched on in the automatically generated code within Visual Studio (unless anyone knows different?)
    Does anybody have any other ideas / suggestions as to where to go next?
    Thanks
    Dave

    Hi Dave,
    I am attempting a similar operation from C# and having exactly the same problems. Apparently the xml parser on the bpel engine is really odd. I found someone experiencing a similar issue in this thread Re: TaskQueryService fault ORA-30010
    Did you manage to get around this problem at all?
    Cheers
    Steven

  • Call agreement processing in WEB UI from ABAP WebDynpro

    Dear all,
    I have two problems:
    1) I create agreement (BUS200071, object type ZGAG) in web dynpro application. After successfull creation I want to call  agreement processing within web dynpro application or via new browser window.
    2) I managed to call Display method of BUS200071, but it didn't work good. Only the first screen of WEB UI was displayed with error message "Without access for action Display object type agreement GAG", however I tried to display agreement type ZGAG, which was created by my web dynpro application.
    Could You please help me, how to accomplish this task.
    Thank You in advance
    Martin

    Hello GopalY,
    In my experience its not possible to call OLE object in Webui. Maybe customer 3 party application will be supply some web service to handle credit card payments. I think this is the simple way to access 3party application.
    Regards,
    Zafer,

  • Assemble Web Services from database functions and procedures?

    Web Service Assembler can assemble Web services from PL/SQL packages.
    Can it be used to assemble Web services directly from functions or procedures?
    Thanks,
    Jim

    Hi,
    No, it relies on a package and takes each of the publishable functions and procedures as the web serivce methods.
    Have you also tried using JDeveloper? It uses WSA under the covers but gives you a great GUI for selecting and working with your code
    rgds
    Susan

  • Passing complex object from bpel process to web service

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

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

  • Calling One Jax RPC Web Service from another in Oracle AS 10.1.3

    We have a number of services residing in the same Oracle 10.1.3 app server container. These are deployed as Jax RPC Web Services
    I am trying to figure out what are the different options to have once web service invoke an operation on another (without directly linking to the Java code). The reason we want to keep separation as far as possible is that these services may later migrate to different app servers and in the spirit of SOA all we want to change when a service migrates is address and would like everything else to remain the same.
    So for example, if Web Service A needs to invoke an operation X in web service B,
    One way to do this seems to be to generate a proxy for web service B, include the proxy in Web Service A and then simply do B.X() from Web Service A.
    Is this is the best way to do it ?
    Are there other alternative approaches available ? Such as using the built in ESB features of Oracle App Server 10.1.3?
    Any pointers will be greatly appreciated.
    Thanks
    RR

    Found document of 10.1.3.1.0 how to Creating a Custom Identity Service Plug-in
    Oracle® BPEL Process Manager Administrator's Guide
    10g (10.1.3.1.0)
    Part Number B28982-03
    http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/plugin.htm
    But may be no help.

  • Unique rollback in a BPEL process using web services

    We are a cellular communication company using Oracle DB (10g) and Oracle Forms to run our business applications (customer care and the like). We have planned a system migration using the SOA approach with the latest release of Oracle BPEL Suite (business logic), Oracle ADF BC (presentation level), Oracle OAS (application server) and JDeveloper (application development IDE).
    Within our current applications we have processes that perform several tasks (inserts, updates and/or deletes on the same DB) as part of one atomic DB transaction. Using the SOA approach we&rsquo;ve deemed those tasks as being &lsquo;services&rsquo; that we, let&rsquo;s say for the sake of argument, could implement either as web services (so as to be published for reuse) or as stored procedures encapsulated via DB adapters (BPEL lexicon).
    Our biggest challenge, and hence our question to the SOA world, is how to attain that same unique transaction. We understand that there is no one perfect approach, for the &lsquo;solution&rsquo; depends on too many factors and choices; what we&rsquo;d like to know are past experiences people had or, at best, what do people consider what the best practices in the industry are regarding this matter.
    <strong><u>Approach A:</u></strong> all services are implemented as DB adapters (stored procedures and the like).
    <strong><u>PROS</u><u>:</u></strong> one single DB rollback should any service fail to execute properly and so undo all changes made so far.
    <u><strong>CONS:</strong></u> highly coupled, non-visible components (via UDDI); impossibility to manage, control and audit (via WS Manager) components; weak/poor SOA Governance.
    <u><strong>Approach B:</strong></u> all services are implemented as web services.
    <u><strong>PROS:</strong></u> loosely coupled, self-contained, and web accessible visible components (via UDDI) besides the ease to manage, control and audit (via WS Manager); strong SOA Governance.
    <u><strong>CONS:</strong></u> since each web service is a &lsquo;different&rsquo; transaction with its own &lsquo;commit&rsquo;, a unique rollback transaction for the whole process will not be possible should a WS fail, for previous WSs will have already committed their data changes before doing the rollback.
    <u><strong>Approach C:</strong></u> services implemented as a mix of web services and DB Adapters.
    <strong><u>PROS:</u></strong> those of Approach B for web services.
    <strong><u>CONS:</u></strong> those of Approach A (DB adapters) + those of Approach B (web services).
    <hr />
    So, the 64,000 dollar question is how to attain a single transaction when you have web services as part of your process? Do we need to &rsquo;build/create&rsquo; a schema/functionality similar to the &lsquo;DB-undo-segment&rsquo; in order to obtain a single rollback transaction for the whole process or does the BPEL COMPENSATE delivers this functionality somehow?
    Are we not seeing the obvious? Are we not seeing the forest because we&rsquo;re looking at a tree? Please keep in mind that we are using Oracle BPEL.
    Thanks a bunch,
    --Sergio                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi Marinus,
    you are absolutely right and not missing anything. OWSM does not free you from taking additional measures to block direct interaction with the unsecure WebService from not "authorized" clients. You must restrict the http response to the OWSM host only (either in the Apache or the OC4J configuration). See the related documentation.
    --olaf                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Error while calling MII transaction as web service from ABAP

    Hello Experts,
    I want to call a MII transaction from ABAP program, as a web service.
    Following is output of http://<<server>>:50000/XMII/SOAPRunner/TAG_TRX  (TAG_TRX is name of my transaction).
      <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.sap.com/xMII" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.sap.com/xMII">
    - <!--  Types
      -->
    - <types>
    - <s:schema elementFormDefault="qualified" targetNamespace="http://www.sap.com/xMII">
    - <s:complexType name="InputParams">
    - <s:sequence id="InputSequence">
      <s:element maxOccurs="1" minOccurs="0" name="WEIGHT" type="s:string" />
      <s:element maxOccurs="1" minOccurs="0" name="BATCHID" type="s:string" />
      </s:sequence>
      </s:complexType>
    - <s:element name="XacuteRequest">
    - <s:complexType>
    - <s:sequence>
      <s:element maxOccurs="1" minOccurs="0" name="LoginName" type="s:string" />
      <s:element maxOccurs="1" minOccurs="0" name="LoginPassword" type="s:string" />
      <s:element maxOccurs="1" minOccurs="0" name="InputParams" type="s0:InputParams" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="Rowset">
    - <s:sequence>
      <s:element maxOccurs="unbounded" minOccurs="0" name="Row" type="s0:Row" />
      </s:sequence>
      <s:attribute name="Message" type="s:string" />
      </s:complexType>
    - <s:complexType name="Row">
      <s:sequence id="RowSequence" />
      </s:complexType>
    - <s:element name="XacuteResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element maxOccurs="1" minOccurs="0" name="Rowset" type="s0:Rowset" />
      </s:sequence>
      </s:complexType>
      </s:element>
      </s:schema>
      </types>
    - <!--  Messages
      -->
    - <message name="XacuteSoapIn">
      <part element="s0:XacuteRequest" name="parameters" />
      </message>
    - <message name="XacuteSoapOut">
      <part element="s0:XacuteResponse" name="parameters" />
      </message>
    - <!--  Ports
      -->
    - <portType name="XacuteWSSoap">
    - <operation name="Xacute">
      <input message="s0:XacuteSoapIn" />
      <output message="s0:XacuteSoapOut" />
      </operation>
      </portType>
    - <!--  Bindings
      -->
    - <binding name="XacuteWSSoap" type="s0:XacuteWSSoap">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="Xacute">
      <soap:operation soapAction="http://www.sap.com/xMII" style="document" />
    - <input>
      <soap:body use="literal" />
      </input>
    - <output>
      <soap:body use="literal" />
      </output>
      </operation>
      </binding>
    - <!--  Service mapping
      -->
    - <service name="XacuteWS">
    - <port binding="s0:XacuteWSSoap" name="XacuteWSSoap">
      <soap:address location="http://<<server>>:50000/XMII/SOAPRunner/TAG_TRX" />
      </port>
      </service>
      </definitions>
    Now, when I am using http://<<server>>:50000/XMII/SOAPRunner/TAG_TRX to create a Enterprise Service in SAP (i.e. SE80 transaction-> Create Enterprise Service-> Service Consumer-> URL/HTTP Destination-> URL ... I am getting following error.
    Incorrect value: Entity "<<document>>"(5 /93 ). unexpected symbol: '<'     
    But, whenever I am using the same URL in MII BLS, it does not give any error. It correctly shows all input and output parameters.
    Please help me to resolve this issue.
    Regards
    Neeta.

    Now, I am able to create the Web Service in SAP and it is now showing the respective class, attribute and methods to execute this web service (web service to call MII transaction).
    But when I am calling it from ABAP (a simple Web Dynpro for ABAP method), it is showing me the following error:
    Error (id=GET_BUSINESS_SYSTEM_ERROR): An error occurred when determining the business system (LD_ERROR)
    Thought this error is coming from ABAP program, but I am sure that this is related to some configuration at SAP level. (Let me inform you that there are two different servers for SAP Web Dynpro ABAP and SAP MII.
    Please help.
    Thanks in advance.

  • Urgent help with simple BPEL process for reading data from database

    Hello there,
    I need help with BPEL project.
    i have created a table Employee in Database.
    I did create application, BPEL project and connection to the database properly using Database Adapter.
    I need to read the records from the database and convert into xml fomat and it should to go approval for BPM worklist.
    Can someone please describe me step by step what i need to do.
    Thx,
    Dps

    I have created a table in Database with data like Empno,name,salary,comments.
    I created Database Connection in jsp page and connecting to BPEL process.
    It initiates the process and it goes automatically for approval.
    Please refer the code once which i created.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@page import="java.util.Map" %>
    <%@page import="com.oracle.bpel.client.Locator" %>
    <%@page import="com.oracle.bpel.client.NormalizedMessage" %>
    <%@page import="com.oracle.bpel.client.delivery.IDeliveryService" %>
    <%@page import="javax.naming.Context" %>
    <%@page import="java.util.Hashtable" %>
    <%@page import="java.util.HashMap" %>
    <%@ page import="java.sql.*"%>
    <%@ page import= "jspprj.DBCon"%>
    <html>
    <head>
    <title>Invoke CreditRatingService</title>
    </head>
    <body>
    <%
    DBCon dbcon=new DBCon();
    Connection conn=dbcon.createConnection();
    Statement st=null;
    PreparedStatement pstmt=null;
    Hashtable env= new Hashtable();
    ResultSet rs = null;
    Map payload =null;
    try
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    env.put(Context.PROVIDER_URL, "opmn:ormi://localhost:port:home/orabpel");//bpel server
    env.put("java.naming.security.principal", "username");
    env.put("java.naming.security.credentials", "password");//bpel console
    Locator locator = new Locator("default","password",env);
    IDeliveryService deliveryService =
    (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
    // construct the normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage();
    java.util.HashMap map = new HashMap();
    st=conn.createStatement();
    out.println("connected");
    String query1="Select * from EMPLOYEE";
    rs=st.executeQuery(query1);
    /*reading Data From Database and converting into XML format
    so that no need of going to BPEL console and entering the details.
    while (rs.next()){
    String xml1 = "<AsynchBPELProcess1ProcessRequest xmlns='http://xmlns.oracle.com/AsynchBPELProcess1'>"+
    "<Empno>"+rs.getString(1)+"</Empno>"+
    "<EmpName>"+rs.getString(2)+"</EmpName>"+
    "<Salary>"+rs.getString(3)+"</Salary>"+
    "<Comments>"+rs.getString(4)+"</Comments>"+
    "</AsynchBPELProcess1ProcessRequest>";
    out.println(xml1);
    nm.addPart("payload", xml1 );
    // EmployeeApprovalProcess is the BPEL process in which human task is implemented
    deliveryService.post("EmployeeApprovalProcess", "initiate", nm);
    // payload = res.getPayload();
    out.println( "BPELProcess CreditRatingService executed!<br>" );
    // out.println( "Credit Rating is " + payload.get("payload") );
    //Incase there is an exception while invoking the first server invoke the second server i.e lsgpas13.
    catch(Exception ee) {
    //("BPEL Server lsgpas14 invoking error.\n"+ee.toString());
    %>
    </body>
    </html>
    Its working fine.And i want it for Bulk approvals.please help me step by step procedure if any other way to implement this.

  • Calling One Jax/rpc web service from another.

    We have a number of services residing in the same Oracle 10.1.3 app server container. These are deployed as Jax RPC Web Services
    I am trying to figure out what are the different options to have once web service invoke an operation on another (without directly linking to the Java code). The reason we want to keep separation as far as possible is that these services may later migrate to different app servers and in the spirit of SOA all we want to change when a service migrates is address and would like everything else to remain the same.
    So for example, if Web Service A needs to invoke an operation X in web service B,
    One way to do this seems to be to generate a proxy for web service B, include the proxy in Web Service A and then simply do B.X() from Web Service A.
    Is this is the best way to do it ?
    Are there other alternative approaches available ? Such as using the built in ESB features of Oracle App Server 10.1.3?
    Any pointers will be greatly appreciated.
    Thanks
    RR

    Hi all,
    I've managed to get this working by using the following property settings:
    System.getProperties().setProperty("http.proxyHost", "Proxy_Hostname");
    System.getProperties().setProperty("http.proxyPort", "8080");
    System.getProperties().setProperty("http.nonProxyHosts", "localhost,hostbox09");
    And solving the authentication problem using this property setting on the java cmd line:
    -Dweblogic.net.proxyAuthenticatorClassName=com.mycompany.MyProxyAuthenticator
    This class is an impl class of weblogic.common.ProxyAuthenticator interface.
    The other thing to note is that MyProxyAuthenticator needs to be in the server pre_classpath.
    Then I just call JAX-RPC or JAX-WS web service client calls as normal.
    Regards,
    Paul

  • About map a bpel process to web service?

    hi:
    Which activity in bpel should be exposed as a service to invoker?I always think they are receive and onMessage.But,in oracle PM,it looks not so.In oracle PM a asyn process exposed two services,one init the instance(begin receive),one is calback.To my understanding,the callback service should implement by invoker,why not so?
    thanks

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

Maybe you are looking for

  • Error while installing NetWeaver CE 7.2 trial at step 21

    Dear SDN, I am trying to install the NetWeaver CE 7.2 trial version. A the step 21 (u201CInstall Instance basics of SCS01u201D) I get the following error: Message: u201CAn error occurred while processing option SAP NetWeaver Developer Edition > Serve

  • Combo box list getting widened while selecting

    I have an application , which have combo boxes inside a DIV tag. When the length of one the item in the list box is greater the specified length of the combo box, the display of the list gets widened and the combo box widens to the lengthiest items'

  • HT204053 my mail will not open iclouds mail

    i need to change where verification email goes

  • Best format for ripping video

    I have 3 home movies that are only on dvd, master tapes got misplaced somewhere,I do however still have twenty something 8mm tapes of other home movies but that is a whole other post, anyhow I downloaded handbrake for these 3 dvd movies and to be hon

  • Update: Credit issue for Orange PAYG customers

    Hi all, We've noticed that some of our Orange Pay As You Go customers have been experiencing a problem with recent top-up transactions that haven't appeared on their account. We can confirm the problem has occurred for a small proportion of our Orang