Bpel process returning array of complex type

Hi, I have created a BPEL process which is returning a array of Officer class objects, I used following xsd for that.
<?xml version="1.0" encoding="UTF-8"?>
<schema attributeFormDefault="unqualified"
     elementFormDefault="qualified"
     targetNamespace="http://xmlns.oracle.com/RegistrationUpload_jws/RegistrationUpload/OfficerList"
     xmlns="http://www.w3.org/2001/XMLSchema">
     <element name="process">
          <complexType>
               <sequence>
                    <element name="jobAssignmentType" type="string"/>
<element name="officerLevelNum" type="string"/>
<element name="applicationType" type="string"/>
<element name="functionId" type="string"/>
<element name="app_id_val">
<complexType>
<sequence>
<element name="key" type="string"/>
<element name="value" type="string"/>
</sequence>
</complexType>
</element>
<element name="dcConservationFlag" type="string"/>
               </sequence>
          </complexType>
     </element>
     <element name="processResponse">
          <complexType>
               <sequence>
<element name="Officer" maxOccurs="unbounded" minOccurs="1">
<complexType>
<sequence>
<element name="mainOfficer" type="string"/>
<element name="mainOfficerID" type="string"/>
<element name="coveringOfficer" type="string"/>
<element name="coveringOfficerId" type="string"/>
<element name="defaultOfficer" type="string"/>
<element name="defaultOfficerId" type="string"/>
<element name="matrixId" type="string"/>
</sequence>
</complexType>
</element>
               </sequence>
          </complexType>
     </element>
</schema>*
we can check the processResponse Element is output variable.
please tell me how can i set values in this element and return (lets I have 4 value objects for officer class)
I am using following code and its giving me null pointer exception. in my early program I can get the variable in the same way.
try
for(int i=1; i<4; i++)
setVariableData("outputVariable","payload","/client:processResponse/client:Officer[1]/client:mainOfficer","abhi",true);
catch(Exception e)
System.out.println("error occured");
I am using Hard code value "1" for above example, I have tried with dynamic value of "i" also.
thanks
Edited by: abhishek on Apr 27, 2011 2:33 AM
Edited by: abhishek on Apr 27, 2011 2:34 AM

Hi,
My requirement is to retrieve those task which satisfying some input criteria. and that input criteria are in payload attribute of task.
we can use ITaskQueryService API, for retrieving task list, but I am not able to see any function through which I can find my task based on payload attribute,
Lets take a example
I created a task with atribute functionID="ABC" (payload attribute). now i want to query the task list which have functionID attribute value "ABC".
for this I have found some flex fields are there, but even not sure what flex fields are.
still trying for the same.

