Array in WSDL

Hi there,
I have a Proxy->PI->SOAP scenario.
The third-party WSDL contains an array, which is unfortunately not supported by PI.
The complex type looks as following:
<xs:complexType name="EmployeeInfo">
  <xs:sequence>
  <xs:element name="ID" type="xs:string"/>
  <xs:element name="Name" type="xs:string"/>
  <xs:element name="Qual" type="ns1:QualItems"/>
</xs:sequence>
</xs:complexType>
This is the array structure:
<xs:complexType name="QualItems">
  <xs:complexContent>
  <xs:restriction base="soapenc:Array">
  <xs:sequence/>
  <xs:attribute xmlns:n1="http://schemas.xmlsoap.org/wsdl/"
ref="soapenc:arrayType" n1:arrayType="ns1:QualRec[]"/>
  </xs:restriction>
  </xs:complexContent>
</xs:complexType>
<xs:complexType name="QualRec">
  <xs:sequence>
  <xs:element name="QualPos" type="xs:string"/>
  </xs:sequence>
</xs:complexType>
Ive tried to change the WSDL in the following way:
<xs:complexType name="EmployeeInfo">
  <xs:sequence>
  <xs:element name="ID" type="xs:string"/>
  <xs:element name="Name" type="xs:string"/>
  <xs:element name="Qual" type="QualRec" minOccurs="1" maxOccurs="unbound"/>
  </xs:sequence>
</xs:complexType>
But the field "QualPos" is not filled in the thir-party application.
I now asked the service provider to send me a proper payload for the web service.
It looks like that:
<Qual href="#id2" />
<soapenc:Array id="id2" xmlns:q4="urn:XXX" soapenc:arrayType="q4:TSAPQualRec[1]">
  <Item href="#id3" />
</soapenc:Array>
<q5:QualRec id="id3" xsi:type="q5:TSAPQualRec" xmlns:q5="urn:XXX">
  <QualPos xsi:type="xsd:string">XYZ</QualPos>
</q5:QualRec>
How can I achieve that in PI?
Do I have to use XSLT mapping?
Could you please give me an example?
Thanks in advance!

Hi Kolz,
A few cents. This can be done by PI, you can use a XSL or Java Mapping. Personally, i'd rather to use XSL mapping.
If you need to do the array in the request you would need only to set the tag soapen:Array manually in the XSL (if its the attributes are not parameters) and the rest with a value-of-select.
If you need to transform a response with the array you only need to do a for:each like this example looping through xslt split array - Xslt - our.umbraco.org
Finally, if you share a source XML and target XML (hidding the company information with another values) we can help you with the XSL easier.
Hope this helps.
Regards.

