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" />

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.

  • Mapping List Complex Types in BPM (unbounded)

    Hello,
      I need help in how can I map a list of complex types in BPM.
      I have a list of products that brings a web service that I have to map to the process context. Both types have the same elements, but the process context BPM shows me an error because it is different of the web service.
      Please, any documentation or advice.
    Regards
    SU

    Hi,
    For mapping the complex types, you need to follow the below:
    Start by mapping the outermost node first and then mapping the attributes inside the node. Intially it will show the (types do not match) error and when you are done with all the mapping the error would vanish.
    Cheers,
    Arafat

  • How to map a complex XML message onto a flattened XSD for multi line insert

    Hi Experts.
    I have a webservice in my composite that takes an xml message that contains repeating complex type elements. The XSD is as follows:
    <?xml version= '1.0' encoding= 'UTF-8' ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:XxInt003Stg="http://www.somewhere.co.uk/xxx/integration/int003Stage"
    targetNamespace="http://www.somewhere.co.uk/xxx/integration/int003Stage" elementFormDefault="qualified">
    <xsd:complexType name="InterfaceFileType">
    <xsd:sequence>
    <xsd:element name="FileName" type="xsd:string"/>
    <xsd:element name="FileSource" type="xsd:string"/>
    <xsd:element name="FileIdentifier" type="xsd:integer"/>
    <xsd:element name="InterfaceInvoices" type="XxInt003Stg:InterfaceInvoicesType"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="InterfaceInvoicesType">
    <xsd:sequence>
    <xsd:element name="InterfaceInvoice" type="XxInt003Stg:InterfaceInvoiceType"
    maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="InterfaceInvoiceType">
    <xsd:sequence>
    <xsd:element name="SupplierNumber" type="xsd:string"/>
    <xsd:element name="SupplierSite" type="xsd:string"/>
    <xsd:element name="InvoiceNumber" type="xsd:string"/>
    <xsd:element name="InterfaceInvoiceLines">
    <xsd:complexType>
    <xsd:complexContent>
    <xsd:extension base="XxInt003Stg:InterfaceInvoiceLinesType">
    <xsd:sequence>
    <xsd:element name="InterfaceInvoiceLine"
    type="XxInt003Stg:InterfaceInvoiceLineType"
    maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:extension>
    </xsd:complexContent>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="InterfaceInvoiceLinesType"/>
    <xsd:complexType name="InterfaceInvoiceLineType">
    <xsd:sequence>
    <xsd:element name="LineAmount" type="xsd:decimal" nillable="false"/>
    <xsd:element name="TaxAmount" type="xsd:decimal"/>
    <xsd:element name="BusinessEntityReference" type="xsd:string"/>
    <xsd:element name="AccountNumber" type="xsd:string"/>
    </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="InterfacePayload">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="InterfaceFiles" type="XxInt003Stg:InterfaceFileType"
    maxOccurs="unbounded"/>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    When I try to push this through the database adapter after mapping the fields it inserts multiple rows but they are all the same values. I have put a for-each XSLT construct based on the lowest element in the XSD (Invoice Line) and allocated that at various places on the target tree structure but with no success.
    The XSLT is as follows:
    <xsl:template match="/">
    <top:XxInt003InterfaceInvoiceStgCollection>
    <top:XxInt003InterfaceInvoiceStg>
    <top:fileName>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:FileName"/>
    </top:fileName>
    <top:fileSource>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:FileSource"/>
    </top:fileSource>
    <top:fileIdentifier>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:FileIdentifier"/>
    </top:fileIdentifier>
    <top:supplierNumber>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:SupplierNumber"/>
    </top:supplierNumber>
    <top:supplierSite>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:SupplierSite"/>
    </top:supplierSite>
    <top:invoiceNumber>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InvoiceNumber"/>
    </top:invoiceNumber>
    <xsl:for-each select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine">
    <top:lineAmount>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine/inp1:LineAmount"/>
    </top:lineAmount>
    </xsl:for-each>
    <top:taxAmount>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine/inp1:TaxAmount"/>
    </top:taxAmount>
    <top:businessEntityReference>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine/inp1:BusinessEntityReference"/>
    </top:businessEntityReference>
    <top:accountNumber>
    <xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine/inp1:AccountNumber"/>
    </top:accountNumber>
    </top:XxInt003InterfaceInvoiceStg>
    </top:XxInt003InterfaceInvoiceStgCollection>
    </xsl:template>
    I am sure this is just something fundemantal I am doing, is it something to do with the inp1 bit of the XSLT? I get the feeling this should be looping somehow?
    Thanks
    Keith

    Hi,
    as I understand you try to transform 'InterfacePayload' (your XSD - just easier to read here)
    InterfacePayload (1:1)
    -- InterfaceFiles (1:N)
    ---- FileName (1:1)
    ---- FileSource (1:1)
    ---- FileIdentifier (1:1)
    ---- InterfaceInvoices (1:1)
    ------ InterfaceInvoice (1:N)
    -------- SupplierNumber (1:1)
    -------- SupplierSite (1:1)
    -------- InvoiceNumber (1:1)
    -------- InterfaceInvoiceLines (1:1)
    ---------- InterfaceInvoiceLine (1:N)
    ------------ LineAmount (1:1)
    ------------ TaxAmount (1:1)
    ------------ BusinessEntityReference (1:1)
    ------------ AccountNumber (1:1)
    to 'XxInt003InterfaceInvoiceStgCollection' (extracted from your XSLT)
    XxInt003InterfaceInvoiceStgCollection (1:1)
    -- XxInt003InterfaceInvoiceStg (1:1)
    ---- fileName (1:1)
    ---- fileSource (1:1)
    ---- fileIdentifier (1:1)
    ---- supplierNumber (1:1)
    ---- supplierSite (1:1)
    ---- invoiceNumber (1:1)
    ---- lineAmount (1:N)
    ---- taxAmount (1:1)
    ---- businessEntityReference (1:1)
    ---- accountNumber (1:1)
    In the 'xsl:for-each' construct
    +<xsl:for-each select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine">+
    +<top:lineAmount>+
    +<xsl:value-of select="/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InterfaceInvoiceLines/inp1:InterfaceInvoiceLine/inp1:LineAmount" />+
    +</top:lineAmount>+
    +</xsl:for-each>+
    - you are asking to iterate through all available 'inp1:InterfaceInvoiceLine' elements in the input XML document
    - the value of the element 'top:lineAmount' (for each iteration) is being calculated as all values of available 'inp1:LineAmount' elements in the input XML document together
    So, if you have ... lets say
    - 4x 'inp1:InterfaceInvoiceLine' element in the input XML document, each containing one 'inp1:LineAmount' element ... with values {1, 2, 3, 4} respectively
    - the output will be something like this
    <top:lineAmount>1234</top:lineAmount>
    <top:lineAmount>1234</top:lineAmount>
    <top:lineAmount>1234</top:lineAmount>
    <top:lineAmount>1234</top:lineAmount>
    Why are you always querying from +/inp1:InterfacePayload/inp1:InterfaceFiles/...+ ?
    I think ... all Xpath queries in your XSLT are wrong (they query something else than you think).
    e.g.
    - putting all file names together into one element (+/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:FileName+)
    - putting all file sources together into one element (+/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:FileSource+)
    - putting all invoice numbers together into one element (+/inp1:InterfacePayload/inp1:InterfaceFiles/inp1:InterfaceInvoices/inp1:InterfaceInvoice/inp1:InvoiceNumber+)
    Best regards,
    Martin.

  • 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.

  • How to map Oracle ORDImage type, what is the JDBC-type ?

    Hello,
    I have a field in my Oracle database that has the type ORDSYS.ORDIMAGE. How can I map this in the standardjbosscmp-jdbc.xml file of JBOSS (in the part of the oracle 9i type-mappings)?
    The java type is "oracle.ord.im.OrdImage", but what is the jdbc-type ? Do I have to include extra oracle files in some directories of Jboss ?
    <mapping>
    <java-type>oracle.ord.im.OrdImage</java-type>
    <jdbc-type>?</jdbc-type>
    <sql-type>?</sql-type>
    </mapping>
    Thanks!!!
    Greetz J

    I've never used JBOSS, but, could the jsbc type indicate the jdbc driver to use?
    The sql type is ORDSYS.ORDIMAGE, but I am not sure what JBOSS is looking for...

  • How to map when the Context node has more than one element

    Dear SDN Community,
      I am develping a WebDynpro java application with Adobe forms. My goal is to present a user a screen with 10 records of customer details and submit. I have created a context element for the customer(Cust#, address details etc) and mentioned the cardinality as 1..n. Now How do I bind these 10 records in my data view to first element, second element... 10th element of the context. Once the user submits, I need to write the 10 record values to Z table. Can you please advice me here.
    Thanks!
    Surya.

    solved this problem by going through the Interactive forms tutorial.

  • 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

  • How to pass a complex type as input for a Java class in Oracle 11g?

    Hi All,
    This is my Parent Class..
    package ADFapplnPackage.model;
    public class ParentClass {
    String Name;
    int age;
    public ParentClass() {
    super();
    This is my ChildClass :
    package ADFapplnPackage.model;
    public class ChildClass {
    public ChildClass() {
    super();
    public ParentClass display() {
    ParentClass obj=new ParentClass();
    obj.age=20;
    obj.Name="Sabari";
    return obj;
    I have exposed both of them as webservices.
    When I call the display object in the parent class,
    I am getting 'parent' as the response.. I mean that ,only the word 'parent' is at the response. I couldnt find any elements (i mean the age and name) in the output.
    if my function 'display' in the child class is like
    public String display() {
    return "hello";
    then it is working fine. I am getting "hello" in the response. Why is the webservice supporting only standard datatypes.. and not Class datatypes.
    Kindly help me!!
    Thanks ,
    Sabarisri. N

    Hi,
    You can't do that with OLEDB. None of OLEDB providers has such a feature.
    Yuancai (Charlie) Ye
    Use of free SocketPro package for creating super client and server application,
    See 30 well-tested and real OLEDB examples
    at http://www.udaparts.com

  • How to generate wsdl for complex type using wscompile?

    Hi
    Since couple of days I am trying to generate the the wsdl for following classes
    abstract class Key implements serializable{
    class sikeKey extends Key{
    int siteKey;
    class AddressKey extends siteKey{
    int addressId;
    class Model{
    AddressKey key = new AddressKey();
    }I am using following ant script for wscompile
          <wscompile
              fork= "true"
              base="${dest.dir}/war/WEB-INF/classes"
              server="true"   
              features="wsi"
              mapping="${dest.dir}/war/WEB-INF/Address_Mapping.xml"
              sourceBase="${war.dir}/WEB-INF/classes"
              optimize="false"
              debug="true"
              keep="false"
              verbose="true"
              xPrintStackTrace="true"
              config="${acws-config-dir}/Address_Config.xml">
              <classpath>
                            <pathelement path="${acws.classpath}"/>
                            <pathelement path="${war.dir}/WEB-INF/classes"/>
                   </classpath>
          </wscompile>
    <taskdef name="wscompile" classname="com.sun.xml.rpc.tools.ant.Wscompile">
        <classpath path="${acws.classpath}"/>
    </taskdef>It generates the wsdl but without all complex type.
    <complexType name="AddressWebServiceModel">
    <sequence>
    <element name="addKey" type="tns:AddressKey" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="AddressKey">
    <sequence>
    <element name="siteID" type="string" nillable="true"/>
    <element name="addressID" type="int"/>
    </sequence>
    </complexType>Here it should create the right mapping for classes siteKey so that the webservice call can be mapped with the response of this Model.
    Any one know how to configure the above script for proper mapping of complex type?

    Add the concrete subclasses of Key in an <AddtionalType> element in your config.xm. file.

  • How to use complex types in a odata url filter

    Hello,
       I am in the process of building a service that uses a complex data type as input in a query filter. I am not sure how the url will need to be generated and also how to retireve this complex type in the get_entity_set method.
    Example:
       I have a complex type as below:
    Name:
    with properties
      Firstname
      Lastname.
    I would like to pass the name as a query filter. an I am not sure how to do this.
    Should it be like this:
    https://.../service/getdetails?$filter=Name.firstname eq 'John' and Name.Lastname eq 'Smith'
    My second question is how do I retireve this filter in the get_entity_set method.

    Hi Rajesh,
    I have done the Scenario using Function import and done the code and working fine.
    But here my question is how to retrieve the data when we are using return type is complex..
    Give me the sample URI format for the above query.
    I have done the code for function import in excute_action method.
      Data : ls_entity1    TYPE zcl_zproj_fm_import_mpc=>banks,
                lt_entity1    TYPE STANDARD TABLE OF zcl_zproj_fm_import_mpc=>banks.
    WHEN 'BankComplex'.
           IF it_parameter IS NOT INITIAL.
    * Read Function import parameter value
             READ TABLE it_parameter INTO ls_parameter WITH KEY name = 'BankCtry'.
             IF sy-subrc = 0.
               lv_country = ls_parameter-value.
             ENDIF.
             IF lv_country IS NOT INITIAL.
               CALL FUNCTION 'BAPI_BANK_GETLIST'
                 EXPORTING
                   bank_ctry       = lv_country
                   max_rows        = '100'
    *          IMPORTING
    *            RETURN          =
                 TABLES
                   bank_list       = lt_banklist
               LOOP AT lt_banklist INTO  ls_banklist .
                 ls_entity1-bankctry   = ls_banklist-bank_ctry.
                 ls_entity1-bankkey = ls_banklist-bank_key.
                 ls_entity1-bankname = ls_banklist-bank_name.
                 ls_entity1-city    = ls_banklist-city.
                 APPEND ls_entity1 TO lt_entity1.
               ENDLOOP.
    * Call methos copy_data_to_ref and export entity set data
               copy_data_to_ref( EXPORTING is_data = lt_entity1
                       CHANGING cr_data = er_data ).
             ENDIF.
           ENDIF.
    Thanks,
    Syam

  • How to specify Complex Type Parameter

    Hi,
    Can anyone tell me how to specify a complex type parameter using the AddServiceDefinition command in the fnscript? Thanks
    Pao Wang
    NMR

    The only types supported are those listed in the Process Development Guide.
    Stephen

  • 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?

  • Using a complex type as my input parameter

    I have defined a complex type that I want to use as my input parameter for one of my operations. I create the operation and add the complex type to my signature. When I go to the 'Query Map' dialog and try and map the complex type to one of my physical data sources the physical data source is deleted from the picutre.
    Here is what my complex type looks like:
    <xs:complexType name="FinancialContractRequestType">
    <xs:complexContent>
    <xs:extension base="srvcfwork:BaseRequestType">
         <xs:sequence>
         <xs:element name="ContractId" type="nylbt:TextType"/>
         <xs:element name="ContractIssueCd" type="nylbt:TextType" minOccurs="0"/>
         </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>

    When I cut and pasted the xml I didn't put that part in but I do have it. Here is what my whole schema looks like:
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:srvcfwork="http://newyorklife.com/schemas/framework" xmlns:nylbt="http://newyorklife.com/schemas/cim/common/nylcorebusinesstypes" xmlns:tns="http://newyorklife.com/services/data/financialcontract" targetNamespace="http://newyorklife.com/services/data/financialcontract" elementFormDefault="qualified" version="0.1">
    <xs:import namespace="http://newyorklife.com/schemas/cim/common/nylcorebusinesstypes"
    schemaLocation="../../../schemas/cim/common/NYLCoreBusinessTypes_0_1.xsd"/>
    <xs:import namespace="http://newyorklife.com/schemas/framework"
    schemaLocation="../../../schemas/framework/ServiceFramework_0_1.xsd"/>
    <xs:element name="FinancialContractRequest" type="tns:FinancialContractRequestType"></xs:element>
    <xs:complexType name="FinancialContractRequestType">
    <xs:complexContent>
    <xs:extension base="srvcfwork:BaseRequestType">
         <xs:sequence>
         <xs:element name="ContractId" type="nylbt:TextType"/>
         <xs:element name="ContractIssueCd" type="nylbt:TextType" minOccurs="0"/>
         </xs:sequence>
    </xs:extension>
    </xs:complexContent>
    </xs:complexType>
    </xs:schema>

  • How to map steam as a material?

    Hi Gurus,
    I have a process where steam is product which I am manufacturing in the plant.
    This steam is further used to make another finished material.
    Since steam is produced in house, it cannot be mapped a pipeline.
    Since we cannot maintain stocks of steam, how to map the material type of steam?
    Pl advice me.
    Srini

    Hi Srini,
    You can assign MRP views by modifying the attributes of material type PIPELINE. Rather create a new type referencing pipeline material type but include MRP views which should take care of the production part. Hope this is of some help.
    Regards,
    Sreekant.

Maybe you are looking for