Similar Messages

  • Invoking stored procedure that returns array(oracle object type) as output

    Hi,
    We have stored procedures which returns arrays(oracle type) as an output, can anyone shed some light on how to map those arrays using JPA annotations? I tried using jdbcTypeName but i was getting wrong type or argument error, your help is very much appreciated. Below is the code snippet.
    JPA Class:
    import java.io.Serializable;
    import java.sql.Array;
    import java.util.List;
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import org.eclipse.persistence.annotations.Direction;
    import org.eclipse.persistence.annotations.NamedStoredProcedureQuery;
    import org.eclipse.persistence.annotations.StoredProcedureParameter;
    * The persistent class for the MessagePublish database table.
    @Entity
    @NamedStoredProcedureQuery(name="GetTeamMembersDetails",
         procedureName="team_emp_maintenance_pkg.get_user_team_roles",
         resultClass=TeamMembersDetails.class,
         returnsResultSet=true,
         parameters={  
         @StoredProcedureParameter(queryParameter="userId",name="I_USER_ID",direction=Direction.IN,type=Long.class),
         @StoredProcedureParameter(queryParameter="employeeId",name="I_EMPLOYEEID",direction=Direction.IN,type=Long.class),
         @StoredProcedureParameter(queryParameter="TEAMMEMBERSDETAILSOT",name="O_TEAM_ROLES",direction=Direction.OUT,jdbcTypeName="OBJ_TEAM_ROLES"),
         @StoredProcedureParameter(queryParameter="debugMode",name="I_DEBUGMODE",direction=Direction.IN,type=Long.class)
    public class TeamMembersDetails implements Serializable {
         private static final long serialVersionUID = 1L;
    @Id
         private long userId;
         private List<TeamMembersDetailsOT> teamMembersDetailsOT;
         public void setTeamMembersDetailsOT(List<TeamMembersDetailsOT> teamMembersDetailsOT) {
              this.teamMembersDetailsOT = teamMembersDetailsOT;
         public List<TeamMembersDetailsOT> getTeamMembersDetailsOT() {
              return teamMembersDetailsOT;
    Procedure
    PROCEDURE get_user_team_roles (
    i_user_id IN ue_user.user_id%TYPE
    , o_team_roles OUT OBJ_TEAM_ROLES_ARRAY
    , i_debugmode IN NUMBER :=0)
    AS
    OBJ_TEAM_ROLES_ARRAY contains create or replace TYPE OBJ_TEAM_ROLES_ARRAY AS TABLE OF OBJ_TEAM_ROLES;
    TeamMembersDetailsOT contains the same attributes defined in the OBJ_TEAM_ROLES.

    A few things.
    You are not using a JDBC Array type in your procedure, you are using a PLSQL TABLE type. An Array type would be a VARRAY in Oracle. EclipseLink supports both VARRAY and TABLE types, but TABLE types are more complex as Oracle JDBC does not support them, they must be wrapped in a corresponding VARRAY type. I assume your OBJ_TEAM_ROLES is also not an OBJECT TYPE but a PLSQL RECORD type, this has the same issue.
    Your procedure does not return a result set, so "returnsResultSet=true" should be "returnsResultSet=false".
    In general I would recommend you change your stored procedure to just return a select from a table using an OUT CURSOR, that is the easiest way to return data from an Oracle stored procedure.
    If you must use the PLSQL types, then you will need to create wrapper VARRAY and OBJECT TYPEs. In EclipseLink you must use a PLSQLStoredProcedureCall to access these using the code API, there is not annotation support. Or you could create your own wrapper stored procedure that converts the PLSQL types to OBJECT TYPEs, and call the wrapper stored procedure.
    To map to Oracle VARRAY and OBJECT TYPEs the JDBC Array and Struct types are used, these are supported using EclipseLink ObjectRelationalDataTypeDescriptor and mappings. These must be defined through the code API, as there is currently no annotation support.
    I could not find any good examples or doc on this, your best source of example is the EclipseLink test cases in SVN,
    http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/foundation/eclipselink.core.test/src/org/eclipse/persistence/testing/tests/plsql/
    http://dev.eclipse.org/svnroot/rt/org.eclipse.persistence/trunk/foundation/eclipselink.core.test/src/org/eclipse/persistence/testing/tests/customsqlstoredprocedures/
    James : http://www.eclipselink.org

  • BPEL Process returns "empty variable/expression result."

    Hi,
    I have an Asynchronous BPEL Process which uses a DB Adapter (which in turn uses a custom SQL Procedure) to insert a value in to a table and return a sequence value generated in the procedure back to the BPEL Process. The process inserts the value in to the table but the sequence is not returned back and i get the below error,
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    <part name="summary">
    <summary>
    empty variable/expression result.
    xpath variable/expression expression "/ns2:OutputParameters/ns2:X_NO" is empty at line 94, when attempting reading/copying it.
    Please make sure the variable/expression result "/ns2:OutputParameters/ns2:X_NO" is not empty.
    </summary>
    </part>
    </selectionFailure>
    If i see the process flow the invoke activity shows the sequence value is returned from the procedure but when the invoke activity passes that value to the Assign activity its lost and the above error is displayed.
    The details i see in Invoke activity is below,
    <messages>
    <Invoke_1_DBProcWrite_InputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="InputParameters">
    <InputParameters
    xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/SUR_NEW_BPEL_PROC/">
    <P_NAME>Vivek</P_NAME>
    </InputParameters>
    </part>
    </Invoke_1_DBProcWrite_InputVariable>
    <Invoke_1_DBProcWrite_OutputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="OutputParameters">
    <db:OutputParameters xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:db="http://xmlns.oracle.com/pcbpel/adapter/db/APPS/SUR_NEW_BPEL_PROC/">
    <X_NO>9</X_NO>
    </db:OutputParameters>
    </part>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    name="response-headers">[]</part>
    </Invoke_1_DBProcWrite_OutputVariable>
    </messages>
    I use Jdeveloper version 10.1.3.3.0.4157. I did not recieve this error in Jdeveloper 10.1.3.1.
    Please let me know how to resolve this issue.
    Regards, Suresh

    I have exactly the same problem!!!! I would appreciate someone from Product or other to explain why I can see the incoming variable being created but when XPath expression is attempted to extract a value so I can do an assignment I get a "empty variable/expression result".
    Using JDEV10.1.3.3 and SOA 10.1.3.3 advanced install. My process is receiving a R12 Business Event listed here:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <WF_EVENT_T xmlns="http://xmlns.oracle.com/xdb/APPS/BES_EVENT/BES_EVENT">
    <PRIORITY xmlns="">50</PRIORITY>
    <SEND_DATE xmlns="">2008-04-30T13:40:33.000-05:00</SEND_DATE>
    <RECEIVE_DATE xmlns="">2008-04-30T13:40:40.000-05:00</RECEIVE_DATE>
    <CORRELATION_ID xmlns="" />
    - <PARAMETER_LIST xmlns="">
    - <PARAMETER_LIST_ITEM>
    <NAME>BO_ID</NAME>
    <VALUE>123456</VALUE>
    </PARAMETER_LIST_ITEM>
    - <PARAMETER_LIST_ITEM>
    <NAME>#CURRENT_PHASE</NAME>
    <VALUE>201</VALUE>
    </PARAMETER_LIST_ITEM>
    </PARAMETER_LIST>
    <EVENT_NAME xmlns="">oracle.apps.ar.hz.PersonBO.create</EVENT_NAME>
    <EVENT_KEY xmlns="">777666</EVENT_KEY>
    <EVENT_DATA xmlns="" />
    - <FROM_AGENT xmlns="">
    <NAME>WF_BPEL_QAGENT</NAME>
    <SYSTEM>VIS12.US.ORACLE.COM</SYSTEM>
    </FROM_AGENT>
    <TO_AGENT xmlns="" />
    <ERROR_SUBSCRIPTION xmlns="">TBo0FQQPy6ngQKjAuQAXWA==</ERROR_SUBSCRIPTION>
    <ERROR_MESSAGE xmlns="" />
    <ERROR_STACK xmlns="" />
    </WF_EVENT_T>

  • Soap encoded array of complex type, impossible to map?

    Hello,
    can anyone please tell me if the XI has problems (or is unable) to read from soap-encoded arrays of a complex type.
    As far as I know this is conform to SOAP 1.1
    We developed this webservice for a client, who says, he cannot map this kind of array in his XI.
    Would it be better to do it this way ?
    <complexType name="ActivityList">
      <sequence>
        <element name="ActivityEl" maxOccurs="unbounded" type="Activity"/>
      </sequence>
    </complexType>
    Excerpt of the WSDL:
        <wsdl:message name="getDataForPbnrResponse">
            <wsdl:part name="getDataForPbnrReturn" type="impl:ArrayOf_tns1_Activity"/>
        </wsdl:message>
            <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ipslsv01vm02:9080/axis/services/QEC-Service">
                <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
                <complexType name="ArrayOf_tns1_Activity">
                    <complexContent>
                        <restriction base="soapenc:Array">
                            <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:Activity[]"/>
                        </restriction>
                    </complexContent>
                </complexType>
                <complexType name="ArrayOf_tns1_ActivityFeedback">
                    <complexContent>
                        <restriction base="soapenc:Array">
                            <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:ActivityFeedback[]"/>
                        </restriction>
                    </complexContent>
                </complexType>
            </schema>
    Part ot the response:
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
      <ns1:getDataForPbnrResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://ipslsv01vm02:9080/axis/services/QEC-Service">
       <getDataForPbnrReturn xsi:type="soapenc:Array" soapenc:arrayType="ns3:Activity[7]" xmlns:ns2="http://www.w3.org/2002/12/soap-encoding" xmlns:ns3="urn:BeanService" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
        <item href="#id0"/>
        <item href="#id1"/>
        <item href="#id2"/>
        <item href="#id3"/>
        <item href="#id4"/>
        <item href="#id5"/>
        <item href="#id6"/>
       </getDataForPbnrReturn>
      </ns1:getDataForPbnrResponse>
      <multiRef id="id5" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:Activity" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns4="urn:BeanService">
       <FIN xsi:type="xsd:string">---</FIN>
       <VIN xsi:type="xsd:string"></VIN>
    cut -
       <ursache xsi:type="xsd:string"></ursache>
      </multiRef>
    </soapenv:Body>
    </soapenv:Envelope>
    Thanks in advance!

    I am having this issue as well.
    From:
    http://help.sap.com/saphelp_nw04/helpdata/en/43/ce993b45cb0a85e10000000a1553f6/frameset.htm
    I see that:
    The WSDL document in rpc-style format must also not use any soapenc:Array types; these are often used in SOAP code in documents with this format. soapenc:Array uses the tag <xsd:any>, which the Integration Builder editors or proxy generation either ignore or do not support.
    You can replace soapenc:Array types with an equivalent <sequence>; see the WS-I  example under http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#refinement16556272.
    They give an example of what to use instead.
    Of course I have been given a WSDL that has a message I need to map to that uses the enc:Array.
    Has anyone else had this issue?  I need to map to a SOAP message to send to an external party.  I don't know what they are willing to change to support what I can do.  I changed the WSDL to use a sequence as below just to pull it in for now.
    Thanks,
    Eric

  • Help with BPEL - copy values inside of complex type array ???

    I have a jirasoapservice-v2.wsdl with:
    <complexType name="RemoteIssue">
    <complexContent>
    <extension base="tns1:AbstractRemoteEntity">
    <sequence>
    <element name="customFieldValues" nillable="true" type="impl:ArrayOf_tns1_RemoteCustomFieldValue"/>
    <complexType name="ArrayOf_tns1_RemoteCustomFieldValue">
    <complexContent>
    <restriction base="soapenc:Array">
    <attribute ref="soapenc:arrayType"> wsdl:arrayType="tns1:RemoteCustomFieldValue[]"/>
    </restriction>
    </complexContent>
    </complexType>
    <complexType name="RemoteCustomFieldValue">
    <sequence>
    <element name="customfieldId" nillable="true" type="xsd:string"/>
    <element name="key" nillable="true" type="xsd:string"/>
    <element name="values" nillable="true" type="impl:ArrayOf_xsd_string"/>
    </sequence>
    </complexType>
    And in BPEL I'm trying this code:
    <?xml version="1.0" encoding="UTF-8"?>
    <process
    name="CosimaJiraProcess"
    targetNamespace="http://enterprise.netbeans.org/bpel/BpelModuleCosimaJira/CosimaJiraProcess"
    xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Trace"
    xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor"
    xmlns:sxat="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Attachment"
    xmlns:sxeh="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling"
    xmlns:tns="http://enterprise.netbeans.org/bpel/BpelModuleCosimaJira/CosimaJiraProcess" xmlns:sxed2="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editor2" xmlns:ns0="un:CosimaJira:JiraObject" xmlns:ns1="un:CosimaJira:CosimaObject" xmlns:impl="http://localhost/rpc/soap/jirasoapservice-v2" xmlns:ns2="http://beans.soap.rpc.jira.atlassian.com" xmlns:ns3="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:sxxf="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/XPathFunctions">
    <import namespace="http://enterprise.netbeans.org/bpel/jirasoapservice-v2Wrapper" location="jirasoapservice-v2Wrapper.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
    <import namespace="http://localhost/rpc/soap/jirasoapservice-v2" location="binding/jirasoapservice-v2.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
    <import namespace="http://j2ee.netbeans.org/wsdl/BpelModuleCosimaJira/JMSCosimaJiraWSDL" location="binding/JMSCosimaJiraWSDL.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
    <partnerLinks>
    <partnerLink name="PartnerLink1" xmlns:tns="http://j2ee.netbeans.org/wsdl/BpelModuleCosimaJira/JMSCosimaJiraWSDL" partnerLinkType="tns:JMSCosimaJiraWSDL" myRole="JMSInPortTypeRole"/>
    <partnerLink name="plJira" xmlns:tns="http://enterprise.netbeans.org/bpel/jirasoapservice-v2Wrapper" partnerLinkType="tns:JiraSoapServiceLinkType" partnerRole="JiraSoapServiceRole"/>
    </partnerLinks>
    <variables>
    <variable name="JMSInOperationIn" xmlns:tns="http://j2ee.netbeans.org/wsdl/BpelModuleCosimaJira/JMSCosimaJiraWSDL" messageType="tns:JMSInputMessage"/>
    <variable name="Token" messageType="impl:loginResponse"/>
    <variable name="LoginIn" messageType="impl:loginRequest"/>
    <variable name="newIssue" type="ns2:RemoteIssue"/>
    <variable name="CreateIssueOut" xmlns:impl="http://localhost/rpc/soap/jirasoapservice-v2" messageType="impl:createIssueResponse"/>
    <variable name="CreateIssueIn" xmlns:impl="http://localhost/rpc/soap/jirasoapservice-v2" messageType="impl:createIssueRequest"/>
    </variables>
    <sequence>
    <receive name="Receive1" createInstance="yes" partnerLink="PartnerLink1" operation="JMSInOperation" xmlns:tns="http://j2ee.netbeans.org/wsdl/BpelModuleCosimaJira/JMSCosimaJiraWSDL" portType="tns:JMSInPortType" variable="JMSInOperationIn"/>
    <scope name="Scope1">
    <variables>
    <variable name="cusField1" type="ns2:RemoteCustomFieldValue"/>
    </variables>
    <sequence name="Sequence1">
    <assign name="AssignNewIssue">
    <copy>
    <from>'probe'</from>
    <to>$cusField1/customfieldId</to>
    </copy>
    <copy>
    <from>'summary'</from>
    <to>$newIssue/summary</to>
    </copy>
    <copy>
    <from variable="cusField1"/>
    <to>$newIssue/customFieldValues[1]**</to>
    </copy>
    </assign>
    </sequence>
    </scope>
    <assign name="LoginAssign">
    <copy>
    <from>'test'</from>
    <to variable="LoginIn" part="in0"/>
    </copy>
    <copy>
    <from>'test'</from>
    <to variable="LoginIn" part="in1"/>
    </copy>
    </assign>
    <invoke name="loginJira" partnerLink="plJira" operation="login" portType="impl:JiraSoapService" inputVariable="LoginIn" outputVariable="Token"/>
    <assign name="IssueAssign">
    <copy>
    <from variable="newIssue"/>
    <to variable="CreateIssueIn" part="in1"/>
    </copy>
    <copy>
    <from variable="Token" part="loginReturn"/>
    <to variable="CreateIssueIn" part="in0"/>
    </copy>
    </assign>
    <invoke name="createIssue" partnerLink="plJira" operation="createIssue" xmlns:impl="http://localhost/rpc/soap/jirasoapservice-v2" portType="impl:JiraSoapService" inputVariable="CreateIssueIn" outputVariable="CreateIssueOut"/>
    </sequence>
    </process>
    None of the 3 ways work:
    <copy>
    <from variable="cusField1"/>
    <to>$newIssue/customFieldValues[1]/ns2:RemoteCustomFieldValue</to>
    </copy>
    <copy>
    <from variable="cusField1"/>
    <to>$newIssue/customFieldValues/impl:RemoteCustomFieldValue[1]</to>
    </copy>
    <copy>
    <from variable="cusField1"/>
    <to>$newIssue/customFieldValues[1]*</to>
    </copy>
    Any ideas, advice or suggestions ???
    Thanks,

    Hi,
    My requirement is to retrieve those task which satisfying some input criteria. and that input criteria are in payload attribute of task.
    we can use ITaskQueryService API, for retrieving task list, but I am not able to see any function through which I can find my task based on payload attribute,
    Lets take a example
    I created a task with atribute functionID="ABC" (payload attribute). now i want to query the task list which have functionID attribute value "ABC".
    for this I have found some flex fields are there, but even not sure what flex fields are.
    still trying for the same.

  • URGENT: Problem sending array of complex type data to webservice.

    Hi,
    I am writing an application in WebDynpo which needs to call External web service. This service has many complex data types. The function which I am trying to access needs some Complex data type array. When i checked the SOAP request i found that the namespace for the array type is getting blank values. Because of which SOAP response is giving exception.
    The SOAP request is as below. For the <maker> which is an array ,the xmlns:tns='' is generated.
    <mapImageOptions xsi:type='tns:MapImageOptions' xmlns:tns='http://www.themindelectric.com/package/com.esri.is.services.glue.v2.mapimage/'>
    <dataSource xsi:type='xs:string'>GDT.Streets.US</dataSource>
    <mapImageSize xsi:type='tns:MapImageSize'><width xsi:type='xs:int'>380</width><height xsi:type='xs:int'>500</height></mapImageSize>
    <mapImageFormat xsi:type='xs:string'>gif</mapImageFormat>
    <backgroundColor xsi:type='xs:string'>255,255,255</backgroundColor>
    <outputCoordSys xsi:type='tns:CoordinateSystem' xmlns:tns='http://www.themindelectric.com/package/com.esri.is.services.common.v2.geom/'>
    <projection xsi:type='xs:string'>4269</projection>
    <datumTransformation xsi:type='xs:string'>dx</datumTransformation>
    </outputCoordSys>
    <drawScaleBar xsi:type='xs:boolean'>false</drawScaleBar>
    <scaleBarPixelLocation xsi:nil='true' xsi:type='tns:PixelCoord'></scaleBarPixelLocation>
    <returnLegend xsi:type='xs:boolean'>false</returnLegend>
    <markers ns2:arrayType='tns:MarkerDescription[1]' xmlns:tns='' xmlns:ns2='http://schemas.xmlsoap.org/soap/encoding/'>
    <item xsi:type='tns:MarkerDescription'><name xsi:type='xs:string'></name>
    <iconDataSource xsi:type='xs:string'></iconDataSource><color xsi:type='xs:string'></color>
    <label xsi:type='xs:string'></label>
    <labelDescription xsi:nil='true' xsi:type='tns:LabelDescription'>
    </labelDescription><location xsi:type='tns:Point' xmlns:tns='http://www.themindelectric.com/package/com.esri.is.services.common.v2.geom/'>
    <x xsi:type='xs:double'>33.67</x><y xsi:type='xs:double'>39.44</y>
    <coordinateSystem xsi:type='tns:CoordinateSystem'>
    <projection xsi:type='xs:string'>4269</projection>
    <datumTransformation xsi:type='xs:string'>dx</datumTransformation>
    </coordinateSystem></location></item>
    </markers><lines xsi:nil='true'>
    </lines><polygons xsi:nil='true'></polygons><circles xsi:nil='true'></circles><displayLayers xsi:nil='true'></displayLayers>
    </mapImageOptions>
    Another problem:
    If the webservice is having overloaded methods , it is generating error for the second overloaded method.The stub file itself contains statment as follow:
    Response = new();
    can anyone guide me on this?
    Thanks,
    Mital.

    I am having this issue as well.
    From:
    http://help.sap.com/saphelp_nw04/helpdata/en/43/ce993b45cb0a85e10000000a1553f6/frameset.htm
    I see that:
    The WSDL document in rpc-style format must also not use any soapenc:Array types; these are often used in SOAP code in documents with this format. soapenc:Array uses the tag <xsd:any>, which the Integration Builder editors or proxy generation either ignore or do not support.
    You can replace soapenc:Array types with an equivalent <sequence>; see the WS-I  example under http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#refinement16556272.
    They give an example of what to use instead.
    Of course I have been given a WSDL that has a message I need to map to that uses the enc:Array.
    Has anyone else had this issue?  I need to map to a SOAP message to send to an external party.  I don't know what they are willing to change to support what I can do.  I changed the WSDL to use a sequence as below just to pull it in for now.
    Thanks,
    Eric

  • BPEL PM supports Complex Type?

    In my BPEL process flow, I am trying to invoke a web service operation with Response message an array of Complex Type. When I tried to look the output of the operation from the debug mode of the BPEL Console, I got a message "Error:internal bug (#321) object:id0 not found in object store".
    The operation is defined as
    <wsdl:operation name="getEffects">
    <wsdlsoap:operation soapAction="" />
    <wsdl:input name="getEffectsRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:IBCDS" use="encoded" />
    </wsdl:input>
    <wsdl:output name="getEffectsResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:IBCDS" use="encoded" />
    </wsdl:output>
    </wsdl:operation>
    the Complex Types are defined as
    <complexType name="Effect">
    <sequence>
    <element name="ID" nillable="true" type="xsd:string" />
    <element name="classification" nillable="true" type="xsd:string" />
    <element name="coe" type="xsd:byte" />
    <element name="com" type="xsd:byte" />
    <element name="country" nillable="true" type="xsd:string" />
    <element name="dateMod" nillable="true" type="xsd:dateTime" />
    <element name="deClassDate" nillable="true" type="xsd:dateTime" />
    <element name="def" type="xsd:byte" />
    <element name="description" nillable="true" type="xsd:string" />
    <element name="det" type="xsd:byte" />
    <element name="infl" type="xsd:byte" />
    <element name="name" nillable="true" type="xsd:string" />
    <element name="reliability" type="xsd:double" />
    <element name="tra" type="xsd:byte" />
    </sequence>
    </complexType>
    <complexType name="ArrayOfEffect">
    <complexContent>
    <restriction base="soapenc:Array">
    <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:Effect[]" />
    </restriction>
    </complexContent>
    </complexType>
    and the input/output for the operation are define as
    <wsdl:message name="getEffectsRequest" />
    <wsdl:message name="getEffectsResponse">
    <wsdl:part name="getEffectsReturn" type="impl:ArrayOfEffect" />
    </wsdl:message>
    My project involves lots of Complex Type data, I like to know if the current BPEL PM support the Complex Type that I just described?

    Hi June,
    BPEL PM Supports complex type return. I am not why you see this error in debugger. can you enable the bpel domain debug (under BPEL Console-->Manage Domain-->Logging) and send us the debug log? Is it possible to send your process (including wsdl + xsd) to our support email at [email protected]?

  • Problem in invoking a BPEL process with complex input

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

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

  • How to get the array of Complex when call a webserivce method it's return an array of user define data struct?

    When call a webservice opreation, it returns an array of complex type, sure, the calling is successed,  but i don't know how to get the return values,
    I have tried use Pendingcall.response & Pendingcall.getOutPutValues() in Pendingcall.onResult event function...
    Waiting....

    Flash Lite doesn't fully support webservices, so you will find it difficult to use the full api set.
    I suggest that you use SWX (swxformat.org) or simply HTTP requests for transactions.
    We have a tutorial on use with ColdFusion here:
    http://vimeo.com/6829083
    Mark

  • Synchronous BPEL process calling apache soap 2.3.1 service(s) on jboss

    I have a problem that is quite frustratiing. I have a very simple synchronous BPEL process and I am trying to invoke some legacy services we have deployed using Apache soap 2.3.1 running on jboss. The process executes, the service executes, but the return value is not received by the BPEL process.
    I used obtunnel to capture the data flow and everything seems fine from that perspective. The problem is, if you watch the monitor, the status says active, but the BPEL process returns immediately. It does not wait for the response, so the return value winds up being null. I have tried this numerous times with several services and the result is always the same. This is a serious problem for us. Any suggestions/insight would be very much appreciated.
    Ina case there are any doubts as to whether or not it is actually a synchronous process, from the BPEL code:
    <!--
    Oracle JDeveloper BPEL Designer
    Created: Wed Apr 18 13:19:50 EDT 2007
    Author: bmurray
    Purpose: Synchronous BPEL Process
    -->
    Below is an example from obtunnel:
    ==============
    Listen Port: 5678
    Target Host: pian.wlgore.com
    Target Port: 8080
    ==== Request ====
    POST /soap/servlet/rpcrouter HTTP/1.1
    Host: pian.wlgore.com:5678
    Connection: TE
    TE: trailers, deflate, gzip, compress
    User-Agent: Oracle HTTPClient Version 10h
    SOAPAction: "http://vitalstream.com/webservices/Authenticate"
    Accept-Encoding: gzip, x-gzip, compress, x-compress
    Content-type: text/xml; charset=UTF-8
    Content-length: 829
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <env:Body>
    <ns0:Authenticate xmlns:ns0="http://vitalstream.com/webservices">
    <strAccount xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar3</strAccount>
    <strToken xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar1</strToken>
    <strReferrer xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar4</strReferrer>
    <strSourceURL xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar</strSourceURL>
    <strClientIP xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string">testvar2</strClientIP>
    </ns0:Authenticate>
    </env:Body>
    </env:Envelope>==== Response ====
    HTTP/1.1 200 OK
    X-Powered-By: Servlet 2.4; Tomcat-5.0.28/JBoss-4.0.1sp1 (build: CVSTag=JBoss_4_0_1_SP1 date=200502160314)
    Set-Cookie: JSESSIONID=C656EEE6B641F23F02D6E5BE79CD2A4D.ajp13w; Path=/soap
    Content-Type: text/xml;charset=utf-8
    Content-Length: 480
    Date: Wed, 18 Apr 2007 18:34:19 GMT
    Server: Apache-Coyote/1.1
    <?xml version='1.0' encoding='UTF-8'?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <ns1:AuthenticateResponse xmlns:ns1="http://vitalstream.com/webservices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <return xsi:type="xsd:int">1</return>
    </ns1:AuthenticateResponse>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    ==============
    As you can see, the value is indeed returned from the service, but BPEL indicates a null value for the return:
    <messages><Invoke_1_Authenticate_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strSourceURL"><strSourceURL xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar</strSourceURL>
    </part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strToken"><strToken xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar1</strToken>
    </part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strAccount"><strAccount xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar3</strAccount>
    </part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strClientIP"><strClientIP xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar2</strClientIP>
    </part><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="strReferrer"><strReferrer xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema" xsi:type="def:string" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">testvar4</strReferrer>
    </part></Invoke_1_Authenticate_InputVariable><Invoke_1_Authenticate_OutputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Result">null</part></Invoke_1_Authenticate_OutputVariable></messages>

    Did you specify the correct message type for your return variable?
    <Invoke_1_Authenticate_OutputVariable>
    <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Result">
    null
    </part>
    </Invoke_1_Authenticate_OutputVariable>
    As is returns:
    <ns1:AuthenticateResponse
    xmlns:ns1="http://vitalstream.com/webservices" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <return xsi:type="xsd:int">1</return>
    </ns1:AuthenticateResponse>
    Regards,
    Marc

  • Eclipse BPEL Designer with Oracle BPEL Process Manager

    Gurus,
    I am tryting to develop a BPEL 2 process using Eclipse Helios BPEL Designer (v0.5).
    Request your help with a problem that I am facing, which is as follows:
    I am trying to create a Partner Link (PL) in my BPEL process, using the Partner Link Type (PLT) provided by TaskService (for user interactions) in BPEL Process Manager 11g integration services.
    However, the PLT is not recognized by Eclipse BPEL Designer. The Port Types in the WSDL show up but not the PLTs.
    I noticed that the PLT namespace being used in the TaskService WSDL is BPEL v1 namespace (namely, http://schemas.xmlsoap.org/ws/2003/05/partner-link/). I am able to work with PLTs from WSDLs with BPEL v2 namespce (namely, http://docs.oasis-open.org/wsbpel/2.0/plnktype)
    Is there anyway I can work with v1 PLTs using Eclipse BPEL 2 Process?
    Many Thanks,
    Pulkit Sharma

    Hi,
    I believe the Eclipse BPEL Designer is not a supported tool to create SOA composites. I suggest using Oracle JDeveloper 11g as it is a supported tool for development and is Oracle's go-forward IDE strategy.
    Hope this helps!

  • Wsdl nested complex type

    I'm trying to create Web service that return a nested complex type.
    The exposed method return a Vector. Elements of vector are beans. A single bean has more attributes, one of them is a hashtable.
    Here my code:
    package pk;
    import java.util.Hashtable;
    public class myBean {
    private String the_string;
    private Hashtable hs;
    public myBean(){
    hs= new Hashtable();
    public void setThe_string(String p_){
    the_string= p_;
    public String getThe_string(){
    return opec;
    public void setHs(Hashtable _hs){
    hs= _hs;
    public Hashtable getHs(){
    return hs;
    The exposed method is :
    public Vector getInfo( Vector myBeanVector, String[] arrayValue)
    The input and output Vectot are myBean's type
    I get alqways this error with oc4j (Jdev 9.0.3):
    No Deserializer found to deserialize pk.myBean
    Any help would be very appreciated.
    thanks in advanced
    massimo

    Hi,
    I'm having a similar problem when following your suggestion. The exact stacktrace is:
    java.lang.ClassNotFoundException:
    org.apache.soap.encoding.soapenc.BeanSerializer
    at oracle.j2ee.ws.GeneratedClassLoader.findClass(GeneratedClassLoader.ja
    va:48)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
    at oracle.j2ee.ws.BaseWebService.initQnameMap(BaseWebService.java:602)
    at oracle.j2ee.ws.RpcWebService.init(RpcWebService.java:453)
    at oracle.j2ee.ws.SessionBeanRpcWebService.init(SessionBeanRpcWebService
    .java:54)
    Has anyone come across a similar problem before? What was the workaround? I will appreciate any help!
    Thanks
    Riz

  • Implement callback for an asynchronous BPEL process through Java

    Hi ,
    I am trying to implement a callback functionality for an asynchronous BPEL process through java.
    I found the code in the samples folder of SOA suite installation folder .
    <SOA_HOME>\bpel\samples\tutorials\102.InvokingProcesses\rmi\com\otn\samples\async.
    There is an AsyncInstanceWatchdog object which registers a callback object(in this case an object of AsyncCallbackImpl class) for a specific CONVERSATION_ID.
    String convId = GUIDGenerator.generateGUID();
    nm.setProperty(NormalizedMessage.CONVERSATION_ID, convId);
    deliveryService.post(proc_name, "initiate", nm);
    // register the callback
    watchdog.registerAsyncCallback(convId, testAsyncHandler,
    locator.getDomainAuth());
    // start it
    watchdog.start();
    There is no problem till the last line. But once the BPEL process returns the control( does a callback), it throws the following error.
    May 25, 2010 3:36:06 PM oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
    WARNING: Exception returned by remote server: {0}
    ORABPEL-02118
    Variant not found.
    The variant "output" has not been declared in the current scope. All variants must be declared in the scope before being accessed.
    Please check that the variant "output" is properly declared; otherwise there may be a misspelling in the name of the variant.
         at com.collaxa.cube.engine.core.Scope.getVariantRV(Scope.java:535)
         at com.collaxa.cube.engine.CubeEngine.getFieldValue(CubeEngine.java:2668)
    For your reference the variable output is declared in the definition of AsyncCallbackImpl (which implements the IAsyncInstanceCallback interface).
    There are 2 methods defined in the AsyncCallbackImpl class.
    public void onResult(Map pResultMessage) {
    System.out.println("called back! ");
    Iterator iTest = pResultMessage.keySet().iterator();
    while (iTest.hasNext()) {
    String key = (String)iTest.next();
    System.out.println(XMLHelper.elementToString((Element)pResultMessage.get(key)));
    public String getVariableName() {
    return "output";
    The variable name is same given in the sample code. And the BPEL process returns variable named output. So the name should not be a problem.
    Is it because of the scope of the variable.. If so, how do I change it.
    Any help would be appreciated.
    Edited by: saptarishi on May 25, 2010 4:24 PM
    Edited by: saptarishi on May 26, 2010 4:45 PM

    Solved it by some googling .... :)
    Here is the link:-
    [http://abhishek-soablog.blogspot.com/2008/09/orabpel-02118.html]
    or
    [http://beautifulwaste.blogspot.com/2008/04/calling-asynchronous-bpel-process.html]
    Both gives the same solution..
    In pre 10.1.3.3 release the default behaviour were to keep global variable information along with the instance information for completed BPEL processes.
    In 10.1.3.3 or later, this behaviour changed for performance reasons so that the default behaviour is now, not to keep any global variables for a BPEL process once the BPEL process has completed.
    You can configure this behaviour on a process level basis by using the parameter keepGlobalVariables in the bpel.xml file for the specific process:
    <BPELSuitcase>
    <BPELProcess src=".........." id="...........">
    <configurations>
    <property name="keepGlobalVariables">true</property>
    </configurations>
    </BPELProcess>
    </BPELSuitcase>
    Thanks
    saptarishi

  • Can an synchronous ESB process initiate an asynchronous BPEL process?

    I have a requirement to create a synchronous ESB service that initiates an aysnchronous BPEL process returning a success message to the requesting system.
    I can create an esb that receives a paylaod from the requesting system and returns a receipt message, I then created an asynchronous bpel process.
    Although I can initiate the asynchronous bpel process from the ESB I cannot work out how to send back the success message? The routing rules do not allow setting of outgoing messages unless you call a synchronous process?

    Can you make the BPEL process synchronous. Calling a asynchronous process breaks your synchronous message, because what happens if your asynchronous process takes longer that 1 minute. The synchronous process will timeout but the asynchronous process will complete.
    The previous note is correct you can use queues but all this will do is tell you that you posted correctly, you get the same result calling a web service. Asynchronous is fire and forget in a ESB world as it is stateless.
    cheers
    James

  • Read BPEL process fault - JSP - Servlet

    Hi all,
    I created a simple BPEL process, a JSP and a servlet to access and run the process. This is the scenario:
    - The user enters "test" in JSP page. The servlet execute the BPEL process
    - BPEL process throws a fault. A error msg is assigned to ProcessFault element
    - BPEL process returns -1 in output variable
    ... and this is my problem:
    I want to read the error msg in ProcessFault element. I created a xml facade to access the ProcessFault element but it's empty. There is no error msg ...
    If I checked the process with the console. It's works fine. The processus returns -1 and assign a error msg.
    Do you have an idea?
    Have a great day,
    Cyryl

    Hi Cyryl ,
    If you can send me the Process and JSP or servlet where you are trying to catch fault [ProcessFault] , i will see if ther is anything you are missing something.
    Thanks,
    rakesh

Maybe you are looking for