Assign activity: xsd complex type variable assignment

<selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>XPath query string returns multiple nodes.
According to BPEL4WS spec 1.1 section 14.3, The assign activity part and query /ns5:returnResultResponse/return should not return multipe nodes.
Please check the BPEL source at line number "158" and verify the part and xpath query /ns5:returnResultResponse/return.
</summary>
</part></selectionFailure>
I am trying to add nodes to an existing variable.
I think this is possible in WS-BPEL 2.0, what is the workaround till then?
Thanks in advance

To add new child nodes to a parent node, you should use append, insert-before or insert-after operations in the assign activity.
Serkan

Similar Messages

  • Map xsd complex type to existing java class without adding JAXB annotations

    Hello
    I've got a case where I should map an xsd complex type to an existing Java class without modifying that class, i.e. without adding JAXB annotations to that class.
    Is this possible somehow?
    As far as I've understood, the <javaType> declaration (adapter, parse/print methods) can only be used for xsd simple types.
    Thanks, Tom

    It should be possible to implement an XmlAdapter<...,...> which performs the required conversion between the original type and a JAXB-annotated type. Then, at the places where the original type is used, the @XmlJavaTypeAdapter annotation would be used.
    The xjc compiler supports this for xsd simple types (xjc:javaType annotation), but not for complex types.
    Any idea why this is restricted to simple types?
    Would it be possible to implement a xjc plugin which does this for complex types?
    Thanks Tom.

  • How to map XSD complex type nodes

    Hello In my XSD I have complex type like this:
    How to map this node to Target filed, I can not see PostalCode node my graphical editor:
    <xs:element name="InternationalAddress" nillable="true" type="tns:InternationalAddress" />
      <xs:complexType name="CanadianAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="PostalCode" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Province" nillable="true" type="tns:ProvinceCodes" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>

    How to handle this in my graphical mapping:
    <xs:complexType name="Address">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:BusinessObject">
            <xs:sequence>
              <xs:element minOccurs="0" name="City" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Country" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line1" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line2" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line3" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Line4" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="Address" nillable="true" type="tns:Address" />
      <xs:complexType name="InternationalAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="Region" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="PostalCode" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="InternationalAddress" nillable="true" type="tns:InternationalAddress" />
      <xs:complexType name="CanadianAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="PostalCode" nillable="true" type="xs:string">
              </xs:element>
              <xs:element minOccurs="0" name="Province" nillable="true" type="tns:ProvinceCodes" />
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="CanadianAddress" nillable="true" type="tns:CanadianAddress" />
      <xs:complexType name="AmericanAddress">
        <xs:complexContent mixed="false">
          <xs:extension base="tns:Address">
            <xs:sequence>
              <xs:element minOccurs="0" name="State" nillable="true" type="tns:StateCodes">
              </xs:element>
              <xs:element minOccurs="0" name="ZipCode" nillable="true" type="xs:string">
              </xs:element>
            </xs:sequence>
          </xs:extension>
        </xs:complexContent>
      </xs:complexType>
      <xs:element name="AmericanAddress" nillable="true" type="tns:AmericanAddress" />

  • Human tasks, complex types and variable assignment.

    Hi folks,
    I encountered a problem while working with 10.1.3.1 which I haven't managed to solve yet and would be grateful for assistance. I have defined a complex data type (just a sequence of strings) and want to fill that data type by going through a flow of screens, e.g. through several human tasks. I have defined that type as a variable to the BPEL process and have managed to assign simple expressions to the variable and pass that into a Human Task. In the task I see now a simple input form for all attributes of the type.
    Now the problem. After I fill out the form and complete the human task, I have
    The global variable:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                   <vorname/>
                   <nachname/>
                   <strasse/>
                   <nummer/>
                   <postleitzahl/>
                   <stadt/>
                   <maximaleDauer/>
                   <minimaleDauer/>
              </MyProcessResponse>
         </part>
    </outputVariable>
    and the return value from the human task:
    <task>
         <title>CaptureData</title>-
              <payload>
                   <MyProcessResponse>
                        <vorname>David</vorname>
                        <nachname>Beckham</nachname>
                        <strasse>HighStreet</strasse>
                        <nummer/>
                        <postleitzahl/>
                        <stadt/>
                        <maximaleDauer/>
                        <minimaleDauer/>
                   </MyProcessResponse>
              </payload>
    </task>
    Now the only thing I would like to do is to replace the original values in the variable with the new values that have been returned from the task, this should be performed in an extra assign step. Sounds simple. JDeveloper wouldn't even let me klick through the return value from the HumanTask, so it seems as if I have to do things manually.
    These are my tries:
    Command 1:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload" />
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse"/>
    </copy>
    Result 1:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <ns0:MyProcessResponse xmlns="http://xmlns.oracle.com/bpel/workflow/task"     xmlns:ns0="http://xmlns.oracle.com/VacationRequest">
                   <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                        <vorname>David</vorname>
                        <nachname>Beckham</nachname>
                        <strasse>HighStreet</strasse>
                        <nummer/>
                        <postleitzahl/>
                        <stadt/>
                        <maximaleDauer/>
                        <minimaleDauer/>
                   </MyProcessResponse>
              </ns0:MyProcessResponse>
         </part>
    </outputVariable>
    --> There is one MyProcessResponse element too many
    Command 2:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload"/>
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse/ns1:vorname"/>
    </copy>
    Result 2:
    <outputVariable>
         <part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="payload">
              <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                   <ns0:vorname xmlns="http://xmlns.oracle.com/bpel/workflow/task"                     xmlns:ns0="http://xmlns.oracle.com/VacationRequest">
                        <MyProcessResponse xmlns="http://xmlns.oracle.com/VacationRequest">
                             <vorname>David</vorname>
                             <nachname>Beckham</nachname>
                             <strasse>HighStreet</strasse>
                             <nummer/>
                             <postleitzahl/>
                             <stadt/>
                             <maximaleDauer/>
                             <minimaleDauer/>
                        </MyProcessResponse>
                   </ns0:vorname>
                   <nachname/>
                   <strasse/>
                   <nummer/>
                   <postleitzahl/>
                   <stadt/>
                   <maximaleDauer/>
                   <minimaleDauer/>
              </MyProcessResponse>
         </part>
    </outputVariable>
    --> This was moreless expected, since I tried to copy the stuff to some wrong place.
    Command 3:
    <copy>
         <from variable="CaptureData_1_globalVariable"
    part="payload" query="/task:task/task:payload/ns0:MyProcessResponse"/>
    <to variable="outputVariable" part="payload"
    query="/ns1:MyProcessResponse"/>
    </copy>
    Result 3:
    --> Task does't return (!!!). In the BPEL Worklist, the task is completed, however in the BPEL console it still apears as "waiting to return from Human task".
    Does anyone have a hint on how to copy the values so that I get exactly the structure that I printed at the very top?
    Thanks for help. Rock On !

    Hello everyone,
    It seems that we are talking about different things, I am afraid. Let me describe the scenario once again:
    - I want to have a BPEL process with more than one role involved
    - This process should be used to gather some complex data.
    - All data gathering should be done through HumanTasks.
    So I defined an xsd complex type, that contains a sequence of fields. This complex type should be part of the process payload.
    Now before HumanTask 1 is called, I copy the contents of this variable into the input for tasks1. This works fine and I see the appropriate values, when opening the Human Task in the BPEL worklist application.
    Now after HumanTask1 is completed, the values I entered inside that tasks are returned as a variable from the HumanTask. My problem is, that I cannot copy the contents of the task back into the main process. With simpleTypes this is relatively ok, since Jdev supports the assembling of the copy operation, however for complex tasks it fails.
    A typical scenario for this would be where e.g. a customer fills a shipping address and afterwards a store staff fills product details in the same order. In Java this could be solved via "pass by reference". Who can provide an example?

  • Cannot assign value to a Variable of Complex Type beyond index 1

    Hello:
    I have a variable defined as a complex type as followed. I tried to assign a value to each of the two elements but it only allows me to assign to the 'element#1.
    This statement that tries to assign a value into element#2 will not work, if I assign with '[1]' for the first element it will work:
    <copy> <---- THIS WORKS
    <from expression="'John'"/>
    <to variable="My_Variable"
    part="My_Collection"
    query="/ns9:My_Collection/ns9:Collection/ns9:Collection_Item[1]/ns9:pname"/>
    </copy>
    <copy> <---- THIS DOES NOT WORK
    <from expression="'John'"/>
    <to variable="My_Variable"
    part="My_Collection"
    query="/ns9:My_Collection/ns9:Collection/ns9:Collection_Item[2]/ns9:pname"/>
    </copy>
    Is there something wrong with my definition below that allows only element#1 to be refererenced but not element#2???? Am I missing some kind of initialization that is needed to initialize both elements????
    Here are my message and Complex Type definitions:
    <variable name="My_Variable" messageType="ns8:args_out_msg"/>
    <message name="args_out_msg">
    <part name="My_Collection" element="db:My_Collection"/>
    </message>
    <element name="My_Collection">
    <complexType>
    <sequence>
    <element name="Collection" type="db:Collection_Type" db:index="2" db:type="Array" minOccurs="0" nillable="true"/>
    <element name="Ret" type="string" db:index="3" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <complexType name="Collection_Type">
    <sequence>
    <element name="Collection_Item" type="db:Collection_Type_Struct" db:type="Struct" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="Collection_Type_Struct">
    <sequence>
    <element name="pname" db:type="VARCHAR2" minOccurs="0" nillable="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="25"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    The error msg it gives me is as followed:
    [2010/09/04 00:47:59] Error in <assign> expression: <to> value is empty at line "254". The XPath expression : "" returns zero node, when applied to document shown below:less
    oracle.xml.parser.v2.XMLElement@1fa7874
    [2010/09/04 00:47:59] "{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure" has been thrown.less
    -<selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    -<part name="summary">
    <summary>
    XPath query string returns zero node.
    According to BPEL4WS spec 1.1 section 14.3, The assign activity &lt;to&gt; part query should not return zero node.
    Please check the BPEL source at line number "254" and verify the &lt;to&gt; part xpath query.
    </summary>
    </part>
    </selectionFailure>
    Thanks
    Newbie

    Hello:
    Base on the suggestion to use 'append' instead of 'copy', I tried to define a 'singleNode' which is of type 'Collection_Type_Struct' so I can append this individual 'struct' into my array (i.e. as the 2nd. element of my array "/ns9:My_Collection/ns9:Collection/ns9:Collection_Item"), but I am getting an error in defining this variable as:
    <variable name="singleNode" element="Collection_Type_Struct"/> <--- error
    Can someone tell me how should I define "singleNode" so I can put a value in it and then append this 'singleNode' into the array:
    <variable name="singleNode" element=" how to define this????"/>
    <assign>
    <copy>
    <frem expression="'Element2Value'"/>
    <to variable="singleNode"
    part="My_Collection"
    query="/ns9:My_Collection/ns9:Collection/ns9:Collection_Item/ns9:pname"/>
    </copy>
    </assign>
    <bpelx:assign>
    <bpelx:append>
    <from variable="singleNode" query="/ns9:My_Collection/ns9:Collection/ns9:Collection_Item"/>
    <to variable="My_Variable"
    "part="My_Collection"
    query="/ns9:My_Collection/ns9:Collection"/>
    </bpelx:append>
    </bpelx:assign>
    Again here is my definition in my .xsd file:
    <element name="My_Collection">
    <complexType>
    <sequence>
    <element name="Collection" type="db:Collection_Type" db:index="2" db:type="Array" minOccurs="0" nillable="true"/>
    <element name="Ret" type="string" db:index="3" db:type="VARCHAR2" minOccurs="0" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <complexType name="Collection_Type">
    <sequence>
    <element name="Collection_Item" type="db:Collection_Type_Struct" db:type="Struct" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="Collection_Type_Struct">
    <sequence>
    <element name="pname" db:type="VARCHAR2" minOccurs="0" nillable="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="25"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    Thanks for any help!!!!

  • Assign activity for Complex XML type in BPEL

    Hi All,
    I am NEW to BPEL. I am trying to assign a constant value to a XML Fragment of complex type in BPEL.
    Here is my XSD definition.
    <xs:element name="AssetGetList">
    <xs:complexType>
    <xs:sequence>
    <xs:element xmlns:q59="http://schemas.datacontract.org/2004/07/Xerox.MPS" minOccurs="0" name="request" nillable="true" type="q59:SearchRequest"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    <xs:complexType name="SearchRequest">
    <xs:complexContent mixed="false">
    <xs:extension base="tns:RequestBase">
    <xs:sequence>
    <xs:element xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="Filters" nillable="true" type="q8:ArrayOfanyType"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="RequestBase">
    <xs:sequence>
    <xs:element minOccurs="0" name="APIKey" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="AccountID" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="AllAccessibleAccounts" type="xs:boolean"/>
    <xs:element minOccurs="0" name="PageNumber" type="xs:int"/>
    <xs:element minOccurs="0" name="PageSize" type="xs:int"/>
    <xs:element minOccurs="0" name="SortDirection" type="tns:SortDirection"/>
    <xs:element minOccurs="0" name="SortField" nillable="true" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="RequestBase" nillable="true" type="tns:RequestBase"/>
    <xs:complexType name="DateRangeFilterParameter">
    <xs:sequence>
    <xs:element minOccurs="0" name="ColumnName" nillable="true" type="xs:string"/>
    <xs:element minOccurs="0" name="EndDate" type="xs:dateTime"/>
    <xs:element minOccurs="0" name="StartDate" type="xs:dateTime"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="DateRangeFilterParameter" nillable="true" type="tns:DateRangeFilterParameter"/>
    <xs:complexType name="ArrayOfanyType">
    <xs:sequence>
    <xs:element minOccurs="0" maxOccurs="unbounded" name="anyType" nillable="true" type="xs:anyType"/>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="ArrayOfanyType" nillable="true" type="tns:ArrayOfanyType"/>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/">
    <xs:element name="anyType" nillable="true" type="xs:anyType"/>.
    In the above XSD I am able to invoke the webservice by passing the Basic inputs APIKey,AccountID and it works fine without the Filters.
    Example:
    <Invoke_1_AssetGetList_InputVariable>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="parameters">
    -<AssetGetList xmlns="http://api.services.xerox.com">
    -<request>
    <APIKey xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">1130a5ff-d41b-4e55-becc-f572046ff231</APIKey>
    <AccountID xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">58c6d7e4-5b7e-4cfe-acf5-f1997284ed72</AccountID>
    <AllAccessibleAccounts xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">true</AllAccessibleAccounts>
    <PageNumber xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">1</PageNumber>
    <PageSize xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">10</PageSize>
    <SortDirection xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">Ascending</SortDirection>
    <SortField xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">AssetId</SortField>
    <Filters xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS"/>
    </request>
    </AssetGetList>
    </part>
    </Invoke_1_AssetGetList_InputVariable>
    When I try to add the filters I get the error message as
    **INPUT:**
    <temp_AssetGetList_InputVariable>
    -<part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="parameters">
    -<AssetGetList xmlns="http://api.services.xerox.com">
    -<request>
    <APIKey xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">1130a5ff-d41b-4e55-becc-f572046ff231</APIKey>
    <AccountID xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">58c6d7e4-5b7e-4cfe-acf5-f1997284ed72</AccountID>
    -<Filters xmlns:arr="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:xer="http://schemas.datacontract.org/2004/07/Xerox.MPS" xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS">
    -<arr:anyType xmlns="http://www.w3.org/2001/XMLSchema-instance" type="xer:DateRangeFilterParameter">
    <xer:ColumnName>ModifiedDate</xer:ColumnName>
    <xer:EndDate>2011-11-08T17:31:00</xer:EndDate>
    <xer:StartDate>2011-10-02T20:31:00</xer:StartDate>
    </arr:anyType>
    </Filters>
    </request>
    </AssetGetList>
    </part>
    </temp_AssetGetList_InputVariable>
    OUTPUT
    <fault>
    -<SerializationFaultFault xmlns="http://api.services.xerox.com">
    -<part name="detail">
    -<SerializationFault xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS.Faults" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <Code xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS.Faults" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">300</Code>
    <Message xmlns="http://schemas.datacontract.org/2004/07/Xerox.MPS.Faults" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    Element anyType from namespace http://schemas.microsoft.com/2003/10/Serialization/Arrays cannot have child contents to be deserialized as an object. Please use XmlNode[] to deserialize this pattern of XML.
    </Message>
    </SerializationFault>
    </part>
    </SerializationFaultFault>
    </fault>
    I want to add filters to this by passing the values to the DateRangeFilterParameter. I am trying to assign the StartDate and EndDate values using copy operation but was unable to do so.
    Please let me know if you need any other information regarding this.
    Could you please help me as how I need to pass these values of ComplexType in BPEL.Thanks for your time.
    Thanks
    Murthy

    To add new child nodes to a parent node, you should use append, insert-before or insert-after operations in the assign activity.
    Serkan

  • Assign error with complex type return message

    Dear all,
    I have an axis web service with complex type return message. When I invoke the web service, and try to assign one element of the result to other variable, it fails with following error message(BPEL Fault:{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure{}
    The invoking web service and assignment BPEL source is as follows:
    <invoke name="registerConference" partnerLink="conferenceCenter" portType="tns:ConfArrangementPort" operation="Conference_Register" inputVariable="registerInput" outputVariable="registerOutput"/>
    <copy>
    <from variable="registerOutput" part="Conference_RegisterReturn" query="/Conference_RegisterReturn/confcity"></from>
    <to variable="bookHotelInput" part="si" query="/si/city"/>
    </copy>
    I tunneled the response SOAP message:
    ==== Response ====
    HTTP/1.1 200 OK
    Content-Type: text/xml; charset=utf-8
    Date: Sun, 31 Oct 2004 08:28:27 GMT
    Server: Apache Coyote/1.0
    Connection: close
    <?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:Conference_RegisterResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://conference.sjtu.edu">
    <ns1:Conference_RegisterReturn href="#id0"/>
    </ns1:Conference_RegisterResponse>
    <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:ConfInfo" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://conference.sjtu.edu">
    <confcity xsi:type="xsd:string">star</confcity>
    <confend xsi:type="xsd:string">20041120</confend>
    <confstart xsi:type="xsd:string">20041116</confstart>
    </multiRef>
    </soapenv:Body>
    </soapenv:Envelope>
    ==============
    However, when i check the invoke activity audit trail, it return the following info:
    <messages>
    <registerInput>
    <part xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" name="gi">
    <gi xmlns="http://conference.sjtu.edu">
    <attendeename xmlns="">ss</attendeename>
    <confname xmlns="">hh</confname>
    </gi>
    </part>
    </registerInput>
    <registerOutput>
    <part xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" name="Conference_RegisterReturn">
    <ns1:Conference_RegisterReturn xmlns:ns1="http://conference.sjtu.edu" href="#id0" />
    </part>
    </registerOutput>
    </messages>
    The detailed value of the return message lost, only leaving the href. Can I find the desired value again? should I try another XPATH expression? should I parse the result from the SOAP message directly? Or it's a problem of the system itself?
    Hope you can do me a favor, thanks.

    From Axis's user guide: RPC services default to the soap section 5 encoding rules, objects will be encoded via "multi-ref" serialization. Document services do not use any encoding (so in particular, you won't see multiref object serialization or SOAP-style arrays on the wire)
    May be I should try document service style instead of RPC. Thanks for your reply.

  • Assigning value to array type variable in a loop

    Hi
    I have a scenario in which i am assigning value from a array type variable(x) to the invoke variable of a database adapter. The variable x is exact replica of the invoke variable.
    My copy operation in assign activity looks like this-
    <copy>
    <from variable="Var" part="InputParameters"
    query="/ns7:InputParameters"/>
    <to variable="Invoke_call_XXDPI_EDI_852_PKG_InputVariable"
    part="InputParameters"
    query="/ns7:InputParameters *(* bpws:getVariableData('iterator') *)* "/>
    </copy>
    It is inside a while loop activity.
    PS *()* are square brackets
    But it is erroring out at run time.
    Does anybody has an alternate idea to assign value to an array type?.
    i have seen that while extracting value from an array type variable it works fine
    A similar kind of operation is shown below.
    <copy>
    <from variable="Var" part="InputParameters"
    query="/ns7:InputParameters *(* bpws:getVariableData('iterator') *)* "/>
    <to variable="Invoke_call_XXDPI_EDI_852_PKG_InputVariable"
    part="InputParameters"
    query="/ns7:InputParameters"/>
    </copy>
    Thanks
    Ayush
    Edited by: Ayush fujitsu on Aug 14, 2009 4:36 AM

    Hi Ayush
    I suppose you are getting some error like "source node returns multiple elements".
    In second case there is no problem because you are assigning *InputParameters[bpws:getVariableData('iterator')]* (+suppose InputParameters[1]+) to target. Here it works fine because you are fetching oonly 1 value from source and assigning it to the target.
    Now in first case you are saying copy InputParameters to target[1] suppose. You know that source is an array which contains multiple index so which index field from the source will be assigned to the target.
    Try your process with only 1 source value it will work but when multiple values will be there it will fail. You have to merge both the cases and it will look like
    *<copy>*
    *<from variable="Var" part="InputParameters"*
    query="/ns7:InputParameters ( bpws:getVariableData('iterator') ) "/>
    *<to variable="Invoke_call_XXDPI_EDI_852_PKG_InputVariable"*
    part="InputParameters"
    query="/ns7:InputParameters ( bpws:getVariableData('iterator') ) "/>
    *</copy>*
    And the easiest way to do this is by the transform activity as said above.
    Regards
    Suryaveer
    Edited by: Suryaveer on Aug 15, 2009 11:19 PM

  • How to assign two complex type data in message payload

    Hi ,
    In my xsd file two complex type data is there ,
    but when i am trying to add these in message type request and response payload , i can add only one payload,
    is it any way to add 2 complex types in message types request and response payloads.
    Regards
    janardhan

    Each request and response has but a single payload. You can change the element of the payload to a single complex type from your XSD, but that's it. You can't assign more than one element to the request (or response) payload. Someone please correct me if I'm wrong.

  • Assign value to Object type variable

    CREATE OR REPLACE TYPE emp AS OBJECT (
    empid NUMBER,
    age NUMBER,
    dob date);
    CREATE OR REPLACE TYPE emp _tab AS TABLE OF emp;
    Pls hlep me assign value to the object type variable in loop..(assume there is 5 10 records in emp table)
    declare
    v_emp_tt emp _tab ;
    begin
    for i in (select empid ,age ,dob from emp ) Loop
    v_emp_tt := i.empid; --this is wrong pls help me correct it.
    end loop;
    end;
    thanks,

    I would keep the type/object naming convention distinct from the table name.
    In terms of assignment:
    CREATE OR REPLACE TYPE to_emp AS OBJECT
    (empid NUMBER,
    age NUMBER,
    dob date);
    CREATE OR REPLACE TYPE tt_emp AS TABLE OF emp;
    declare
    v_emp tt_emp;
    begin
    select to_emp_obj(emp_id, age, dob)
    bulk collect into v_emp
    from emp;
    end;

  • Xsd:list using complex type ??

    Hello,
    I have modified world.xsd from (www.manojc.com... sample8)
    My customer wants to return a list of complex types. In this case list of Country (CountryList)
    Here is my schema and I run autotype target. produces errors
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    xmlns:tns="http://tutorial/sample8/"
    targetNamespace="http://tutorial/sample8/">
    <xsd:complexType name="World">
    <xsd:sequence>
    <xsd:element type="xsd:string" name="name"
    minOccurs="1" nillable="true" maxOccurs="1" />
    <xsd:element type="tns:Country" name="country"
    minOccurs="1" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:attribute name="population" type="xsd:long" />
    </xsd:complexType>
    <xsd:complexType name="Country">
    <xsd:sequence>
    <xsd:element type="xsd:string" name="name" minOccurs="1" />
    </xsd:sequence>
    <xsd:attribute name="population" type="xsd:long" />
    <xsd:attribute name="abbreviations">
    <xsd:simpleType>
    <xsd:list itemType="tns:TwoCharString" />
    </xsd:simpleType>
    </xsd:attribute>
    </xsd:complexType>
    <xsd:simpleType name="CountryList">
         <xsd:list itemType="tns:Country"/>
    </xsd:simpleType>
    <xsd:element name="countries" type="tns:CountryList"/>
    <xsd:complexType name="EUCountry">
    <xsd:complexContent>
    <xsd:extension base="tns:Country">
    <xsd:sequence>
    <xsd:element name="exchangeInfo" type="tns:ExchangeInformation" />
    </xsd:sequence>
    </xsd:extension>
    </xsd:complexContent>
    </xsd:complexType>
    <xsd:simpleType name="TwoCharString">
    <xsd:restriction base="xsd:NCName">
    <xsd:length value='2' />
    </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="ExchangeInformation">
    <xsd:simpleContent>
    <xsd:restriction base="xsd:float">
    <xsd:maxInclusive value="10000.0" />
    <xsd:attribute name="currency" type="tns:TwoCharString" />
    </xsd:restriction>
    </xsd:simpleContent>
    </xsd:complexType>
    </xsd:schema>

    What I have tryed is to do analyze the dbms_xml packages and I tried to do it the same way with the result:
    SQL> declare
    2 bar long raw;
    3
    4 FUNCTION foo RETURN raw IS
    5 EXTERNAL
    6 NAME "tidyCreate"
    7 LANGUAGE C
    8 LIBRARY TIDY_LIB
    9 PARAMETERS ( RETURN );
    10 begin
    11 bar := '1';
    12 bar := foo;
    13
    14 dbms_output.put_line(bar);
    15 end;
    16 /
    declare
    FEHLER in Zeile 1:
    ORA-06525: Lõngenfehlanpassung bei CHAR- oder RAW-Daten
    ORA-06512: in Zeile 4
    ORA-06512: in Zeile 12

  • How to convert element to mesasge type variable in BPEL

    Hi,
    I have xml message in element type variable. I want to create one variable of message type and have same elements values what element type variable has.
    I modified my xsd and created of same type like element namespace. Now when i use assign activity to copy from top root another top root. I get error Variable not initialized.
    How to correct?
    My XML message is like
    <CMISAPPL>
    <APPLICANT_FULL_NAME>Abhi</APPLICANT_FULL_NAME>
    <MANAGER_FULL_NAME>Jack</MANAGER_FULL_NAME>
    <INTERVIEWER_FULL_NAME>jack</INTERVIEWER_FULL_NAME>
    <JOB_TITLE>Test</JOB_TITLE>
    <INTERVIEW_DATE>2-Oct-2007</INTERVIEW_DATE>
    <PASSED_DAYS>5</PASSED_DAYS>
    <INT_SCH_PROFILE_VALUE>1,2,4,7</INT_SCH_PROFILE_VALUE>
    <FILE_PATH_PROFILE_VALUE/>
    <PAPERWORK_REQ_SEGMENTS_VALUE/>
    <PAPERWORK_REQ_SEGMENTS_NAME>App test</PAPERWORK_REQ_SEGMENTS_NAME>
    <VACANCY_NAME>test</VACANCY_NAME>
    <INTERVIEWER_EMAIL>t</INTERVIEWER_EMAIL>
    <INTERVIEWER_MANAGER_EMAIL>t</INTERVIEWER_MANAGER_EMAIL>
    </CMISAPPL>

    Looks like a namespace issue. There is no namespace defined in your payload.
    Marc
    http://orasoa.blogspot.com

  • SSIS Web Service Complex Type Inputs

    Hi,
    I am trying to make a call to a third-party web service in my SSIS package.  The request has custom complex data type as the parameter.  As has been pointed out in this forum before, the Web Service Task only lets you assign the outside parameter from a variable, not the internal parameters needed to create the complex data type. 
    To be more specific, the web service input wants a 'ContactSearchRequest' parameter.  I can assign this from a variable.  If I click on the 'value' field under the 'Input' section for the web service task, it shows me that the 'ContactSearchRequest' data type is made up of the following:
    contactId - long
    numResults - int
    offset - int
    passKey - string
    searchParam - string
    sortType - int
    Unfortunately, I can't assign these internal parameters from a variable, at least not through the web service task interface.
    My next thought was to create a variable of type 'object' and then set it in a script task prior to calling the web service task.  However, I'm not sure exactly how to do this.  How will my script know about the class definition of 'ContactSearchRequest'?  Do I just create a class called 'ContactSearchRequest'?
    I've used this same web service in a .NET C# project and after I imported the web service, visual studio knew all about the custom data types.  How do I do something similar in SSIS?
    Of course, the easiest solution would for Integration Service to allow me to set those internal parameters via variables, but we're apparently not there yet.
    Any suggestions?
    Thanks,
    Trey

    Hi All,
    I am trying to pull the data from a webservice. The method expects 5 parameters out of which one is a complex type. And it is fine to pass Null value for this parameter.
    The method expects a complex data type UrlReportFilter
    as follows:
    <simpleType name="UrlReportFilterOperatorEnum">
     <restriction base="xsd:string">
    <enumeration value="contains"/>
    <enumeration value="starts_with"/>
    <enumeration value="ends_with"/>
    <enumeration value="not_contains"/>
    <enumeration value="not_starts_with"/>
    <enumeration value="not_ends_with"/>
    <enumeration value="match_regular_expression"/>
    <enumeration value="not_match_regular_expression"/>
    <enumeration value="exact_match"/>
    </restriction>
    </simpleType>
    <complexType name="UrlReportFilter">
    <sequence>
    <element name="caseSensitive" type="xsd:boolean"/>
    <element name="operand" nillable="true" type="xsd:string"/>
    <element name="operator" nillable="true" type="akaaimsdt:UrlReportFilterOperatorEnum"/>
    </sequence>
    </complexType>
    How to assign values and use this in VB.NET code? 
    I am using following code to assign the values to the properties in VB.NET code in Script task but it is throwing the error below:
     Dim vUrlFilter As New Akamine.UrlReportFilter With {.caseSensitive = False, .operand = ""}
    Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Web.Services.Protocols.SoapException: AWSFault:Error in processing:(com..aws.services.exceptions.InvalidColumnException: Invalid column:
    for report:H
    Any help on this would be appreciated!!
    Thanks,
    Ruby
    Thanks & Regards

  • Problems populating complex type structre in bpel

    Hi All,
    I'm trying to populate with no good results a complexType variable that contains n maxOccurs="unbounded" element.
    This is the schema:
    <xsd:complexType name="logWarnParam">
    <xsd:sequence>
    <xsd:element name="Message" type="xsd:string"/>
    <xsd:element name="MessageParam" type="xsd:string" maxOccurs="unbounded"/>
    <xsd:element name="context" type="ns1:context"/>
    </xsd:sequence>
    </xsd:complexType>
    This is the bpel variable
    <variable name="logWarnParamVariable" element="ns3:logWarnParam"/>
    and these are the parts of the bpel that applies to this case:
    <while name="While1"
    condition="bpws:getVariableData('i')&lt;number(5)">
    <scope name="Log1" variableAccessSerializable="no">
    <sequence name="Sequence1">
    <assign name="assign1">
    *<bpelx:append>*
    *<bpelx:from expression="string('value1')"/>*
    *<bpelx:to variable="logWarnParamVariable"*
    query="/ns3:logWarnParam/MessageParam"/>
    *</bpelx:append>*
    <copy>
    <from expression="bpws:getVariableData('i')+1"/>
    <to variable="contador"/>
    </copy>
    </assign>
    </sequence>
    </scope>
    </while>
    Can anyone help me with the way to populate this structure?
    Thanks in advance!

    The complexType element defines a complex type. A complex type element is an XML element that contains other elements and/or attributes.
    Its a place holder to hold different types of element or same set of elements.
    In the below example you will get more information.
    *<xs:element name="employee" type="fullpersoninfo"/>*
    *<xs:complexType name="personinfo">*
    <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    *<xs:complexType name="fullpersoninfo">*
    <xs:complexContent>
    <xs:extension base="personinfo">
    <xs:sequence>
    <xs:element name="address" type="xs:string"/>
    <xs:element name="city" type="xs:string"/>
    <xs:element name="country" type="xs:string"/>
    </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    In this example i would like to have more than one employee information. So i have created a complexType as "fullpersoninfo", Then in run time i will populate the values inside "fullpersoninfo"
    not the employee or fullpersoninfo variable, rather i will populate the firstname, lastname, address, city and country.
    The out put will be having value like the below.
    <employee>
         <firstname></firstname>
         <lastname></lastname>
         <address>Duke Street</address>
         <city>Liverpool</city>
         <country>UK</country>
    </employee>
    <employee>
         <firstname></firstname>
         <lastname></lastname>
         <address>Duke Street</address>
         <city>Liverpool</city>
         <country>UK</country>
    </employee>
    I will populate the elements inside the complex type element not it self.
    I took the example from below URL
    http://www.w3schools.com/schema/el_complextype.asp
    You should modify your assign as below.
    <bpelx:append>
    <bpelx:from expression="string('value1')"/>
    <bpelx:to variable="logWarnParamVariable"
    query="*/ns3:logWarnParamVariable/ns3:logWarnParam/ns3:MessageParam*"/>
    </bpelx:append>
    Let me know how you go !!
    Thanks,
    Vijay

  • Accessing Simple Type Variable Defined in BPEL Flow, in Transformation

    Hi,
    I am using Transform Process Activity. In transform mapping, i would like to map one target element with a value defined in a 'simple type variable' which is defined in calling BPEL Flow, however I am not able to do it.
    for example:
    I have a BPEL process A where there is a variable NOTIFICATION_EVENT_ID of simple type integer. when I am trying to access it through the function bpws.getVaraibleData(NOTIFICATION_EVENT_ID, "") then it is failing, while giving a hard-coded value makes it run
    <?xml version="1.0" encoding="UTF-8" ?>
    <?oracle-xsl-mapper
    <!-- SPECIFICATION OF MAP SOURCES AND TARGETS, DO NOT MODIFY. -->
    <mapSources>
    <source type="XSD">
    <schema location="MarketStatus.xsd"/>
    <rootElement name="MarketStatus" namespace="http://www.j.com/soa/2007-07-17/MarketStatus.xsd"/>
    </source>
    </mapSources>
    <mapTargets>
    <target type="XSD">
    <schema location="MarketNotificationMsg.xsd"/>
    <rootElement name="MarketNotificationMsg" namespace="http://www.j.com/soa/2007-07-17/MarketNotificationMsg.xsd"/>
    </target>
    </mapTargets>
    ?>
    <xsl:stylesheet version="1.0"
    xmlns:m="http://www.j.com/soa/2007-07-17/MarketStatus.xsd"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:ehdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:ns0="http://www.j.com/soa/2007-07-17/MarketNotificationMsg.xsd"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    exclude-result-prefixes="xsl m xs ns0 xp20 bpws ora ehdr orcl ids hwf">
    <xsl:template match="/">
    <ns0:MarketNotificationMsg>
    <xsl:for-each select="/m:MarketStatus/m:MarketRun[1]">
    <ns0:MarketEvent>
    <ns0:eventID>
    <!--          <xsl:value-of select='string("33")'/> -->
    <xsl:value-of select='bpws:getVariableData("NOTIFICATION_EVENT_ID","")'/>
    </ns0:eventID>
    <ns0:tradeDay>
    <xsl:value-of select="m:marketStartTime"/>
    </ns0:tradeDay>
    <ns0:MarketRun>
    <ns0:marketRunID>
    <xsl:value-of select="m:marketRunID"/>
    </ns0:marketRunID>
    <ns0:marketID>
    <xsl:value-of select="m:marketID"/>
    </ns0:marketID>
    </ns0:MarketRun>
    </ns0:MarketEvent>
    </xsl:for-each>
    </ns0:MarketNotificationMsg>
    </xsl:template>
    </xsl:stylesheet>
    Suggest some pointers.

    > You could use the processXSLT with parameters like here :
    >
    http://blogs.oracle.com/rammenon/2007/05/07
    Hey Eric,
    Thanks for the reply and indeed that was a direct pointer for the problem I was facing.
    HOWEVER :) it dint work on the version of BPEL PM or BPEL Engine I am working on. it seems that either I have configured wrongly or version on which I am working doesn't support this.
    Version I am working on: 10.1.3.2.0
    I am not getting any compile time error however on runtime it is failing saying:
    ORABPEL-09503 Invalid xpath expression. Error while parsing xpath expression "ora:processXSLT('Map_Notification.xsl', bpws:getVariableData('Invoke_CreateMarketAndRelatedEntities_process_OutputVariable','payload'), bpws:getVariableData('Properties'))", the reason is Error in expression: 'ora:processXSLT('Map_Notification.xsl', bpws:getVariableData('Invoke_CreateMarketAndRelatedEntities_process_OutputVariable','payload'), bpws:getVariableData('Properties'))'.. Please verify the xpath query "ora:processXSLT('Map_Notification.xsl', bpws:getVariableData('Invoke_CreateMarketAndRelatedEntities_process_OutputVariable','payload'), bpws:getVariableData('Properties'))" which is defined in BPEL process.
    I will upload BPEL process created snip of my complex Bigger BPEL process but till the time suggest me if this hints you anything.
    Is I am missing something?
    Thanks.

Maybe you are looking for

  • How to use Web Serivce for not jsr 172 phone

    Hi: Is anyone know, how to use web service for phones that only have standard J2ME package installed (without jsr 172 web service packagenstalled)? thank you

  • Keyboard shortcuts in JTabbedPane don't work in BorderLayout

    I'm mystified by a problem that doesn't seem to make any sense. I have a JTabbedPane with mnemonics, that used to work well before. But since I've shuffled components around a bit and put the JTabbedPane in the BorderLayout.CENTER of a JPanel, the ke

  • What are the differences between api and sdk

    Hi, Could anybody clarify for me what are the difference between API and SDK? I googled for the answer, and couldn't find any thing on this topic. Many thanks in advance. javasfan

  • Territory information for sales Order

    Hello, We are trying to find territory/sales person information for an Order. When we entered the order then we do not enter sales person name, so now we are trying to find territory/sales person information Based on Territory setup, like sales order

  • G3 upgrade 8.1 to 8.5

    Got an old G3 233mhz ...ooooo just crazy for speed. Anyway 8.1 works fine but i would to upgrade to 9 and above. But the only 8.5 disk i have is a G3 Power mac(I know naughty) which when i try and run says "This program won't run on your computer see