Similar Messages

  • SOAP Sender And Receiver

    Hey,
      My Webservice is
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://www.incuity.com/schema/2005/11/incuity" xmlns:s1="http://www.incuity.com/schema/2005/11/incuity/metamodel" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s2="http://www.incuity.com/schema/2005/11/incuity/AbstractTypes" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://www.incuity.com/schema/2005/11/incuity" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
      <wsdl:types>
        <s:schema elementFormDefault="qualified" targetNamespace="http://www.incuity.com/schema/2005/11/incuity">
          <s:import namespace="http://www.incuity.com/schema/2005/11/incuity/metamodel" />
          <s:element name="GetItemFromName">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="fullyQualifiedName" type="s:string" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetItemFromNameResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="GetItemFromNameResult" type="s1:ItemData" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetItemsFromNames">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="fullyQualifiedNames" type="tns:ArrayOfString" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:complexType name="ArrayOfString">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ArrayOfItemData">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="ItemData" nillable="true" type="s1:ItemData" />
            </s:sequence>
          </s:complexType>
          <s:element name="GetItemsFromNamesResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="GetItemsFromNamesResult" type="tns:ArrayOfItemData" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetItemFromId">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="1" maxOccurs="1" name="uniqueId" type="s:int" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetItemFromIdResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="GetItemFromIdResult" type="s1:ItemData" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetItemsFromIds">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="uniqueIds" type="tns:ArrayOfInt" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:complexType name="ArrayOfInt">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="int" type="s:int" />
            </s:sequence>
          </s:complexType>
          <s:element name="GetItemsFromIdsResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="GetItemsFromIdsResult" type="tns:ArrayOfItemData" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetItemNamesFromIds">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="uniqueIds" type="tns:ArrayOfInt" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetItemNamesFromIdsResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="GetItemNamesFromIdsResult" type="tns:ArrayOfString" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="PersistChanges">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="changeSet" type="s1:ChangeSet" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="PersistChangesResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="PersistChangesResult" type="s1:ChangeSetResult" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="SetPropertyById">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="1" maxOccurs="1" name="itemId" type="s:int" />
                <s:element minOccurs="1" maxOccurs="1" name="propertyIndex" type="s:int" />
                <s:element minOccurs="0" maxOccurs="1" name="value" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="SetPropertyByIdResponse">
            <s:complexType />
          </s:element>
          <s:element name="SetPropertyByName">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="propertyFqn" type="s:string" />
                <s:element minOccurs="0" maxOccurs="1" name="value" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="SetPropertyByNameResponse">
            <s:complexType />
          </s:element>
          <s:element name="GetUpdate">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="1" maxOccurs="1" name="itemId" type="s:int" />
                <s:element minOccurs="1" maxOccurs="1" name="utcModifiedOnTicks" type="s:long" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetUpdateResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="GetUpdateResult" type="s1:ItemUpdate" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="InvokeOperation">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" ref="s1:operationInvoke" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="InvokeOperationResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" ref="s1:InvokeOperationResult" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetMimeValue">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="1" maxOccurs="1" name="documentId" type="s:int" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetMimeValueResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="GetMimeValueResult" type="s1:MimeValue" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="ItemData" nillable="true" type="s1:ItemData" />
          <s:element name="ArrayOfItemData" nillable="true" type="tns:ArrayOfItemData" />
          <s:element name="ArrayOfString" nillable="true" type="tns:ArrayOfString" />
          <s:element name="ItemUpdate" nillable="true" type="s1:ItemUpdate" />
          <s:element name="MimeValue" nillable="true" type="s1:MimeValue" />
        </s:schema>
        <s:schema elementFormDefault="qualified" targetNamespace="http://www.incuity.com/schema/2005/11/incuity/metamodel">
          <s:complexType name="ItemData">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="ExternalId" />
              <s:element minOccurs="0" maxOccurs="1" name="Properties" type="s1:ArrayOfNamedValue" />
            </s:sequence>
            <s:attribute name="Name" type="s:string" />
            <s:attribute name="FullyQualifiedName" type="s:string" />
            <s:attribute name="Description" type="s:string" />
            <s:attribute name="ItemTypeId" type="s:int" use="required" />
            <s:attribute name="UniqueId" type="s:int" use="required" />
            <s:attribute name="SecurityDescriptorData" type="s:base64Binary" />
            <s:attribute name="IsDeleted" type="s:boolean" use="required" />
            <s:attribute name="CreatedOn" type="s:long" use="required" />
            <s:attribute name="ModifiedOn" type="s:long" use="required" />
            <s:attribute name="ParentId" type="s:int" use="required" />
            <s:attribute name="MappingItemId" type="s:int" use="required" />
            <s:attribute name="RequestHandlerId" type="s:int" use="required" />
            <s:attribute name="StorageMode" type="s1:StorageMode" use="required" />
          </s:complexType>
          <s:complexType name="ArrayOfNamedValue">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="Property" type="s1:NamedValue" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="NamedValue">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Value" />
            </s:sequence>
            <s:attribute name="Name" type="s:string" />
          </s:complexType>
          <s:simpleType name="StorageMode">
            <s:restriction base="s:string">
              <s:enumeration value="SystemMeta" />
              <s:enumeration value="SystemFlat" />
              <s:enumeration value="Connector" />
            </s:restriction>
          </s:simpleType>
          <s:complexType name="ChangeSet">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="NewItems" type="s1:ArrayOfItemSpec" />
              <s:element minOccurs="0" maxOccurs="1" name="DeletedItems" type="s1:ArrayOfInt" />
              <s:element minOccurs="0" maxOccurs="1" name="ChangedItems" type="s1:ArrayOfChangedItem" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ArrayOfItemSpec">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="ItemSpec" type="s1:ItemSpec" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ItemSpec">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="Properties" type="s1:ArrayOfNamedValue1" />
            </s:sequence>
            <s:attribute name="ParentId" type="s:int" use="required" />
            <s:attribute name="UniqueId" type="s:int" use="required" />
            <s:attribute name="ItemTypeId" type="s:int" use="required" />
            <s:attribute name="Name" type="s:string" />
            <s:attribute name="FullyQualifiedName" type="s:string" />
            <s:attribute name="SecurityDescriptorData" type="s:base64Binary" />
            <s:attribute name="IsReadable" type="s:boolean" use="required" />
            <s:attribute name="IsWriteable" type="s:boolean" use="required" />
            <s:attribute name="IsExecutable" type="s:boolean" use="required" />
            <s:attribute name="CreatedOn" type="s:long" use="required" />
            <s:attribute name="ModifiedOn" type="s:long" use="required" />
            <s:attribute name="RequestHandlerId" type="s:int" />
          </s:complexType>
          <s:complexType name="ArrayOfNamedValue1">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="PropValue" type="s1:NamedValue" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ArrayOfInt">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="DeletedItemId" type="s:int" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ArrayOfChangedItem">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="ChangedItem" type="s1:ChangedItem" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ChangedItem">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="ChangedProperties" type="s1:ArrayOfChangedProperty" />
            </s:sequence>
            <s:attribute name="ItemId" type="s:int" use="required" />
            <s:attribute name="ModifiedOn" type="s:long" use="required" />
            <s:attribute name="SecurityDescriptorData" type="s:base64Binary" />
          </s:complexType>
          <s:complexType name="ArrayOfChangedProperty">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="ChangedProperty" type="s1:ChangedProperty" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ChangedProperty">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="NewValue" type="s1:NewPropertyValue" />
            </s:sequence>
            <s:attribute name="PropertyName" type="s:string" />
          </s:complexType>
          <s:complexType name="NewPropertyValue">
            <s:sequence>
              <s:choice minOccurs="1" maxOccurs="1">
                <s:element minOccurs="0" maxOccurs="1" name="SimpleValue" />
                <s:element minOccurs="0" maxOccurs="1" name="CollectionChanges" type="s1:ChangedCollectionValue" />
              </s:choice>
            </s:sequence>
          </s:complexType>
          <s:complexType name="ChangedCollectionValue">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="CollectionChanges" type="s1:ArrayOfCollectionChangeInfo" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ArrayOfCollectionChangeInfo">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="CollectionChangeInfo" type="s1:CollectionChangeInfo" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="CollectionChangeInfo" abstract="true" />
          <s:complexType name="CCI_ItemAddedAt">
            <s:complexContent mixed="false">
              <s:extension base="s1:CollectionChangeInfo">
                <s:attribute name="AddedItem" type="s:int" use="required" />
                <s:attribute name="Position" type="s:int" use="required" />
              </s:extension>
            </s:complexContent>
          </s:complexType>
          <s:complexType name="CCI_ItemReplacedAt">
            <s:complexContent mixed="false">
              <s:extension base="s1:CollectionChangeInfo">
                <s:attribute name="ReplacedItem" type="s:int" use="required" />
                <s:attribute name="AddedItem" type="s:int" use="required" />
                <s:attribute name="Position" type="s:int" use="required" />
              </s:extension>
            </s:complexContent>
          </s:complexType>
          <s:complexType name="CCI_ItemRemovedAt">
            <s:complexContent mixed="false">
              <s:extension base="s1:CollectionChangeInfo">
                <s:attribute name="RemovedItem" type="s:int" use="required" />
                <s:attribute name="Position" type="s:int" use="required" />
              </s:extension>
            </s:complexContent>
          </s:complexType>
          <s:complexType name="CCI_ItemsCleared">
            <s:complexContent mixed="false">
              <s:extension base="s1:CollectionChangeInfo" />
            </s:complexContent>
          </s:complexType>
          <s:complexType name="ChangeSetResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="NewItems" type="s1:ArrayOfPersistedNewItem" />
              <s:element minOccurs="0" maxOccurs="1" name="CascadedDeletedItems" type="s:string" />
              <s:element minOccurs="0" maxOccurs="1" name="OnlyOriginalChangesItems" type="s1:ArrayOfPersistedChangedItem" />
              <s:element minOccurs="0" maxOccurs="1" name="CascadedChangesItems" type="s:string" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="ArrayOfPersistedNewItem">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="NewItem" type="s1:PersistedNewItem" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="PersistedNewItem">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="ItemData" type="s1:ItemData" />
            </s:sequence>
            <s:attribute name="TempId" type="s:int" use="required" />
          </s:complexType>
          <s:complexType name="ArrayOfPersistedChangedItem">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="ChangedItem" type="s1:PersistedChangedItem" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="PersistedChangedItem">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="ItemData" type="s1:ItemData" />
            </s:sequence>
            <s:attribute name="ItemId" type="s:int" use="required" />
            <s:attribute name="ModifiedOn" type="s:long" use="required" />
          </s:complexType>
          <s:complexType name="ItemUpdate">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="ItemData" type="s1:ItemData" />
            </s:sequence>
            <s:attribute name="Status" type="s1:WorkingCopyStatus" use="required" />
          </s:complexType>
          <s:simpleType name="WorkingCopyStatus">
            <s:restriction base="s:string">
              <s:enumeration value="UpToDate" />
              <s:enumeration value="Deleted" />
              <s:enumeration value="Outdated" />
            </s:restriction>
          </s:simpleType>
          <s:element name="operationInvoke" type="s1:OperationInvoke" />
          <s:complexType name="OperationInvoke">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="InputParams" type="s1:ArrayOfNamedValue2" />
            </s:sequence>
            <s:attribute name="TargetItemId" type="s:int" use="required" />
            <s:attribute name="Operation" type="s:string" />
          </s:complexType>
          <s:complexType name="ArrayOfNamedValue2">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="InputParam" type="s1:NamedValue" />
            </s:sequence>
          </s:complexType>
          <s:complexType name="OperationResult">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="ReturnValue" />
              <s:element minOccurs="0" maxOccurs="1" name="OutValues" type="s1:ArrayOfNamedValue3" />
              <s:element minOccurs="0" maxOccurs="1" name="AffectedItems">
                <s:complexType>
                  <s:sequence>
                    <s:element minOccurs="0" maxOccurs="1" name="DeletedItems" type="s:string" />
                    <s:element minOccurs="0" maxOccurs="1" name="NewItems" type="s:string" />
                    <s:element minOccurs="0" maxOccurs="1" name="ChangedItems" type="s:string" />
                  </s:sequence>
                </s:complexType>
              </s:element>
            </s:sequence>
          </s:complexType>
          <s:complexType name="ArrayOfNamedValue3">
            <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="OutValue" type="s1:NamedValue" />
            </s:sequence>
          </s:complexType>
          <s:element name="InvokeOperationResult" type="s1:OperationResult" />
          <s:complexType name="MimeValue">
            <s:sequence>
              <s:element minOccurs="1" maxOccurs="1" name="DocumentId" type="s:int" />
              <s:element minOccurs="0" maxOccurs="1" name="Content" type="s:base64Binary" />
            </s:sequence>
          </s:complexType>
        </s:schema>
        <s:schema targetNamespace="http://www.incuity.com/schema/2005/11/incuity/AbstractTypes">
          <s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
          <s:complexType name="StringArray">
            <s:complexContent mixed="false">
              <s:restriction base="soapenc:Array">
                <s:sequence>
                  <s:element minOccurs="0" maxOccurs="unbounded" name="String" type="s:string" />
                </s:sequence>
              </s:restriction>
            </s:complexContent>
          </s:complexType>
        </s:schema>
      </wsdl:types>
      <wsdl:message name="GetItemFromNameSoapIn">
        <wsdl:part name="parameters" element="tns:GetItemFromName" />
      </wsdl:message>
      <wsdl:message name="GetItemFromNameSoapOut">
        <wsdl:part name="parameters" element="tns:GetItemFromNameResponse" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromNamesSoapIn">
        <wsdl:part name="parameters" element="tns:GetItemsFromNames" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromNamesSoapOut">
        <wsdl:part name="parameters" element="tns:GetItemsFromNamesResponse" />
      </wsdl:message>
      <wsdl:message name="GetItemFromIdSoapIn">
        <wsdl:part name="parameters" element="tns:GetItemFromId" />
      </wsdl:message>
      <wsdl:message name="GetItemFromIdSoapOut">
        <wsdl:part name="parameters" element="tns:GetItemFromIdResponse" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromIdsSoapIn">
        <wsdl:part name="parameters" element="tns:GetItemsFromIds" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromIdsSoapOut">
        <wsdl:part name="parameters" element="tns:GetItemsFromIdsResponse" />
      </wsdl:message>
      <wsdl:message name="GetItemNamesFromIdsSoapIn">
        <wsdl:part name="parameters" element="tns:GetItemNamesFromIds" />
      </wsdl:message>
      <wsdl:message name="GetItemNamesFromIdsSoapOut">
        <wsdl:part name="parameters" element="tns:GetItemNamesFromIdsResponse" />
      </wsdl:message>
      <wsdl:message name="PersistChangesSoapIn">
        <wsdl:part name="parameters" element="tns:PersistChanges" />
      </wsdl:message>
      <wsdl:message name="PersistChangesSoapOut">
        <wsdl:part name="parameters" element="tns:PersistChangesResponse" />
      </wsdl:message>
      <wsdl:message name="SetPropertyByIdSoapIn">
        <wsdl:part name="parameters" element="tns:SetPropertyById" />
      </wsdl:message>
      <wsdl:message name="SetPropertyByIdSoapOut">
        <wsdl:part name="parameters" element="tns:SetPropertyByIdResponse" />
      </wsdl:message>
      <wsdl:message name="SetPropertyByNameSoapIn">
        <wsdl:part name="parameters" element="tns:SetPropertyByName" />
      </wsdl:message>
      <wsdl:message name="SetPropertyByNameSoapOut">
        <wsdl:part name="parameters" element="tns:SetPropertyByNameResponse" />
      </wsdl:message>
      <wsdl:message name="GetUpdateSoapIn">
        <wsdl:part name="parameters" element="tns:GetUpdate" />
      </wsdl:message>
      <wsdl:message name="GetUpdateSoapOut">
        <wsdl:part name="parameters" element="tns:GetUpdateResponse" />
      </wsdl:message>
      <wsdl:message name="InvokeOperationSoapIn">
        <wsdl:part name="parameters" element="tns:InvokeOperation" />
      </wsdl:message>
      <wsdl:message name="InvokeOperationSoapOut">
        <wsdl:part name="parameters" element="tns:InvokeOperationResponse" />
      </wsdl:message>
      <wsdl:message name="GetMimeValueSoapIn">
        <wsdl:part name="parameters" element="tns:GetMimeValue" />
      </wsdl:message>
      <wsdl:message name="GetMimeValueSoapOut">
        <wsdl:part name="parameters" element="tns:GetMimeValueResponse" />
      </wsdl:message>
      <wsdl:message name="GetItemFromNameHttpGetIn">
        <wsdl:part name="fullyQualifiedName" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetItemFromNameHttpGetOut">
        <wsdl:part name="Body" element="tns:ItemData" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromNamesHttpGetIn">
        <wsdl:part name="fullyQualifiedNames" type="s2:StringArray" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromNamesHttpGetOut">
        <wsdl:part name="Body" element="tns:ArrayOfItemData" />
      </wsdl:message>
      <wsdl:message name="GetItemFromIdHttpGetIn">
        <wsdl:part name="uniqueId" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetItemFromIdHttpGetOut">
        <wsdl:part name="Body" element="tns:ItemData" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromIdsHttpGetIn">
        <wsdl:part name="uniqueIds" type="s2:StringArray" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromIdsHttpGetOut">
        <wsdl:part name="Body" element="tns:ArrayOfItemData" />
      </wsdl:message>
      <wsdl:message name="GetItemNamesFromIdsHttpGetIn">
        <wsdl:part name="uniqueIds" type="s2:StringArray" />
      </wsdl:message>
      <wsdl:message name="GetItemNamesFromIdsHttpGetOut">
        <wsdl:part name="Body" element="tns:ArrayOfString" />
      </wsdl:message>
      <wsdl:message name="GetUpdateHttpGetIn">
        <wsdl:part name="itemId" type="s:string" />
        <wsdl:part name="utcModifiedOnTicks" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetUpdateHttpGetOut">
        <wsdl:part name="Body" element="tns:ItemUpdate" />
      </wsdl:message>
      <wsdl:message name="GetMimeValueHttpGetIn">
        <wsdl:part name="documentId" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetMimeValueHttpGetOut">
        <wsdl:part name="Body" element="tns:MimeValue" />
      </wsdl:message>
      <wsdl:message name="GetItemFromNameHttpPostIn">
        <wsdl:part name="fullyQualifiedName" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetItemFromNameHttpPostOut">
        <wsdl:part name="Body" element="tns:ItemData" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromNamesHttpPostIn">
        <wsdl:part name="fullyQualifiedNames" type="s2:StringArray" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromNamesHttpPostOut">
        <wsdl:part name="Body" element="tns:ArrayOfItemData" />
      </wsdl:message>
      <wsdl:message name="GetItemFromIdHttpPostIn">
        <wsdl:part name="uniqueId" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetItemFromIdHttpPostOut">
        <wsdl:part name="Body" element="tns:ItemData" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromIdsHttpPostIn">
        <wsdl:part name="uniqueIds" type="s2:StringArray" />
      </wsdl:message>
      <wsdl:message name="GetItemsFromIdsHttpPostOut">
        <wsdl:part name="Body" element="tns:ArrayOfItemData" />
      </wsdl:message>
      <wsdl:message name="GetItemNamesFromIdsHttpPostIn">
        <wsdl:part name="uniqueIds" type="s2:StringArray" />
      </wsdl:message>
      <wsdl:message name="GetItemNamesFromIdsHttpPostOut">
        <wsdl:part name="Body" element="tns:ArrayOfString" />
      </wsdl:message>
      <wsdl:message name="GetUpdateHttpPostIn">
        <wsdl:part name="itemId" type="s:string" />
        <wsdl:part name="utcModifiedOnTicks" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetUpdateHttpPostOut">
        <wsdl:part name="Body" element="tns:ItemUpdate" />
      </wsdl:message>
      <wsdl:message name="GetMimeValueHttpPostIn">
        <wsdl:part name="documentId" type="s:string" />
      </wsdl:message>
      <wsdl:message name="GetMimeValueHttpPostOut">
        <wsdl:part name="Body" element="tns:MimeValue" />
      </wsdl:message>
      <wsdl:portType name="InstanceServiceSoap">
        <wsdl:operation name="GetItemFromName">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the item with the specified name (if it exists; otherwise returns null).</wsdl:documentation>
          <wsdl:input message="tns:GetItemFromNameSoapIn" />
          <wsdl:output message="tns:GetItemFromNameSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemsFromNames">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the items with the specified names (if no item exists for a given name then a null value is returned in the corresponding slot of the result array).</wsdl:documentation>
          <wsdl:input message="tns:GetItemsFromNamesSoapIn" />
          <wsdl:output message="tns:GetItemsFromNamesSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemFromId">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the item with the specified unique id (if it exists; otherwise returns null).</wsdl:documentation>
          <wsdl:input message="tns:GetItemFromIdSoapIn" />
          <wsdl:output message="tns:GetItemFromIdSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemsFromIds">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the items with the specified unique ids (if no item exists for a given unique id then a null value is returned in the corresponding slot of the result array).</wsdl:documentation>
          <wsdl:input message="tns:GetItemsFromIdsSoapIn" />
          <wsdl:output message="tns:GetItemsFromIdsSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemNamesFromIds">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieves the names of the items with the specified unique ids.</wsdl:documentation>
          <wsdl:input message="tns:GetItemNamesFromIdsSoapIn" />
          <wsdl:output message="tns:GetItemNamesFromIdsSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="PersistChanges">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Persists the specified set of changes.</wsdl:documentation>
          <wsdl:input message="tns:PersistChangesSoapIn" />
          <wsdl:output message="tns:PersistChangesSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="SetPropertyById">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Writes a property value.</wsdl:documentation>
          <wsdl:input message="tns:SetPropertyByIdSoapIn" />
          <wsdl:output message="tns:SetPropertyByIdSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="SetPropertyByName">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Writes a property value.</wsdl:documentation>
          <wsdl:input message="tns:SetPropertyByNameSoapIn" />
          <wsdl:output message="tns:SetPropertyByNameSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="GetUpdate">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Allows the client to get the update for a given item based on the modified-on timestamp of the client-side cached version.</wsdl:documentation>
          <wsdl:input message="tns:GetUpdateSoapIn" />
          <wsdl:output message="tns:GetUpdateSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="InvokeOperation">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Invokes an operation of a given item and returns the (optional) return value and the values of all out parameters.</wsdl:documentation>
          <wsdl:input message="tns:InvokeOperationSoapIn" />
          <wsdl:output message="tns:InvokeOperationSoapOut" />
        </wsdl:operation>
        <wsdl:operation name="GetMimeValue">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the MIME value that is associated with the specified document id.</wsdl:documentation>
          <wsdl:input message="tns:GetMimeValueSoapIn" />
          <wsdl:output message="tns:GetMimeValueSoapOut" />
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:portType name="InstanceServiceHttpGet">
        <wsdl:operation name="GetItemFromName">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the item with the specified name (if it exists; otherwise returns null).</wsdl:documentation>
          <wsdl:input message="tns:GetItemFromNameHttpGetIn" />
          <wsdl:output message="tns:GetItemFromNameHttpGetOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemsFromNames">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the items with the specified names (if no item exists for a given name then a null value is returned in the corresponding slot of the result array).</wsdl:documentation>
          <wsdl:input message="tns:GetItemsFromNamesHttpGetIn" />
          <wsdl:output message="tns:GetItemsFromNamesHttpGetOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemFromId">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the item with the specified unique id (if it exists; otherwise returns null).</wsdl:documentation>
          <wsdl:input message="tns:GetItemFromIdHttpGetIn" />
          <wsdl:output message="tns:GetItemFromIdHttpGetOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemsFromIds">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the items with the specified unique ids (if no item exists for a given unique id then a null value is returned in the corresponding slot of the result array).</wsdl:documentation>
          <wsdl:input message="tns:GetItemsFromIdsHttpGetIn" />
          <wsdl:output message="tns:GetItemsFromIdsHttpGetOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemNamesFromIds">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieves the names of the items with the specified unique ids.</wsdl:documentation>
          <wsdl:input message="tns:GetItemNamesFromIdsHttpGetIn" />
          <wsdl:output message="tns:GetItemNamesFromIdsHttpGetOut" />
        </wsdl:operation>
        <wsdl:operation name="GetUpdate">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Allows the client to get the update for a given item based on the modified-on timestamp of the client-side cached version.</wsdl:documentation>
          <wsdl:input message="tns:GetUpdateHttpGetIn" />
          <wsdl:output message="tns:GetUpdateHttpGetOut" />
        </wsdl:operation>
        <wsdl:operation name="GetMimeValue">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the MIME value that is associated with the specified document id.</wsdl:documentation>
          <wsdl:input message="tns:GetMimeValueHttpGetIn" />
          <wsdl:output message="tns:GetMimeValueHttpGetOut" />
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:portType name="InstanceServiceHttpPost">
        <wsdl:operation name="GetItemFromName">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the item with the specified name (if it exists; otherwise returns null).</wsdl:documentation>
          <wsdl:input message="tns:GetItemFromNameHttpPostIn" />
          <wsdl:output message="tns:GetItemFromNameHttpPostOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemsFromNames">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the items with the specified names (if no item exists for a given name then a null value is returned in the corresponding slot of the result array).</wsdl:documentation>
          <wsdl:input message="tns:GetItemsFromNamesHttpPostIn" />
          <wsdl:output message="tns:GetItemsFromNamesHttpPostOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemFromId">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the item with the specified unique id (if it exists; otherwise returns null).</wsdl:documentation>
          <wsdl:input message="tns:GetItemFromIdHttpPostIn" />
          <wsdl:output message="tns:GetItemFromIdHttpPostOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemsFromIds">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the items with the specified unique ids (if no item exists for a given unique id then a null value is returned in the corresponding slot of the result array).</wsdl:documentation>
          <wsdl:input message="tns:GetItemsFromIdsHttpPostIn" />
          <wsdl:output message="tns:GetItemsFromIdsHttpPostOut" />
        </wsdl:operation>
        <wsdl:operation name="GetItemNamesFromIds">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieves the names of the items with the specified unique ids.</wsdl:documentation>
          <wsdl:input message="tns:GetItemNamesFromIdsHttpPostIn" />
          <wsdl:output message="tns:GetItemNamesFromIdsHttpPostOut" />
        </wsdl:operation>
        <wsdl:operation name="GetUpdate">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Allows the client to get the update for a given item based on the modified-on timestamp of the client-side cached version.</wsdl:documentation>
          <wsdl:input message="tns:GetUpdateHttpPostIn" />
          <wsdl:output message="tns:GetUpdateHttpPostOut" />
        </wsdl:operation>
        <wsdl:operation name="GetMimeValue">
          <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns the MIME value that is associated with the specified document id.</wsdl:documentation>
          <wsdl:input message="tns:GetMimeValueHttpPostIn" />
          <wsdl:output message="tns:GetMimeValueHttpPostOut" />
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="InstanceServiceSoap" type="tns:InstanceServiceSoap">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="GetItemFromName">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetItemFromName" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetItemsFromNames">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetItemsFromNames" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetItemFromId">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetItemFromId" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetItemsFromIds">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetItemsFromIds" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetItemNamesFromIds">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetItemNamesFromIds" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="PersistChanges">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/PersistChanges" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="SetPropertyById">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/SetPropertyById" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="SetPropertyByName">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/SetPropertyByName" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetUpdate">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetUpdate" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="InvokeOperation">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/InvokeOperation" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetMimeValue">
          <soap:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetMimeValue" style="document" />
          <wsdl:input>
            <soap:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:binding name="InstanceServiceSoap12" type="tns:InstanceServiceSoap">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
        <wsdl:operation name="GetItemFromName">
          <soap12:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetItemFromName" style="document" />
          <wsdl:input>
            <soap12:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap12:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetItemsFromNames">
          <soap12:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetItemsFromNames" style="document" />
          <wsdl:input>
            <soap12:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap12:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetItemFromId">
          <soap12:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetItemFromId" style="document" />
          <wsdl:input>
            <soap12:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap12:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetItemsFromIds">
          <soap12:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetItemsFromIds" style="document" />
          <wsdl:input>
            <soap12:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap12:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="GetItemNamesFromIds">
          <soap12:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/GetItemNamesFromIds" style="document" />
          <wsdl:input>
            <soap12:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap12:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="PersistChanges">
          <soap12:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/PersistChanges" style="document" />
          <wsdl:input>
            <soap12:body use="literal" />
          </wsdl:input>
          <wsdl:output>
            <soap12:body use="literal" />
          </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="SetPropertyById">
          <soap12:operation soapAction="http://www.incuity.com/schema/2005/11/incuity/SetPropertyById" style="document" />
          <wsdl:input>

    Do u have any condition for getting MAX and MIN.If you remove that condition,u will be able to get max as well as min.
    Thanks
    prabhakar

  • ArrayTypes with complexType members

    I am basically pleased with WL7's initial support of web services. I have followed
    the complexType examples provided and succesfully built the TraderService. I can
    likewise build web services for my company that return single result complex types.
    However, when I attempt to use Java arrays of complex types or java.util.ArrayList
    to return multiple result complex content / complex types, I receive the attached
    error. What am I doing incorrectly?
    [array_invoke_error.txt]

    Hi Aaron,
    Thanks for your comments.
    From the stack trace you posted, it seems you are using an older version
    of WLS (I think WLS 7.0 GA). The latest version is WLS 7.0.0.1 and
    it supports JAX-RPC 1.0.
    WLS do support ArrayList, but if possible it is better to use array. If you
    use ArrayList, the schema inside the generated WSDL will use anyType.
    So by looking at the WSDL alone, client will not know what data type
    the web service accept. Instead, if you use arrays, the WSDL will
    contain the definition for your data type.
    An array example that works with 7.0.0.1 is attached.
    regards,
    -manoj
    "Aaron Rhoden" <[email protected]> wrote in message
    news:[email protected]..
    >
    I am basically pleased with WL7's initial support of web services. I havefollowed
    the complexType examples provided and succesfully built the TraderService.I can
    likewise build web services for my company that return single resultcomplex types.
    However, when I attempt to use Java arrays of complex types orjava.util.ArrayList
    to return multiple result complex content / complex types, I receive theattached
    error. What am I doing incorrectly?[large.jar]

  • Webservices with j2me base64Binary problem

    Hi,
    Iam new to webservices concepts, now iam trying to implement jsr172 with my project.
    In that WSDL have the type "type="s:base64Binary" for image byte array.
    While creating stubs the xxxx_stub file contains line :
    "_type_image = new Element(_qname_CapturedImage, UNKNOWN, 0, 1, false);"
    the error was canot resolve symbol "variable UNKNOWN"
    Why the base64Binary type is not supported.
    Please give me a hand.

    Hi,
    I got through some documents "JAX-RPC for Java ME doesn't support soapenc:Array or wsdl:arrayType "
    for that what will be the alternate.

  • How do I get ColdFusion to put information in the WSDL to show it returns an array of strings?

    How do I specify that the return value of my web service is an array of strings?
    Saying
       <cffunction name="getInfoSources" access="remote" returntype="string[]">
    produces the error:
    coldfusion.xml.rpc.CFCInvocationException: [coldfusion.xml.rpc.SkeletonClassLoader$UnresolvedCFCDataTypeException : Cannot resolve CFC datatype: string.]
    when I try to create the WSDL
    I know that I can specify "array", which puts into the WSDL:
    <wsdl:part name="getInfoSourcesReturn" type="impl:ArrayOf_xsd_anyType"/>
    I want users of the service to know that the array is specifically made up of _strings_.
    Thanks!
    -- Mabel :-)
    [email protected]

    What if you click Never remember for this site and later change your mind? There should be a way to remember the username and password later if you'd like. I installed the Saved Password Editor 2.6.3 extension and added in the information manually i.e. by choosing New and it still isn't making a difference. What happened to the live chat support Firefox used to have?

  • Document-Literal and Arrays - WSDL seems incorrect ??

    I have create a simple "document-literal" webservice that returns an object containing some simple fields and an array of another object.
    Task.cfc
    ===============================
    <cfcomponent>
       <cfproperty name="Id"        type="string">
       <cfproperty name="Priority"  type="numeric">
       <cfproperty name="StartTime" type="date">
       <cfproperty name="StopTime"  type="date">
       <cfproperty name="AOI"       type="VertexPoint[]">
    </cfcomponent>  
    VertexPoint.cfc
    ============================
    <cfcomponent>
       <cfproperty name="Latitude"  type="numeric">
       <cfproperty name="Longitude" type="numeric">
       <cfproperty name="Altitude"  type="numeric">
    </cfcomponent>
    My webservice returns a Task object
    <cfcomponent  style="document">
       <cffunction name="getTask" returnType="Task" access="remote" output="false"> 
       </cffunction>
    </cfcomponent>
    When I look at the generated WSDL is see the following complexTypes:
    NOTICE THE name="item" IN THE COMPLEXTYPE ArrayOf_xsd_anyType.
    <complexType name="VertexPoint">
       <sequence>
          <element name="Altitude" nillable="true" type="xsd:double"/>
          <element name="Latitude" nillable="true" type="xsd:double"/>
          <element name="Longitude" nillable="true" type="xsd:double"/>
       </sequence>
    </complexType>
    <complexType name="Task">
       <sequence>
          <element name="AOI" nillable="true" type="tns1:ArrayOf_xsd_anyType"/>
          <element name="Id" nillable="true" type="xsd:string"/>
          <element name="Priority" nillable="true" type="xsd:double"/>
          <element name="StartTime" nillable="true" type="xsd:dateTime"/>
          <element name="StopTime" nillable="true" type="xsd:dateTime"/>
       </sequence>
    </complexType>
    <complexType name="ArrayOf_xsd_anyType">
       <sequence>
          <element maxOccurs="unbounded" minOccurs="0" name="item" type="impl:VertexPoint"/>
       </sequence>
    </complexType>
    When I look at the XML/data returned when I call the webservice it is:
      <getTaskResponse xmlns="http://users">
       <getTaskReturn>
        <AOI>
         <AOI xsi:type="ns1:VertexPoint" xmlns:ns1="http://users">
          <Altitude>1.0</Altitude>
          <Latitude>1.0</Latitude>
          <Longitude>1.0</Longitude>
         </AOI>
         <AOI xsi:type="ns2:VertexPoint" xmlns:ns2="http://users">
          <Altitude>2.0</Altitude>
          <Latitude>2.0</Latitude>
          <Longitude>2.0</Longitude>
         </AOI>
        </AOI>
        <Id>1</Id>
        <Priority>99.0</Priority>
        <StartTime>2009-10-15T06:00:00.000Z</StartTime>
        <StopTime>2009-10-17T05:59:59.000Z</StopTime>
       </getTaskReturn>
      </getTaskResponse>
    Shouldn't the tags be
    <AOI>
         <item>
         </item>
         <item>
         </item>
    <AOI>
    I am trying to access this WS from a java client and the AOI is always null
    Any help would be greatly appreciated.  (BTW - If I use "rpc" WS everything work fine)

    repost.....

  • Soap Array in external WSDL

    Hi all,
    i have an webservice that i need to use as a reciever that  has a WSDL containing soap arrays instead of repeating groups.
    <xsd:complexType name="workOrderArray">
      <xsd:complexContent>
        <xsd:restriction base="soapenc:Array">
          <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="tns:workOrder[]" />
        </xsd:restriction>
      </xsd:complexContent>
    </xsd:complexType>
    i understand that  PI is not supporting  this  but maybe somebody has found a work around ?  At the moment i 'm creating an XSD from the WSDL and then i will import the xml schema and i will see if that works.
    any other suggestions ?

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:tns="http://example/"
      xmlns:types="http://example/encodedTypes"
      xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
      <xsl:template match="/">
        <env:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://example/" xmlns:types="http://example/encodedTypes" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
          <env:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <xsl:copy>
              <xsl:apply-templates select="@*|node()"/>
            </xsl:copy>
          </env:Body>
        </env:Envelope>
      </xsl:template>
      <xsl:template match="@*|node()">
        <xsl:copy>
          <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
      </xsl:template>
      <xsl:template match="/tns:workOrderMsg/tns:workOrderArray">
        <workOrderArray soapenc:id="id1" soapenc:itemType="types:WorkOrder">
          <xsl:attribute name="soapenc:arraySize">
            <xsl:value-of select="count(./tns:workOrder)"/>
          </xsl:attribute>
          <xsl:for-each select="./tns:workOrder">
            <Item>
              <xsl:attribute name="soapenc:id">
                <xsl:value-of select="concat('id', position())"/>
              </xsl:attribute>
              <order_id xsi:type="xsd:string"><xsl:value-of select="tns:order_id"/></order_id>
              <description xsi:type="xsd:string"><xsl:value-of select="tns:description"/></description>
            </Item>
          </xsl:for-each>
        </workOrderArray>
      </xsl:template>
    </xsl:stylesheet>

  • Invoking WSDL with SOAP-Encoded Arrays get Errors

    Hi,
    i am invoking a web service through a partner link. This WSDL hava a SOAP-Encoded Arrays.
    <?xml version="1.0" encoding="utf-8"?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    name="IApWebServicesservice" targetNamespace="http://tempuri.org/"
    xmlns:tns="http://tempuri.org/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:ns1="urn:unApTypes" xmlns:ns2="urn:unApWebServicesInterface"
    xmlns:ns3="http://www.borland.com/namespaces/Types">
    <types>
    <xs:schema targetNamespace="urn:unApTypes" xmlns="urn:unApTypes">
    <xs:simpleType name="TApLanguages">
    <xs:restriction base="xs:string">
    <xs:enumeration value="alPortuguese"/>
    <xs:enumeration value="alEnglish"/>
    <xs:enumeration value="alSpanish"/>
    <xs:enumeration value="alPortuguesePT"/>
    <xs:enumeration value="alDeutsch"/>
    <xs:enumeration value="alItalian"/>
    <xs:enumeration value="alFrench"/>
    <xs:enumeration value="alRussian"/>
    </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TApFieldType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="aftNotDefined"/>
    <xs:enumeration value="aftIntAutoInc"/>
    <xs:enumeration value="aftIntAuto"/>
    <xs:enumeration value="aftInteger"/>
    <xs:enumeration value="aftByteAuto"/>
    <xs:enumeration value="aftByte"/>
    <xs:enumeration value="aftWordAuto"/>
    <xs:enumeration value="aftWord"/>
    <xs:enumeration value="aftFloat"/>
    <xs:enumeration value="aftString"/>
    <xs:enumeration value="aftDate"/>
    <xs:enumeration value="aftTime"/>
    <xs:enumeration value="aftBoolean"/>
    <xs:enumeration value="aftBlob"/>
    <xs:enumeration value="aftImage"/>
    <xs:enumeration value="aftRichText"/>
    <xs:enumeration value="aftDateTime"/>
    <xs:enumeration value="aftMemo"/>
    <xs:enumeration value="aftFile"/>
    <xs:enumeration value="aftCurrency"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:schema>
    <xs:schema targetNamespace="urn:unApWebServicesInterface"
    xmlns="urn:unApWebServicesInterface">
    <xs:import namespace="http://www.borland.com/namespaces/Types"/>
    <xs:complexType name="TWSTransactionParams">
    <xs:sequence>
    <xs:element name="Fields" type="ns2:TWSTransactionHeaderFieldsArray"/>
    <xs:element name="Reserved" type="ns2:TWSTransactionParams"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSTransactionHeaderFieldsArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSTransactionHeaderFields[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSTransactionHeaderFields">
    <xs:sequence>
    <xs:element name="Reserved" type="ns2:TWSTransactionHeaderFields"/>
    <xs:element name="FieldCaption" type="xs:string"/>
    <xs:element name="FieldId" type="xs:int"/>
    <xs:element name="GroupId" type="xs:int"/>
    <xs:element name="GroupCaption" type="xs:string"/>
    <xs:element name="Required" type="xs:boolean"/>
    <xs:element name="DataType" type="xs:int"/>
    <xs:element name="Mask" type="xs:string"/>
    <xs:element name="FieldLength" type="xs:int"/>
    <xs:element name="LookupName" type="xs:string"/>
    <xs:element name="PrimaryKey" type="xs:int"/>
    <xs:element name="Language" type="xs:string"/>
    <xs:element name="ReadOnly" type="xs:boolean"/>
    <xs:element name="LiteralMicroHelp" type="xs:string"/>
    <xs:element name="ExceptReadOnlyTransactions" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSTransactionExecuteParamArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSTransactionExecuteParam[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSTransactionExecuteParam">
    <xs:sequence>
    <xs:element name="Id" type="xs:int"/>
    <xs:element name="Value" type="xs:anyType"/>
    <xs:element name="Reserved" type="ns1:TApFieldType"/>
    <xs:element name="FieldName" type="xs:string"/>
    <xs:element name="ClientFieldName" type="xs:string"/>
    <xs:element name="FieldSize" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSTransactionToExecuteArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSTransactionToExecute[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSTransactionToExecute">
    <xs:sequence>
    <xs:element name="TransactionId" type="xs:int"/>
    <xs:element name="Params" type="ns2:TWSTransactionExecuteParamArray"/>
    <xs:element name="LanguageId" type="ns1:TApLanguages"/>
    <xs:element name="EditionType" type="xs:int"/>
    <xs:element name="IntegrationMode" type="xs:int"/>
    <xs:element name="Scope" type="ns3:TIntegerDynArray"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryParams">
    <xs:sequence>
    <xs:element name="Reserved" type="ns2:TWSQueryParams"/>
    <xs:element name="Fields" type="ns2:TWSQueryHeaderFieldsArray"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryHeaderFieldsArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSQueryHeaderFields[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSQueryHeaderFields">
    <xs:sequence>
    <xs:element name="Reserved" type="ns2:TWSQueryHeaderFields"/>
    <xs:element name="FieldCaption" type="xs:string"/>
    <xs:element name="ParamType" type="xs:int"/>
    <xs:element name="ParamName" type="xs:string"/>
    <xs:element name="Mask" type="xs:string"/>
    <xs:element name="DefaultValue" type="xs:anyType"/>
    <xs:element name="Required" type="xs:boolean"/>
    <xs:element name="GroupId" type="xs:int"/>
    <xs:element name="GroupCaption" type="xs:string"/>
    <xs:element name="Hint" type="xs:string"/>
    <xs:element name="FindInList" type="xs:boolean"/>
    <xs:element name="UseValueList" type="xs:boolean"/>
    <xs:element name="ValueList" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteParamArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSQueryExecuteParam[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteParam">
    <xs:sequence>
    <xs:element name="Value" type="xs:string"/>
    <xs:element name="Reserved" type="ns1:TApFieldType"/>
    <xs:element name="ParamName" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteResults">
    <xs:sequence>
    <xs:element name="Fields" type="ns2:TWSQueryExecuteFieldsArray"/>
    <xs:element name="Records" type="ns2:TWSQueryExecuteRecordsArray"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteFieldsArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSQueryExecuteField[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteRecordsArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSQueryExecuteRecord[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteField">
    <xs:sequence>
    <xs:element name="FieldName" type="xs:string"/>
    <xs:element name="Reserved" type="ns1:TApFieldType"/>
    <xs:element name="FieldType" type="xs:int"/>
    <xs:element name="Mask" type="xs:string"/>
    <xs:element name="Length" type="xs:int"/>
    <xs:element name="Decimals" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteRecord">
    <xs:sequence>
    <xs:element name="Values" type="ns2:TWSQueryExecuteValuesArray"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteValuesArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSQueryExecuteValue[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteValue">
    <xs:sequence>
    <xs:element name="Value" type="xs:string"/>
    <xs:element name="Reserved" type="ns1:TApFieldType"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    <xs:schema targetNamespace="http://www.borland.com/namespaces/Types"
    xmlns="http://www.borland.com/namespaces/Types">
    <xs:import namespace="urn:unApTypes"/>
    <xs:complexType name="TIntegerDynArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType" n1:arrayType="xs:int[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    </xs:schema>
    </types>
    <message name="GetTransactions0Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="Transactions" type="xs:string"/>
    <part name="Error" type="xs:string"/>
    <part name="LanguageId" type="ns1:TApLanguages"/>
    </message>
    <message name="GetTransactions0Response">
    <part name="Transactions" type="xs:string"/>
    <part name="Error" type="xs:string"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <message name="GetParameters1Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="TransactionId" type="xs:int"/>
    <part name="Params" type="ns2:TWSTransactionParams"/>
    <part name="Error" type="xs:string"/>
    <part name="LanguageId" type="ns1:TApLanguages"/>
    <part name="EditionType" type="xs:int"/>
    </message>
    <message name="GetParameters1Response">
    <part name="Params" type="ns2:TWSTransactionParams"/>
    <part name="Error" type="xs:string"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <message name="ExecuteTransaction2Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="TransactionId" type="xs:int"/>
    <part name="Params" type="ns2:TWSTransactionExecuteParamArray"/>
    <part name="Error" type="xs:string"/>
    <part name="LanguageId" type="ns1:TApLanguages"/>
    <part name="EditionType" type="xs:int"/>
    <part name="IntegrationMode" type="xs:int"/>
    <part name="Scope" type="ns3:TIntegerDynArray"/>
    <part name="KeyId" type="xs:int"/>
    </message>
    <message name="ExecuteTransaction2Response">
    <part name="Error" type="xs:string"/>
    <part name="KeyId" type="xs:int"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <message name="ExecuteTransactions3Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="Lote" type="xs:int"/>
    <part name="Error" type="xs:string"/>
    <part name="Transactions" type="ns2:TWSTransactionToExecuteArray"/>
    </message>
    <message name="ExecuteTransactions3Response">
    <part name="Error" type="xs:string"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <message name="GetQueryParameters4Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="QueryId" type="xs:int"/>
    <part name="Params" type="ns2:TWSQueryParams"/>
    <part name="Error" type="xs:string"/>
    <part name="LanguageId" type="ns1:TApLanguages"/>
    </message>
    <message name="GetQueryParameters4Response">
    <part name="Params" type="ns2:TWSQueryParams"/>
    <part name="Error" type="xs:string"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <message name="QueryExecute5Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="QueryId" type="xs:int"/>
    <part name="Params" type="ns2:TWSQueryExecuteParamArray"/>
    <part name="Error" type="xs:string"/>
    <part name="Results" type="ns2:TWSQueryExecuteResults"/>
    <part name="LanguageId" type="ns1:TApLanguages"/>
    </message>
    <message name="QueryExecute5Response">
    <part name="Error" type="xs:string"/>
    <part name="Results" type="ns2:TWSQueryExecuteResults"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <portType name="IApWebServices">
    <operation name="GetTransactions">
    <input message="tns:GetTransactions0Request"/>
    <output message="tns:GetTransactions0Response"/>
    </operation>
    <operation name="GetParameters">
    <input message="tns:GetParameters1Request"/>
    <output message="tns:GetParameters1Response"/>
    </operation>
    <operation name="ExecuteTransaction">
    <input message="tns:ExecuteTransaction2Request"/>
    <output message="tns:ExecuteTransaction2Response"/>
    </operation>
    <operation name="ExecuteTransactions">
    <input message="tns:ExecuteTransactions3Request"/>
    <output message="tns:ExecuteTransactions3Response"/>
    </operation>
    <operation name="GetQueryParameters">
    <input message="tns:GetQueryParameters4Request"/>
    <output message="tns:GetQueryParameters4Response"/>
    </operation>
    <operation name="QueryExecute">
    <input message="tns:QueryExecute5Request"/>
    <output message="tns:QueryExecute5Response"/>
    </operation>
    </portType>
    <binding name="IApWebServicesbinding" type="tns:IApWebServices">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="GetTransactions">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#GetTransactions"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    <operation name="GetParameters">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#GetParameters"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    <operation name="ExecuteTransaction">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#ExecuteTransaction"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    <operation name="ExecuteTransactions">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#ExecuteTransactions"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    <operation name="GetQueryParameters">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#GetQueryParameters"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    <operation name="QueryExecute">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#QueryExecute"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    </binding>
    <service name="IApWebServicesservice">
    <port name="IApWebServicesPort" binding="tns:IApWebServicesbinding">
    <soap:address location="http://200.189.164.78:7002/soap/IApWebServices"/>
    </port>
    </service>
    </definitions>
    When I try to send a message to this WebService I can´t sending type TWSTransactionParams.
    Here is my code:
    <assign name="TEST">
    <bpelx:append>
    <bpelx:from expression="'******'"/>
    <bpelx:to variable="EnviarWebserviceApData_InputVariable"
    part="UserName"/>
    </bpelx:append>
    <bpelx:append>
    <bpelx:from expression="'*****'"/>
    <bpelx:to variable="EnviarWebserviceApData_InputVariable"
    part="Pass"/>
    </bpelx:append>
    <bpelx:append>
    <bpelx:from expression="'29902'"/>
    <bpelx:to variable="EnviarWebserviceApData_InputVariable"
    part="TransactionId"/>
    </bpelx:append>
    <bpelx:append>
    <bpelx:from expression="'alPortuguese'"/>
    <bpelx:to variable="EnviarWebserviceApData_InputVariable"
    part="LanguageId"/>
    </bpelx:append>
    <bpelx:append>
    <bpelx:from expression="0"/>
    <bpelx:to variable="EnviarWebserviceApData_InputVariable"
    part="EditionType"/>
    </bpelx:append>
    <bpelx:append>
    <bpelx:from expression="0"/>
    <bpelx:to variable="EnviarWebserviceApData_InputVariable"
    part="IntegrationMode"/>
    </bpelx:append>
    <bpelx:append>
    <bpelx:from expression="0"/>
    <bpelx:to variable="EnviarWebserviceApData_InputVariable"
    part="KeyId"/>
    </bpelx:append>
    </assign>
    But, I don´t know how I have to pass the Array. I found this documetation on oracle website
    \http://download.oracle.com/docs/cd/E15523_01/integration.1111/e10224/bp_manipdoc.htm#sthref550
    But i can´t construct the XML message more manually.
    Any help in this regard is highly appreciated.

    Yes, you are rigth. I read this documentation to.
    I can do a workaroud and the process BPEL can understand. I will place my WSDL below and what i changed:
    WSDL:
    <?xml version="1.0" encoding="utf-8"?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    name="IApWebServicesservice" targetNamespace="http://tempuri.org/"
    xmlns:tns="http://tempuri.org/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
    xmlns:ns1="urn:unApTypes" xmlns:ns2="urn:unApWebServicesInterface"
    xmlns:ns3="http://www.borland.com/namespaces/Types">
    <types>
    <xs:schema targetNamespace="urn:unApTypes" xmlns="urn:unApTypes">
    <xs:simpleType name="TApLanguages">
    <xs:restriction base="xs:string">
    <xs:enumeration value="alPortuguese"/>
    <xs:enumeration value="alEnglish"/>
    <xs:enumeration value="alSpanish"/>
    <xs:enumeration value="alPortuguesePT"/>
    <xs:enumeration value="alDeutsch"/>
    <xs:enumeration value="alItalian"/>
    <xs:enumeration value="alFrench"/>
    <xs:enumeration value="alRussian"/>
    </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="TApFieldType">
    <xs:restriction base="xs:string">
    <xs:enumeration value="aftNotDefined"/>
    <xs:enumeration value="aftIntAutoInc"/>
    <xs:enumeration value="aftIntAuto"/>
    <xs:enumeration value="aftInteger"/>
    <xs:enumeration value="aftByteAuto"/>
    <xs:enumeration value="aftByte"/>
    <xs:enumeration value="aftWordAuto"/>
    <xs:enumeration value="aftWord"/>
    <xs:enumeration value="aftFloat"/>
    <xs:enumeration value="aftString"/>
    <xs:enumeration value="aftDate"/>
    <xs:enumeration value="aftTime"/>
    <xs:enumeration value="aftBoolean"/>
    <xs:enumeration value="aftBlob"/>
    <xs:enumeration value="aftImage"/>
    <xs:enumeration value="aftRichText"/>
    <xs:enumeration value="aftDateTime"/>
    <xs:enumeration value="aftMemo"/>
    <xs:enumeration value="aftFile"/>
    <xs:enumeration value="aftCurrency"/>
    </xs:restriction>
    </xs:simpleType>
    </xs:schema>
    <xs:schema targetNamespace="urn:unApWebServicesInterface"
    xmlns="urn:unApWebServicesInterface">
    <xs:import namespace="http://www.borland.com/namespaces/Types"/>
    <xs:complexType name="TWSTransactionParams">
    <xs:sequence>
    <xs:element name="Fields" type="ns2:TWSTransactionHeaderFieldsArray"/>
    <xs:element name="Reserved" type="ns2:TWSTransactionParams"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSTransactionHeaderFieldsArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSTransactionHeaderFields[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSTransactionHeaderFields">
    <xs:sequence>
    <xs:element name="Reserved" type="ns2:TWSTransactionHeaderFields"/>
    <xs:element name="FieldCaption" type="xs:string"/>
    <xs:element name="FieldId" type="xs:int"/>
    <xs:element name="GroupId" type="xs:int"/>
    <xs:element name="GroupCaption" type="xs:string"/>
    <xs:element name="Required" type="xs:boolean"/>
    <xs:element name="DataType" type="xs:int"/>
    <xs:element name="Mask" type="xs:string"/>
    <xs:element name="FieldLength" type="xs:int"/>
    <xs:element name="LookupName" type="xs:string"/>
    <xs:element name="PrimaryKey" type="xs:int"/>
    <xs:element name="Language" type="xs:string"/>
    <xs:element name="ReadOnly" type="xs:boolean"/>
    <xs:element name="LiteralMicroHelp" type="xs:string"/>
    <xs:element name="ExceptReadOnlyTransactions" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSTransactionExecuteParamArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSTransactionExecuteParam[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSTransactionExecuteParam">
    <xs:sequence>
    <xs:element name="Id" type="xs:int"/>
    <xs:element name="Value" type="xs:anyType"/>
    <xs:element name="Reserved" type="ns1:TApFieldType"/>
    <xs:element name="FieldName" type="xs:string"/>
    <xs:element name="ClientFieldName" type="xs:string"/>
    <xs:element name="FieldSize" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSTransactionToExecuteArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSTransactionToExecute[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSTransactionToExecute">
    <xs:sequence>
    <xs:element name="TransactionId" type="xs:int"/>
    <xs:element name="Params" type="ns2:TWSTransactionExecuteParamArray"/>
    <xs:element name="LanguageId" type="ns1:TApLanguages"/>
    <xs:element name="EditionType" type="xs:int"/>
    <xs:element name="IntegrationMode" type="xs:int"/>
    <xs:element name="Scope" type="ns3:TIntegerDynArray"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryParams">
    <xs:sequence>
    <xs:element name="Reserved" type="ns2:TWSQueryParams"/>
    <xs:element name="Fields" type="ns2:TWSQueryHeaderFieldsArray"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryHeaderFieldsArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSQueryHeaderFields[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSQueryHeaderFields">
    <xs:sequence>
    <xs:element name="Reserved" type="ns2:TWSQueryHeaderFields"/>
    <xs:element name="FieldCaption" type="xs:string"/>
    <xs:element name="ParamType" type="xs:int"/>
    <xs:element name="ParamName" type="xs:string"/>
    <xs:element name="Mask" type="xs:string"/>
    <xs:element name="DefaultValue" type="xs:anyType"/>
    <xs:element name="Required" type="xs:boolean"/>
    <xs:element name="GroupId" type="xs:int"/>
    <xs:element name="GroupCaption" type="xs:string"/>
    <xs:element name="Hint" type="xs:string"/>
    <xs:element name="FindInList" type="xs:boolean"/>
    <xs:element name="UseValueList" type="xs:boolean"/>
    <xs:element name="ValueList" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteParamArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSQueryExecuteParam[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteParam">
    <xs:sequence>
    <xs:element name="Value" type="xs:string"/>
    <xs:element name="Reserved" type="ns1:TApFieldType"/>
    <xs:element name="ParamName" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteResults">
    <xs:sequence>
    <xs:element name="Fields" type="ns2:TWSQueryExecuteFieldsArray"/>
    <xs:element name="Records" type="ns2:TWSQueryExecuteRecordsArray"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteFieldsArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSQueryExecuteField[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteRecordsArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSQueryExecuteRecord[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteField">
    <xs:sequence>
    <xs:element name="FieldName" type="xs:string"/>
    <xs:element name="Reserved" type="ns1:TApFieldType"/>
    <xs:element name="FieldType" type="xs:int"/>
    <xs:element name="Mask" type="xs:string"/>
    <xs:element name="Length" type="xs:int"/>
    <xs:element name="Decimals" type="xs:int"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteRecord">
    <xs:sequence>
    <xs:element name="Values" type="ns2:TWSQueryExecuteValuesArray"/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteValuesArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSQueryExecuteValue[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="TWSQueryExecuteValue">
    <xs:sequence>
    <xs:element name="Value" type="xs:string"/>
    <xs:element name="Reserved" type="ns1:TApFieldType"/>
    </xs:sequence>
    </xs:complexType>
    </xs:schema>
    <xs:schema targetNamespace="http://www.borland.com/namespaces/Types"
    xmlns="http://www.borland.com/namespaces/Types">
    <xs:import namespace="urn:unApTypes"/>
    <xs:complexType name="TIntegerDynArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType" n1:arrayType="xs:int[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    </xs:schema>
    </types>
    <message name="GetTransactions0Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="Transactions" type="xs:string"/>
    <part name="Error" type="xs:string"/>
    <part name="LanguageId" type="ns1:TApLanguages"/>
    </message>
    <message name="GetTransactions0Response">
    <part name="Transactions" type="xs:string"/>
    <part name="Error" type="xs:string"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <message name="GetParameters1Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="TransactionId" type="xs:int"/>
    <part name="Params" type="ns2:TWSTransactionParams"/>
    <part name="Error" type="xs:string"/>
    <part name="LanguageId" type="ns1:TApLanguages"/>
    <part name="EditionType" type="xs:int"/>
    </message>
    <message name="GetParameters1Response">
    <part name="Params" type="ns2:TWSTransactionParams"/>
    <part name="Error" type="xs:string"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <message name="ExecuteTransaction2Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="TransactionId" type="xs:int"/>
    <part name="Params" type="ns2:TWSTransactionExecuteParamArray"/>
    <part name="Error" type="xs:string"/>
    <part name="LanguageId" type="ns1:TApLanguages"/>
    <part name="EditionType" type="xs:int"/>
    <part name="IntegrationMode" type="xs:int"/>
    <part name="Scope" type="ns3:TIntegerDynArray"/>
    <part name="KeyId" type="xs:int"/>
    </message>
    <message name="ExecuteTransaction2Response">
    <part name="Error" type="xs:string"/>
    <part name="KeyId" type="xs:int"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <message name="ExecuteTransactions3Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="Lote" type="xs:int"/>
    <part name="Error" type="xs:string"/>
    <part name="Transactions" type="ns2:TWSTransactionToExecuteArray"/>
    </message>
    <message name="ExecuteTransactions3Response">
    <part name="Error" type="xs:string"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <message name="GetQueryParameters4Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="QueryId" type="xs:int"/>
    <part name="Params" type="ns2:TWSQueryParams"/>
    <part name="Error" type="xs:string"/>
    <part name="LanguageId" type="ns1:TApLanguages"/>
    </message>
    <message name="GetQueryParameters4Response">
    <part name="Params" type="ns2:TWSQueryParams"/>
    <part name="Error" type="xs:string"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <message name="QueryExecute5Request">
    <part name="UserName" type="xs:string"/>
    <part name="Pass" type="xs:string"/>
    <part name="QueryId" type="xs:int"/>
    <part name="Params" type="ns2:TWSQueryExecuteParamArray"/>
    <part name="Error" type="xs:string"/>
    <part name="Results" type="ns2:TWSQueryExecuteResults"/>
    <part name="LanguageId" type="ns1:TApLanguages"/>
    </message>
    <message name="QueryExecute5Response">
    <part name="Error" type="xs:string"/>
    <part name="Results" type="ns2:TWSQueryExecuteResults"/>
    <part name="return" type="xs:boolean"/>
    </message>
    <portType name="IApWebServices">
    <operation name="GetTransactions">
    <input message="tns:GetTransactions0Request"/>
    <output message="tns:GetTransactions0Response"/>
    </operation>
    <operation name="GetParameters">
    <input message="tns:GetParameters1Request"/>
    <output message="tns:GetParameters1Response"/>
    </operation>
    <operation name="ExecuteTransaction">
    <input message="tns:ExecuteTransaction2Request"/>
    <output message="tns:ExecuteTransaction2Response"/>
    </operation>
    <operation name="ExecuteTransactions">
    <input message="tns:ExecuteTransactions3Request"/>
    <output message="tns:ExecuteTransactions3Response"/>
    </operation>
    <operation name="GetQueryParameters">
    <input message="tns:GetQueryParameters4Request"/>
    <output message="tns:GetQueryParameters4Response"/>
    </operation>
    <operation name="QueryExecute">
    <input message="tns:QueryExecute5Request"/>
    <output message="tns:QueryExecute5Response"/>
    </operation>
    </portType>
    <binding name="IApWebServicesbinding" type="tns:IApWebServices">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="GetTransactions">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#GetTransactions"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    <operation name="GetParameters">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#GetParameters"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    <operation name="ExecuteTransaction">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#ExecuteTransaction"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    <operation name="ExecuteTransactions">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#ExecuteTransactions"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    <operation name="GetQueryParameters">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#GetQueryParameters"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    <operation name="QueryExecute">
    <soap:operation soapAction="urn:unApWebServicesInterface-IApWebServices#QueryExecute"
    style="rpc"/>
    <input>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </input>
    <output>
    <soap:body use="encoded"
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:unApWebServicesInterface-IApWebServices"/>
    </output>
    </operation>
    </binding>
    <service name="IApWebServicesservice">
    <port name="IApWebServicesPort" binding="tns:IApWebServicesbinding">
    <soap:address location="http://200.189.164.78:7002/soap/IApWebServices"/>
    </port>
    </service>
    </definitions>
    I changed this
    Original:
    <xs:complexType name="TWSTransactionExecuteParamArray">
    <xs:complexContent>
    <xs:restriction base="soapenc:Array">
    <xs:sequence/>
    <xs:attribute ref="soapenc:arrayType"
    n1:arrayType="ns2:TWSTransactionExecuteParam[]"
    xmlns:n1="http://schemas.xmlsoap.org/wsdl/"/>
    </xs:restriction>
    </xs:complexContent>
    </xs:complexType>
    Changed:
    <xs:complexType name="TWSTransactionExecuteParamArray">
    <xs:sequence>
    <xs:element type = "ns2:TWSTransactionExecuteParam" name = "TWSTransactionExecuteParam" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    </xs:sequence>
    </xs:complexType>
    In this way, I can invoking the WebServise with soapenc:arrayType.
    Thaks for anwsering.

  • Import for WSDL in rpc-Style Format with ComplexContent SOAP-ENC:Array

    Hello, we are working on a business process that consume a web services using XI and ABAP Proxy.
    We have and error type CANNOT_PRODUCE_ELEMENT, problably because the WSDL rpc-style imported on Integration Respository contents elements like this:
    <complexContent>
      <restriction base="SOAP-ENC:Array">
        <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:mytype[]" />
      </restriction>
    </complexContent>
    SO, anybody knows if it's possible to dessign mapping correctly with others elements like "sequence"... ?
    Thanks a lot,

    Alex,
    I would recommend to check your WSDL for any syntax errors etc in any of the external tools like XML SPY or Stylus Studio etc and then upload into XI.
    ---Satish

  • Problem with java applet and array of arrays

    hi!
    i'm passing an array of arrays from java applet using
    JSObject.getWindow(applet).call("jsFunction", array(array(), array()) );
    in every other browser than safari 4.0.2 it's no problem to iterate over this array. in safari "array.length" is undefined. is such construction supported in safari's js engine?
    Message was edited by: quaintpl
    Message was edited by: quaintpl
    Message was edited by: quaintpl
    Message was edited by: quaintpl
    Message was edited by: quaintpl

    Thanks for the answer but the problem is the type of object of method and how from pl/sql is posiblle to call.
    The method waiting a ArrayofAlicIva, but if i define this object is not posible to set the object inside the array because the wsdl not have this functions.
    I need to define array of objects but the object is inside is the diferent type of array.
    If i Define the array of object correct to object inside, the method expect that the other array type.
    Is a Deadlock ??
    The solution in Java is Simple
    AlicIva[] alicIva = new AlicIva[1];
    alicIva[0]= new AlicIva();
    alicIva[0].setId(Short.parseShort(1));
    fedr[0].setIva(alicIva);
    this is the method imported in java class to form
    -- Method: setIva (LArrayOfAlicIva;)V
    PROCEDURE setIva(
    obj ORA_JAVA.JOBJECT,
    a0 ORA_JAVA.JOBJECT) IS
    BEGIN
    args := JNI.CREATE_ARG_LIST(1);
    JNI.ADD_OBJECT_ARG(args, a0, 'ArrayOfAlicIva');
    JNI.CALL_VOID_METHOD(FALSE, obj, 'FECAEDetRequest', 'setIva', '(LArrayOfAlicIva;)V', args);
    END;

  • Problem with Java Clasess and Arrays

    Hello, i have a situation when a need to call a web services.
    I have 3 classes..and a need to call a method
    Class1 have a method
    public void setIva(ArrayOfAlicIva value)
    Class ArrayOfAlicIva is
    protected List<AlicIva> alicIva;
    This class not have a metho to set de object
    and
    Class AlicIva have 1 attributes call base int and method setBase
    When imported to Forms, i have the package with this clasess...
    The problem is when i have to call a SetIva Method.
    In pl/sql i have
    Case 1
    OraAlicIva := AlicIva.new(); --OK
    AlicIva.setBase(OraAlicIva , 10); --OK
    Class1.setIva(Object_to_Class1, OraAlicIva); --Error, is not type excpected
    Case 2
    OraAlicIva := ArrayOfAlicIva.new(); --OK
    AlicIva.setBase(OraAlicIva , 10); --Error, setBase is not defined
    Class1.setIva(Object_to_Class1, OraAlicIva); --OK
    Case 3
    OraAlicIva := AlicIva.new(); --OK
    OraAlicIva2 :=ORA_JAVA.NEW_OBJECT_ARRAY(1,'ArrayOfAlicIva'); --OK
    AlicIva.setBase(OraAlicIva , 10); --OK
    ORA_JAVA.SET_OBJECT_ARRAY_ELEMENT(OraAlicIva2 , 0, OraAlicIva); --Error, ExceptionStoreArray
    Class1.setIva(Object_to_Class1, OraAlicIva); --OK
    The Solutions in Java is
    AlicIva[] alicIva = new AlicIva[1];
    alicIva[0]= new AlicIva();
    alicIva[0].setId(Short.parseShort(1));                
    fedr[0].setIva(alicIva);}
    Is posible to Resolve ??
    Thanks and Sorry for my inglish

    Thanks for the answer but the problem is the type of object of method and how from pl/sql is posiblle to call.
    The method waiting a ArrayofAlicIva, but if i define this object is not posible to set the object inside the array because the wsdl not have this functions.
    I need to define array of objects but the object is inside is the diferent type of array.
    If i Define the array of object correct to object inside, the method expect that the other array type.
    Is a Deadlock ??
    The solution in Java is Simple
    AlicIva[] alicIva = new AlicIva[1];
    alicIva[0]= new AlicIva();
    alicIva[0].setId(Short.parseShort(1));
    fedr[0].setIva(alicIva);
    this is the method imported in java class to form
    -- Method: setIva (LArrayOfAlicIva;)V
    PROCEDURE setIva(
    obj ORA_JAVA.JOBJECT,
    a0 ORA_JAVA.JOBJECT) IS
    BEGIN
    args := JNI.CREATE_ARG_LIST(1);
    JNI.ADD_OBJECT_ARG(args, a0, 'ArrayOfAlicIva');
    JNI.CALL_VOID_METHOD(FALSE, obj, 'FECAEDetRequest', 'setIva', '(LArrayOfAlicIva;)V', args);
    END;

  • Clientgen in WL 81 giving problems for stub generation from WL91 WSDL

    Hi,
    I am very new to this forum and new to Weblogic too.
    Here is my problem. I generated a webservice from a Stateless Session bean using annotation in WebLogic 91. Used the "jwsc"/"wldeploy" to generate and deploy the webservice. Also generated the client stubs using "clientgen" in weblogic 91.
    Created a small web application using a single jsp and servlet (the servlet is where i invoke the service).
    Everything works fine till its weblogic 91.
    Now the problem. I need to make the jsp work from Weblogic 81. So I am trying to create the client stubs from the service endpoint WSDL on WebLogic 91 by using the deployed webservice URL.
    The clientgen in WL 81 is complaining that the "parameters" is already defined (Please see the error below".
    I would assume that BEA would have tested this scenario as it should be a no-brainer. So why does the cleintgen in WL 81 complain. Is there any other step or way that I am missing. I have tried all sorts of things before posting to this forum (like 1. generating the stubs using WSDL2JAVA using axis -- WebLogic 81 gives a null pointer exception 2. generating the client stubs using "clientgen" in WL 91 and trying to compile using the jdk 1.4 and using in WL 81 -- complains that the couldnot find something like jax-rpc._._.ServiceImpl
    Will be realy helpful if someone who had this kind of experience of someone from BEA can help me a little bit.
    Thanks in advance to all for your time.
    ERROR WHILE using CLIENGEN
    build-client:
    [clientgen] Generating client jar for http://localhost:7001/webservice/MAC/Metho
    dsAccessControl?WSDL ...
    [clientgen] WARNING: Map ['http://elexnet.bah.com/methods']:ArrayOfint_literal i
    ncompliantly with JAX-RPC, mapping to a Java array of .int
    [clientgen] WARNING: Map ['http://elexnet.bah.com/methods']:ArrayOfMethodUserTO_
    literal incompliantly with JAX-RPC, mapping to a Java array of com.bah.elexnet.s
    erver.to.MethodUserTO
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType.java:15: par
    ameters is already defined in unArchiveUser(com.bah.elexnet.methods.UnArchiveUse
    r,com.bah.elexnet.methods.holders.UnArchiveUserResponseHolder)
    [clientgen] public void unArchiveUser(com.bah.elexnet.methods.UnArchiveUser pa
    rameters, com.bah.elexnet.methods.holders.UnArchiveUserResponseHolder parameters
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType.java:21: par
    ameters is already defined in editUserRoles(com.bah.elexnet.methods.EditUserRole
    s,com.bah.elexnet.methods.holders.EditUserRolesResponseHolder)
    [clientgen] public void editUserRoles(com.bah.elexnet.methods.EditUserRoles pa
    rameters, com.bah.elexnet.methods.holders.EditUserRolesResponseHolder parameters
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType.java:27: par
    ameters is already defined in getUsers(com.bah.elexnet.methods.GetUsers,com.bah.
    elexnet.methods.holders.GetUsersResponseHolder)
    [clientgen] public void getUsers(com.bah.elexnet.methods.GetUsers parameters,
    com.bah.elexnet.methods.holders.GetUsersResponseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType.java:33: par
    ameters is already defined in addUserRoles(com.bah.elexnet.methods.AddUserRoles,
    com.bah.elexnet.methods.holders.AddUserRolesResponseHolder)
    [clientgen] public void addUserRoles(com.bah.elexnet.methods.AddUserRoles para
    meters, com.bah.elexnet.methods.holders.AddUserRolesResponseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType.java:39: par
    ameters is already defined in archiveUser(com.bah.elexnet.methods.ArchiveUser,co
    m.bah.elexnet.methods.holders.ArchiveUserResponseHolder)
    [clientgen] public void archiveUser(com.bah.elexnet.methods.ArchiveUser parame
    ters, com.bah.elexnet.methods.holders.ArchiveUserResponseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType.java:45: par
    ameters is already defined in changeSystemPassword(com.bah.elexnet.methods.Chang
    eSystemPassword,com.bah.elexnet.methods.holders.ChangeSystemPasswordResponseHold
    er)
    [clientgen] public void changeSystemPassword(com.bah.elexnet.methods.ChangeSys
    temPassword parameters, com.bah.elexnet.methods.holders.ChangeSystemPasswordResp
    onseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType.java:51: par
    ameters is already defined in deleteUser(com.bah.elexnet.methods.DeleteUser,com.
    bah.elexnet.methods.holders.DeleteUserResponseHolder)
    [clientgen] public void deleteUser(com.bah.elexnet.methods.DeleteUser paramete
    rs, com.bah.elexnet.methods.holders.DeleteUserResponseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType.java:57: par
    ameters is already defined in getUserRoles(com.bah.elexnet.methods.GetUserRoles,
    com.bah.elexnet.methods.holders.GetUserRolesResponseHolder)
    [clientgen] public void getUserRoles(com.bah.elexnet.methods.GetUserRoles para
    meters, com.bah.elexnet.methods.holders.GetUserRolesResponseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType_Stub.java:20
    : parameters is already defined in unArchiveUser(com.bah.elexnet.methods.UnArchi
    veUser,com.bah.elexnet.methods.holders.UnArchiveUserResponseHolder)
    [clientgen] public void unArchiveUser(com.bah.elexnet.methods.UnArchiveUser pa
    rameters, com.bah.elexnet.methods.holders.UnArchiveUserResponseHolder parameters
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType_Stub.java:39
    : parameters is already defined in editUserRoles(com.bah.elexnet.methods.EditUse
    rRoles,com.bah.elexnet.methods.holders.EditUserRolesResponseHolder)
    [clientgen] public void editUserRoles(com.bah.elexnet.methods.EditUserRoles pa
    rameters, com.bah.elexnet.methods.holders.EditUserRolesResponseHolder parameters
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType_Stub.java:58
    : parameters is already defined in getUsers(com.bah.elexnet.methods.GetUsers,com
    .bah.elexnet.methods.holders.GetUsersResponseHolder)
    [clientgen] public void getUsers(com.bah.elexnet.methods.GetUsers parameters,
    com.bah.elexnet.methods.holders.GetUsersResponseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType_Stub.java:77
    : parameters is already defined in addUserRoles(com.bah.elexnet.methods.AddUserR
    oles,com.bah.elexnet.methods.holders.AddUserRolesResponseHolder)
    [clientgen] public void addUserRoles(com.bah.elexnet.methods.AddUserRoles para
    meters, com.bah.elexnet.methods.holders.AddUserRolesResponseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType_Stub.java:96
    : parameters is already defined in archiveUser(com.bah.elexnet.methods.ArchiveUs
    er,com.bah.elexnet.methods.holders.ArchiveUserResponseHolder)
    [clientgen] public void archiveUser(com.bah.elexnet.methods.ArchiveUser parame
    ters, com.bah.elexnet.methods.holders.ArchiveUserResponseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType_Stub.java:11
    5: parameters is already defined in changeSystemPassword(com.bah.elexnet.methods
    .ChangeSystemPassword,com.bah.elexnet.methods.holders.ChangeSystemPasswordRespon
    seHolder)
    [clientgen] public void changeSystemPassword(com.bah.elexnet.methods.ChangeSys
    temPassword parameters, com.bah.elexnet.methods.holders.ChangeSystemPasswordResp
    onseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType_Stub.java:13
    4: parameters is already defined in deleteUser(com.bah.elexnet.methods.DeleteUse
    r,com.bah.elexnet.methods.holders.DeleteUserResponseHolder)
    [clientgen] public void deleteUser(com.bah.elexnet.methods.DeleteUser paramete
    rs, com.bah.elexnet.methods.holders.DeleteUserResponseHolder parameters)
    [clientgen]
    ^
    [clientgen] C:\Documents and Settings\525328.ROCKIT\Local Settings\Temp\test.jar
    198043065\com\bah\elexnet\methods\client\accesscontrol\MACSPortType_Stub.java:15
    3: parameters is already defined in getUserRoles(com.bah.elexnet.methods.GetUser
    Roles,com.bah.elexnet.methods.holders.GetUserRolesResponseHolder)
    [clientgen] public void getUserRoles(com.bah.elexnet.methods.GetUserRoles para
    meters, com.bah.elexnet.methods.holders.GetUserRolesResponseHolder parameters)
    [clientgen]
    ^
    [clientgen] 16 errors
    [clientgen] java.io.IOException: Compiler failed executable.exec
    [clientgen] at weblogic.utils.compiler.CompilerInvoker.compileMaybeExit(Comp
    ilerInvoker.java:470)
    [clientgen] at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvok
    er.java:328)
    [clientgen] at weblogic.utils.compiler.CompilerInvoker.compile(CompilerInvok
    er.java:336)
    [clientgen] at weblogic.webservice.tools.build.internal.CompilerHelper.compi
    leFiles(CompilerHelper.java:80)
    [clientgen] at weblogic.webservice.tools.build.internal.ClientGenImpl.compil
    eStubs(ClientGenImpl.java:627)
    [clientgen] at weblogic.webservice.tools.build.internal.ClientGenImpl.genera
    teStub(ClientGenImpl.java:572)
    [clientgen] at weblogic.webservice.tools.build.internal.ClientGenImpl.doClie
    ntGenFromWsdl(ClientGenImpl.java:409)
    [clientgen] at weblogic.webservice.tools.build.internal.ClientGenImpl.run(Cl
    ientGenImpl.java:340)
    [clientgen] at weblogic.ant.taskdefs.webservices.clientgen.ClientGenTask.doC
    lientGen(ClientGenTask.java:351)
    [clientgen] at weblogic.ant.taskdefs.webservices.clientgen.ClientGenTask.exe
    cute(ClientGenTask.java:208)
    [clientgen] at org.apache.tools.ant.Task.perform(Task.java:341)
    [clientgen] at org.apache.tools.ant.Target.execute(Target.java:309)
    [clientgen] at org.apache.tools.ant.Target.performTasks(Target.java:336)
    [clientgen] at org.apache.tools.ant.Project.executeTarget(Project.java:1339)
    [clientgen] at org.apache.tools.ant.Project.executeTargets(Project.java:1255
    [clientgen] at org.apache.tools.ant.Main.runBuild(Main.java:609)
    [clientgen] at org.apache.tools.ant.Main.start(Main.java:196)
    [clientgen] at org.apache.tools.ant.Main.main(Main.java:235)
    BUILD FAILED
    file:C:/Projects/OtherProjects/WL/soaws/build/build.xml:122: weblogic.webservice
    .tools.build.WSBuildException: Compiler failed executable.exec - with nested exc
    eption:
    [java.io.IOException: Compiler failed executable.exec]

    did you get a solution for this issue. I am trying to generate a stub to connect to a webservice i created by exposing my stateless session EJB as a web service, using annotations. I want to create a client stub using the clientgen from weblogic 81. I am unable to do this, do you have any solution to this.

  • Not able to generate Service control from WSDL in Weblogic Workshop9.2

    Hi All,
    I am not able to create Service control from my WSDL in Weblogic workshop9.2. It was working fine in Weblogic 8.1.
    I am getting the following error. Please help me out.
    Types analysis failed for both JAX-RPC and XmlBeans.
    BEGIN JAX-RPC CAUSE
    com.bea.control.servicecontrol.internal.validation.BindingsCheckException: Failed to generate the JSService with the endpoint builder
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.setupJsService(BindingsClassNameReference.java:573)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.loadJsService(BindingsClassNameReference.java:321)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.getJsService(BindingsClassNameReference.java:362)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.loadTypeNamesForService(BindingsClassNameReference.java:398)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.getTypeNamesForService(BindingsClassNameReference.java:383)
    at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.getComplexTypeNamesForService(BindingsCheckUtility.java:210)
    at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.getComplexTypeBindingTypeInfoForService(BindingsCheckUtility.java:131)
    at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.getComplexTypeBindingInfoForServiceByBindingsDataSourceType(BindingsCheckUtility.java:104)
    at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.initializeTypesForTheService(BindingsCheckUtility.java:273)
    at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.findMatchingBindingsDataSources(BindingsCheckUtility.java:434)
    at com.bea.wlw.controls.service.ui.util.BindingsChecker.<init>(BindingsChecker.java:55)
    at com.bea.wlw.controls.service.ui.wizards.SelectSCInfoPage.checkForCompatibleBindings(SelectSCInfoPage.java:304)
    at com.bea.wlw.controls.service.ui.wizards.SelectSCInfoPage.<init>(SelectSCInfoPage.java:98)
    at com.bea.wlw.controls.service.ui.GenerateSCWizard.getPageList(GenerateSCWizard.java:150)
    at com.bea.wlw.controls.service.ui.GenerateSCWizard.addPages(GenerateSCWizard.java:136)
    at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:499)
    at org.eclipse.jface.window.Window.create(Window.java:418)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:996)
    at org.eclipse.jface.window.Window.open(Window.java:776)
    at com.bea.wlw.controls.service.ui.actions.NewSCGenAction.run(NewSCGenAction.java:101)
    at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:246)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:538)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
    at org.eclipse.core.launcher.Main.run(Main.java:973)
    at org.eclipse.core.launcher.Main.main(Main.java:948)
    Caused by: java.lang.IllegalArgumentException: unable to find java type for t=String@http://www.w3.org/2001/XMLSchema
    at weblogic.wsee.bind.buildtime.internal.TylarBuildtimeBindings.getClassFromXmlType(TylarBuildtimeBindings.java:693)
    at weblogic.wsee.bind.buildtime.internal.TylarBuildtimeBindings.getClassFromSchemaType(TylarBuildtimeBindings.java:182)
    at weblogic.wsee.tools.source.EndpointBuilder.getJavaClassName(EndpointBuilder.java:735)
    at weblogic.wsee.tools.source.EndpointBuilder.addPart(EndpointBuilder.java:664)
    at weblogic.wsee.tools.source.EndpointBuilder.createParams(EndpointBuilder.java:591)
    at weblogic.wsee.tools.source.EndpointBuilder.addMethod(EndpointBuilder.java:521)
    at weblogic.wsee.tools.source.EndpointBuilder.buildEndpoint(EndpointBuilder.java:475)
    at weblogic.wsee.tools.source.EndpointBuilder.buildJsService(EndpointBuilder.java:252)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.setupJsService(BindingsClassNameReference.java:549)
    ... 43 more
    END JAX-RPC CAUSE
    BEGIN XMLBEANS CAUSE
    com.bea.control.servicecontrol.internal.validation.BindingsCheckException: Could not create buildtime bindings with ClientGenUtil
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.loadBuildtimeBindings(BindingsClassNameReference.java:242)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.getBindings(BindingsClassNameReference.java:161)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.loadJsService(BindingsClassNameReference.java:307)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.getJsService(BindingsClassNameReference.java:362)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.loadTypeNamesForService(BindingsClassNameReference.java:398)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.getTypeNamesForService(BindingsClassNameReference.java:383)
    at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.getComplexTypeNamesForService(BindingsCheckUtility.java:210)
    at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.getComplexTypeBindingTypeInfoForService(BindingsCheckUtility.java:131)
    at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.getComplexTypeBindingInfoForServiceByBindingsDataSourceType(BindingsCheckUtility.java:104)
    at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.initializeTypesForTheService(BindingsCheckUtility.java:253)
    at com.bea.control.servicecontrol.internal.validation.BindingsCheckUtility.findMatchingBindingsDataSources(BindingsCheckUtility.java:434)
    at com.bea.wlw.controls.service.ui.util.BindingsChecker.<init>(BindingsChecker.java:55)
    at com.bea.wlw.controls.service.ui.wizards.SelectSCInfoPage.checkForCompatibleBindings(SelectSCInfoPage.java:304)
    at com.bea.wlw.controls.service.ui.wizards.SelectSCInfoPage.<init>(SelectSCInfoPage.java:98)
    at com.bea.wlw.controls.service.ui.GenerateSCWizard.getPageList(GenerateSCWizard.java:150)
    at com.bea.wlw.controls.service.ui.GenerateSCWizard.addPages(GenerateSCWizard.java:136)
    at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:499)
    at org.eclipse.jface.window.Window.create(Window.java:418)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:996)
    at org.eclipse.jface.window.Window.open(Window.java:776)
    at com.bea.wlw.controls.service.ui.actions.NewSCGenAction.run(NewSCGenAction.java:101)
    at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:246)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:538)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:843)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3125)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2758)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1699)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:367)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143)
    at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:103)
    at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
    at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
    at org.eclipse.core.launcher.Main.run(Main.java:973)
    at org.eclipse.core.launcher.Main.main(Main.java:948)
    Caused by: weblogic.wsee.tools.WsBuildException: com.bea.xml.XmlException: Exception while compiling org apache xmlbeans: C:\R4WorkSpace\TestEWS\src\controls\EWSDeal.wsdl:0: error: src-resolve: type 'Array@http://schemas.xmlsoap.org/soap/encoding/' not found.
    at weblogic.wsee.tools.clientgen.ClientGenUtil.createBuildtimeBindings(ClientGenUtil.java:217)
    at weblogic.wsee.tools.clientgen.ClientGenUtil.createBuildtimeBindings(ClientGenUtil.java:174)
    at com.bea.control.servicecontrol.internal.validation.BindingsClassNameReference.loadBuildtimeBindings(BindingsClassNameReference.java:228)
    ... 44 more
    Caused by: com.bea.xml.XmlException: Exception while compiling org apache xmlbeans: C:\R4WorkSpace\TestEWS\src\controls\EWSDeal.wsdl:0: error: src-resolve: type 'Array@http://schemas.xmlsoap.org/soap/encoding/' not found.
    at weblogic.wsee.bind.buildtime.internal.XmlBeansApacheBindingsBuilderImpl.createBuildtimeBindings(XmlBeansApacheBindingsBuilderImpl.java:262)
    at weblogic.wsee.bind.buildtime.internal.XmlBeansBaseBindingsBuilderImpl.createBuildtimeBindings(XmlBeansBaseBindingsBuilderImpl.java:119)
    at weblogic.wsee.tools.source.EndpointBuilder.setupBindingProviderWithServices(EndpointBuilder.java:836)
    at weblogic.wsee.tools.clientgen.ClientGenUtil.createBindingProvider(ClientGenUtil.java:458)
    at weblogic.wsee.tools.clientgen.ClientGenUtil.createBuildtimeBindings(ClientGenUtil.java:211)
    ... 46 more
    Caused by: org.apache.xmlbeans.XmlException: C:\R4WorkSpace\TestEWS\src\controls\EWSDeal.wsdl:0: error: src-resolve: type 'Array@http://schemas.xmlsoap.org/soap/encoding/' not found.
    at weblogic.wsee.bind.buildtime.internal.XmlBeansApacheBindingsBuilderImpl.compileXmlBeans(XmlBeansApacheBindingsBuilderImpl.java:361)
    at weblogic.wsee.bind.buildtime.internal.XmlBeansApacheBindingsBuilderImpl.createBuildtimeBindings(XmlBeansApacheBindingsBuilderImpl.java:257)
    ... 50 more
    END XMLBEANS CAUSE

    Hi
    I have not seen the wsdl yet but your xmlbean types generation looks familiar.
    This is one reason why you could get the error with the xmlbeans type.
    error: src-resolve: type 'Array@http://schemas.xmlsoap.org/soap/encoding/' not found.
    Workaround: To allow the XmlBeans to be built from this type of WSDL correctly, add the schemaLocation attribute. For example, if the original WSDL had an import such as:
    <s:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
    It should be changed to the following:
    <s:import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/"/>
    After this change you should not see the error.
    Vimala-

  • How to create Web Service based on PI WSDL message

    Hi all,
    we have following scenario:
    Within PI (version 7.1) we set up a message type and inbound service interface. This service interface should send the PI message to a web service running on a SAP J2EE (version 7.01). As the PI message is sent as WSDL I thought it should be easy to build a web service on the SAP J2EE based on this WSDL from PI.
    Unfortunately, I have problems creating the Web Service.
    For my current project we integrated the NWDI to the SAP NetWeaver Developer Studio and I'm required to add the Web Service to an existing DC (Development Component) within the NWDI.
    What I tried so far is:
    - I created a Deployable Proxy Project and within this I created a Client Proxy Definition based on the WSDL from the PI. But I can't add this Proxy to the DCs of the NWDI and I don't know how to implement my own coding here in order execute specific functions.
    - I created a new class within the NWDI DC and a public method. Based on this I created a Virtual Interface and a Web Service Definition (WSD). Then I added this to a Web Service Deployment Descriptor. I uploaded this to the SAP J2EE. But I'm not able to access this and I don't know hoe to assign the WSDL here.
    I also tried here to create a client proxy based on this WSD as I thought I might assign the WSDL here. But I don't see the WSD in the list of Web Services uploaded to the SAP J2EE...
    Can you please advice me how to create a Web Service in such an environment?
    regards
    René Jurmann

    Hi Tahir,
    sorry that you needed to wait this long - but this is how I created the web service:
    The steps on how to create the web service in NetWeaver Developer studio are nearly the same as described in the blog http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/5838. [original link is broken] [original link is broken] [original link is broken]
    Some steps I just skipped and some others I added. Some of the steps I did the way I described it as I needed to connect the web service with the SAP PI.
    Prerequisites:
    Add Java Perspective and J2EE Development Perspective to the open perspectives.
    Within "Window - Preferences - Web Services" check "Soap extensions visible in the virtual interface editor"
    The SDM of the corresponding SAP J2EE is configured within "Window - Preferences"
    Create a Development Component (DC) with type "J2EE -> EJB Module"
    The business logic of the web service will be implemented in an Enterprise Java Bean (EJB). So first the EJB component must be created:
         Choose "File -> New -> Other"
         In opening PopUp choose "Development Component -> Development Component Project"
         Select the Software Component for which you want to add the DC (e.g. "Local Development -> MyComponents")
         Choose now vendor, name and type:
              vendor is an alpha-numeric string of 20 characters starting with a letter - all in lower case
              name is an alpha-numeric string starting with a letter - all in lower case
              vendor and name concatenated must not be longer then 40 characters
              the name can be separated into different part using "/" as separator
              each part of the name must not be longer than 8 characters
              the type is "J2EE - EJB Module"
              you can specify a Caption as general description for the web service
    Create new EJB
    To create the EJB itself:
         In J2EE DC Explorer of J2EE Development Perspective expand new DC and right-click on folder "ejbModule"
         Choose "New - EJB" with following details:
              EJB Name: <name as for PI service Interface to be created - starting in upper case>
              EJB Project: <pre selected>
              Bean Type: Stateless Session Bean
              Default EJB Package: <corresponds to namespace in PI>
              generate default interfaces: Checked
    Regarding the "Default EJB Package" this should be created according the namespace in PI for which all PI objects will be created. This only applies if you have some naming conventions here.
    Example:
    Namespace in PI is:  http://company.net/pi/SOFTWARE_COMP/Application
    The corresponding package then is: net.company.pi.software_comp.application
    Implement coding for web service
    As the web service will be called via PI some transfer variables will be submitted. Most likely, those variables will not be standard type (e.g. String) but a complex type. Those types must be generated as Java classes. Below an example of a complex type I needed:
    Data Type
    net.company.pi.software_comp.application.types.MessageProcessingInformation
    Structure:
         Element name          Element type
         sendingSystemID          String
         interfaceID               String
         businessProcessVariantCode     String
         testIndicator               Boolean
    For every element described a public "get", "set" and "has" method must be created in the corresponding Java class:
    package net.company.pi.software_comp.application.types;
    import java.io.Serializable;
    public class MessageProcessingInformation implements Serializable {
         protected String sendingSystemID;
         protected String interfaceID;
         protected String businessProcessVariantCode;
         protected Boolean testIndicator;
         public String getSendingSystemID() {
              return sendingSystemID;
         public void setSendingSystemID(String value) {
              this.sendingSystemID = value;
         public boolean hasSendingSystemID() {
              if(sendingSystemID != null && !sendingSystemID.equals("")){
                   return true;
              return false;
    All Java classes representing complex types and all classes referenced here (used for sub-types) must implement java.io.Serializable. Java standard types which do not implement this class must not be used as sub-types.
    As soon as all data types are declared the real business logic can be implemented:
         In J2EE DC Explorer of J2EE Development Perspective expand DC - "ejb-jar.xml" - <Name> and double click on "ejbCreate"
         In detail view select folder "Business Methods" and click "Add"
         choose name of business method - this should be the same as the PI message type used for the service interface - starting lower case
         return type should be "void"
         add needed parameters fully qualified - including package (as specified in PI and created previously in DC)
         you can mark certain parameters as array if necessary
    Remark:
    It might be that after saving you get an error. This might be as the package name of one component is copied to the corresponding Java class at the very beginning (before the package declaration within the Java class). Simply delete the string here.
    It also might be, that the new business method is only defined in the remote interface class but not in the bean class. Just create an according method in the bean class.
    Within the newly created business method within the bean class you can now implement the business logic.
    Create a DC with type "J2EE -> Enterprise Application"
    In order to create the "real" web service and deploy it to the J2EE an Enterprise Application project has to be created. So create a new DC as for the EJB Module but choose as type "J2EE -> Enterprise Application".
    After the DC is created right click on the EJB DC and choose "Add to EAR Project". Choose the new DC.
    Create web service for EJB
    As soon as you implemented the business logic you can create the "real" web service. Therefore:
         Right click on the EJB name below "ejb-jar.xml"
         Choose "New - Web Service"
         Choose proper "Web Service Name" and "Configuration Name" (probably oriented at the EJB name)
         Copy the URL of the web service - you'll need it later for PI configuration
         on the second next screen use the same name for "Virtual Interface" and "Web Service Definition" (the name should be the name of the "Endpoint")
         the "EAR Project" should be preselected
    Unfortunately, the web service can't be used in its current configuration to be accessed by PI. Therefore the Virtual Interface must be changed. To do so, expand folder "Virtual Interfaces" and double click the virtual interface created.
    Within the detail view expand in tabs "Mapping" and "Types" the complete folder structure. For any "SOAP Extension" where a namespace can be defined use as namespace the corresponding namespace in PI (e.g. http://corpintra.net/pi/CBFC_GLOBAL_SAP_APPL/BillerDirect) but do not change any "Soap Extension" of a standard Java type. (if you don't have any naming convetions for namespaces in PI you can leave the SOAP Extension here. But then the namespace in PI should be set accordingly.)
    Probably it can be necessary on top level "Soap Extensions" in tab "Mapping" to leave "Use Namespaces for Parameters" unchecked. For some of my web services this parameter must be checked for others not - just try.
    If you can define a "New Name", "Local Name" or "Item Label" for a Soap Extension then use a name with starting upper case letter. (For Java Naming conventions most of the data type names will start with lower case letters.) Especially the method name must be renamed this way in order to stick to the PI namings.
    As a last point to change here check in tab "Mapping" all "Incoming Parameters" which you specified as array. Use for those as "New Name" a different name - do not just simply change from lower case to upper case. This is necessary as on PI we need to create two levels although here only one is specified.
    For any own sub-type declared as array the name within the coding should also differ from the corresponding Java Class name the type refers to.
    If all this is done you can deploy the web service to the J2EE:
         right click on "Enterprise Application" DC and choose "Development Component - Build..." and build all corresponding components
         right click on "Enterprise Application" DC and choose "Development Component - Deploy"
    Test the new web service via <J2EE URL>/wsnavigator/enterwsdl.html
    Create PI interface
    After the web service is created successfully the PI integration can be started.
    Therefore, within the Enterprise Services Builder create a data type according to the web service definition. All components defined on top-level for this data type should be declared as incoming parameter for the web service business method. Therefore it could be necessary to create some sub data types on PI first and add those to the "master" data type.
    Ensure that the names of the components correspond to the names defined in the web service (see virtual interface here). Those names must exactly be the same - including lower/upper case. Also take care for the ordering of the components.
    In case you need to include arrays following applies:
    The upper level is of occurrence "1:1". This has only one sub-entry with occurrence "1:n". The names for upper and sub-level must not equal.
    Based on the data type a message type is created. The name of the message type must be exactly the same as the name of the web service business method. (Hint: the name of the web service business method was most likely changed in the virtual interface. Then this name must correspond to the message type name.) Based on the message type an asynchronous inbound interface is to be created (which will be referred in the Integration Directory). The operation name for this interface (left panel) should be the same as the name for the web service business method.
    Create PI mappings and routings
    How to map (message mapping and operation mapping) from source to the web service message I wont explain here as this depends on the source message. The only important things here are:
         When creating the SOAP communication channel within the Integration Builder the "Target URL" is:
              <J2EE URL>/<Access URL as specified in web service creation>?wsdl&style=document
         The soap action is the name of the web service business method.
         Most likely the web service needs authentication to be executed.

  • How to put data into a array element in the BPEL

    Hi,
    I have a element in the WSDL which is of type Array. (i.e accepts unlimited data for the same element). How should i put a data into a array in the BPEL.
    Example:
    The below Example gives u an idea about wht iam asking:pasting a piece of my requirement:
    <s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfCSParameters" />
    <s:complexType name="ArrayOfCSParameters">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="unbounded"
    name="CSParameters" nillable="true" type="tns:CSParameters" />
    </s:sequence>
    </s:complexType>
    <s:complexType name="CSParameters">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="RevenueItem" type="tns:RevenueItem" />
    <s:element minOccurs="0" maxOccurs="1" name="AccountURIs" type="tns:ArrayOfString" />
    <s:element minOccurs="0" maxOccurs="1" name="GroupURIs" type="tns:ArrayOfString" />
    <s:element minOccurs="1" maxOccurs="1" name="Percentage" nillable="true" type="s:decimal" />
    </s:sequence>
    <s:attribute name="Version" type="s:decimal" use="required" />
    <s:attribute name="URI" type="s:string" />
    </s:complexType>
    Any suggestion is appreciated.
    Regards
    pavan

    You have 2 options i guess.
    Use the transformation and the for-each to construct the array-list
    or like Richard said, use a loop in bpel, assign in the loop an variable of element type="CSParameters" and append this variable to your variable with accepts the arraylist.

Maybe you are looking for

  • SAP PI 7.4 SOAP - ABAP Proxy Synchronous Webservice

    Hi Everyone, I am developing the following scenario: 3rd party makes a SOAP call to SAP (via PI) to determine whether a vendor exists or not in the SAP system. The link for the call is provided by us from the Integrated Configuration. The request com

  • How to trace an application which is not in the current directory?

    Hi, When I use simple example 'Trace' to trace my application in current directory, it works well. But I cannot trace the applications which are in different directory or in an .jar file. Even I've already add it to the classpath. The following is my

  • How to edit the text in the attachment list in MM02 through Program

    Hi,         I want to update the attachment list for the material. i.e, MM02 - > Services for object - > attachment list - > "I have 2 items". For the the first item, there will be some text is availble. Now my requirement is to update the text. For

  • HELP PLEASE!! Acrobat will not recognise my csv file for a script

    Hi, I have this script which is below which I need to split a 300 page document which I need to split into 50 documents and name them with a csv file provided. I have the excel spreadsheet with column headed "filename" with 50 file names. When I sele

  • Pricing Conditions report

    Is there any standard report which for a specific pricing group and material would show me the pricing group, material, standard price PR00 and all the conditions applicable to it. I can't seem to find such a report or would this require customizatio