WSDL vs SOAP

Hello!
I would like to have the differences between SOAP and WSDL explained to me.
What are the advantages and disadvantages?
Are SOAP used for the same purpose as WSDL or are the different kind of documents.
I know thet WSDL i.e. can be used for method calls. Can i do that with SOAP also?
What kind of data do i send wit SOAP?
I have used XML, XSLT, XPath and XML-schemas before but i am new to SOAP and WSDL.
Thank you!

http://www.w3schools.com/soap/default.asp
http://www.w3schools.com/wsdl/default.asp

Similar Messages

  • WSDL without SOAP Action (BTS.Operation?)

    Hi
    I got a WSDL without SOAP Action specified. I'm able to generate XSDs, set up a send port and  call an operation. Since I was calling a single web operation then I set up my Action at send port WCF config to be
    http://localhost/CarService/updateLocation, i.e. [service URL]/[operation name].
    My problem now is that I need to call two separate operations from that web service by using BTS.Operation property; one is still
    updateLocation and the other one is removeLocation. How can I specify Action in send port WCF config when SOAP Action is missing in WSDL? I tried specifying different values but none of them were successful.
    Ex.
    <BtsActionMapping>
       <Operation Name="updateLocation" Action=""/>
       <Operation Name="removeLocation" Action=""/>
    </BtsActionMapping>
    Kind regards
    A.H.

    Hi,
    How are going to call these web-methods. Are your going to call these two methods from the same Orchestration. Or are you going to call these methods from two different send ports by content-based routing (send port filter).
    In BizTalk, this instruction (SOAP Action) is set by assigning a value to WCF.Action context property. You can specify WCF.Action property in two ways:
    Single Action Format
    Action Mapping Format
    The way you have been calling before "http://localhost/CarService/updateLocation" is called Single Action Format. Now you have use the Action mapping format.
    In Action mapping format, you map the WCF.Action context is “mapped”/resolved from another context property BTS.Operation. So if you call from the Orchestration, set the BTS.Operation approirately to resolve the URL in the config. i.e if you have config
    like this:
    <BtsActionMapping>
    <Operation Name="updateLocation" Action="http://localhost/CarService/updateLocation"/>
    <Operation Name="removeLocation" Action="http://localhost/CarService/removeLocation"/>
    </BtsActionMapping>
    In your orchestration, if you set the WCF.Action to "removeLocation", WCF.Action would be resolved to "http://localhost/CarService/removeLocation". In orchestration, you set the
    WCF.Action  context, by setting the logical send port's operation name. Refer to this article for more info:http://www.fortuvis.com/blog/biztalk-and-wcf-soap-action/
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful.

  • How to use given WSDL into SOAP Receiver Adapter.

    Hi all,
    http://www.webservicex.net/ValidateEmail.asmx?WSDL
    I want to use this above given WSDL into SOAP Receiver Adapter.
    Can I directly use this link into SOAP Receiver adapter.
    Or first I need to register or deploy it somewhere in PI ( Services).
    If Yesu2026 Kindly show/Provide me the way..
    Regards
    Prabhu.

    Thanks to all,
    i will now try to make the complete end to end scenario.
    thanks for now.
    I hope above given information would be enough to make end to end webservice scenario.
    for now, i i am closing this thread.
    if i will find any more further problems in this ... i will come up with new thread.
    Thanks all,
    Prabhu
    I have assigned 2 Points to AMIT , abishek
    Edited by: Prabhathcl on Jun 9, 2010 8:39 AM
    Edited by: Prabhathcl on Jun 9, 2010 8:39 AM
    Edited by: Prabhathcl on Jun 9, 2010 8:40 AM

  • WSDL TO SOAP Request

    I Need to dynamically generate a SOAP request from the WSDL file.
    What should be my approach , is there any API which could help me in theis WSDL to SOAP conversion ?

    HI,
    WSDL to SOAPThere are tools like SoapUI and Altova's tools that generate sample SOAP requests for operations defined in a WSDL and I am looking to do similar thing.
    Same thing Discuss in another Forums
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=51&t=004863Some Related Links
    WSDL to SOAP
    http://www.iona.com/solutions/opensource/prodsol/cxf.htm
    Apache CXF 2.0
    http://incubator.apache.org/projects/cxf.htmlMessage was edited by:
    drvijayy2k2
    *********Duck**********

  • OTN Live Web Services problem, mismatched WSDLs and Soap RPC reply

    I've tried to connect to all those OTN Live Web Services using webMethods and found there might be a mismatched WSDLs and Soap RPC problem in Oracle side. There is a discussion thread of this: http://www.wmusers.com/wmusers/messages/116/904.shtml
    Is there anyone out there encounters the same problem and agree that Oracle should fix this ? Thanks a lot in advance.

    Hi Mike,
    I've just downloads all 5 WSDL and tried each single one of them again. The following are the results of the test.
    Result (OK): this is the success case
    Result (0): this is the "OTN Authentication Failure" and I cannot tell if it works if input is correct.
    Result (1): this is the error I've mentioned in the previous message and I'll give you more details later.
    Result (2): this is the "No Serializer found" exception:
    java.lang.IllegalArgumentException: No Serializer found to serialize a
    'org.w3c.dom.Element' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
    -- IOTNMobileWrapperPortType
    getStatusByMsgID (OTN Authentication Failure)
    getStatusesByMsgIDs (1)
    getSupportedTransports (1)
    getVersion (1)
    sendText (1)
    sendTextMsg (1)
    -- OTNDeptEmpPortType
    getDeptInfoArray (OK)
    getDeptInfoXML (2)
    getDeptNoArray (OK)
    getDeptXML (2)
    getEmpInfoArray (OK)
    getEmpInfoXML (2)
    getEmpNoArray (OK)
    getEmpXML (2)
    -- IOTNGUIDGeneratorPortType
    getGUID (1)
    -- IOTNHelloWorldPortType
    getAvailableLanguages (1)
    getDefaultHelloWorld (1)
    getHelloWorld (1)
    -- IOTNNewsPortType
    getRss (1)
    Let me explain what happens in error case (1):
    webMethods construct the "targetOutSignature" for the client base on the WSDL.
    After the reply message retrieved, it tries to "conform" (validate) it against the "targetOutSignature".
    Whenever I get this exception, I can open the exception details and actually see that the reply xml has been received but with the error message of "Output parameters do not conform to targetOutputSignature".
    If I manually remove the "targetOutputSignature" from the generated client, so that webMethods won't try to "conform" the reply message against the one described in the original WSDL, it works perfectly.
    I hope this helps. Please let me know if there is any other information I can provide.
    Thanks.
    - Louis

  • WSDL with SOAP Binding and Attachement

    Hello
    I'm trying to define a WSDL-Definition which defines a operation called getFile() which returns a file as a SOAP attachement. I created the follwing file which I can verify without any problems. However if I try to compile it with wscompile (wscompile -gen:server -mapping build/mapping.xml -d build -nd build -classpath . config.xml) I get the follwing error:
    error: output message of binding operation "getFile" does not have a SOAP body extension
    When I remove the line
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    wscompile generates the classes but gives the following warnings:
    warning: ignoring port "FileDistributorIFPort": not a SOAP port
    warning: Service "FileDistributorService" does not contain any usable ports
    Which is somehow clear because I did not define the soap binding.
    Any ideas what I can do so I can transmit a file via SOAP using attachements?
    Here's the file
    <?xml version="1.0" encoding="UTF-8"?>
    <definitions name="FileDistributorService"
    targetNamespace="urn:Foo"
    xmlns:tns="urn:Foo"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <types>
    <xsd:schema targetNamespace="urn:Foo"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
    <xsd:element name="getFile">
    <xsd:complexType>
    <xsd:all>
    <xsd:element name="mySymbol" type="xsd:string"/>
    </xsd:all>
    </xsd:complexType>
    </xsd:element>
    <xsd:element name="getFileResponse">
    <xsd:complexType>
    <xsd:all>
    <xsd:element name="result" type="float"/>
    </xsd:all>
    </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="ArrayOfBinary">
    <xsd:complexContent>
    <xsd:restriction base="soapenc:Array">
    <xsd:attribute ref="soapenc:arrayType"
    wsdl:arrayType="xsd:binary[]"/>
    </xsd:restriction>
    </xsd:complexContent>
    </xsd:complexType>
    </xsd:schema>
    </types>
    <message name="m1">
    <part name="body" element="tns:getFile"/>
    </message>
    <message name="m2">
    <part name="body" element="tns:getFileResponse"/>
    <part name="file" type="tns:ArrayOfBinary"/>
    </message>
    <portType name="pt1">
    <operation name="getFile">
    <input message="tns:m1"/>
    <output message="tns:m2"/>
    </operation>
    </portType>
    <binding name="b1" type="tns:pt1">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
    <operation name="getFile">
    <soap:operation soapAction="getFile"/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <mime:multipartRelated>
    <mime:part>
    <soap:body parts="body" use="literal"/>
    </mime:part>
    <mime:part>
    <mime:content part="file" type="tns:ArrayOfBinary"/>
    </mime:part>
    </mime:multipartRelated>
    </output>
    </operation>
    </binding>
    <service name="FileDistributorService">
    <port name="FileDistributorIFPort" binding="tns:b1">
    <soap:address location="http://localhost:8080/fxm/FileDistributorImpl"/>
    </port>
    </service>
    </definitions>
    Thanks a lot!
    Oliver

    Not very sure, but i suspect that there is an error here in your WSDL :
    <mime:multipartRelated>
    <mime:part>
    <soap:body parts="body" use="literal"/>
    </mime:part>
    <mime:part>
    <mime:content part="file" type="tns:ArrayOfBinary"/>The type attribute should be a valid Mime Type.
    Quoting from the WSDL Specification
    The type attribute contains the MIME type string. A type value has two portions, separated by a slash (/), either of which may be a wildcard (*). Not specifying the type attribute indicates that all MIME types are acceptable.
    Why not try the following instead of the last line above
    <mime:content part="file" type="*/*"/>

  • RFC(WSDL) to SOAP sync scenario

    Dear all,
    My requirement is there is an RFC from ABAP that has to be exposed as WSDL and send it to some 3rd part sys take response and send it to RFC(abap).
    How can this be achieved in 7.1/7.3,is there any difference .
    I did not on work much on Soap scenario's.
    Pls suggest.
    Thanks

    Since RFC is exposed as WSDL you can import that WSDL int the ESR to include request and response messages. Also create outbound(RFC) interface with the request and response message types. Similary you need to get WSDL for the receiver system. Import the WSDL IN ESR to create request and response message.  Create inbound interface (receiver) using the receiver wsdl req,resp messages. since RFC Is exposed as WSDL, I think you can create soap sender for RFC and soap receiver for the target system synchronous.  You can refer SDN for SOAP sender and receiver scenarios.
    Refer SDN and also refer this [link|http://www.riyaz.net/sap/xipi-a-guide-to-using-sap-xi-soap-adapter/113/]

  • Soap receiver wsdl having soap envelop

    Hello Experts ,
    We are having Proxy to Soap synchronous scenario .In given wsdl , we are having soap header and soap body in soap envelop .In soap header we are having username and password as parameters while in soap body we are having normal fields . Please let me know how we can pass the data to the soap header  because while creating service interface for soap side , we can not add header as well as body in single request tab.
    Kindly let me know how to proceed.
    Regards ,
    Nikhil Save

    Hi Muniyappan ,
    I have followed as per praveen's blog . But now we are getting below error in message monitoring .
    So i added MessageTransformationBean in receiver comm channel as below .
    But now we are getting Object not found in lookup of MessageTranspormationBean error as below.
    Kindly suggest what can be done .
    Regards ,
    Nikhil Save

  • WSDL to SOAP conversion

    Hi,
    I want to consume a WSDL file and convert it into XML or SOAP message without using any tool, but with any code or API usage. Kindly give the solution if you have any?
    Thanks a ton!

    Uh...
    1) WSDL files are XML files
    2) WSDL files are interface definitions. SOAP is a protocol for requests and responses against such interfaces. Different things, no conversion.

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

  • WSDL-first Soap Attachments

    2 questions really:
    1) Is there a way to define soap attachments in a WSDL? How? Can I just use wsdlc then?
    2) Is there a way to access SOAP attachments if the WSDL doesn't describe them? Would I do this via a SOAP handler? Or is there another way?

    Hi,
    can you check the wsdlLocation attribute of the @WebService annotation in your ejb endpoint impl, its name should be same with the wsdl in the EJB-JAR.
    alternatively, you can modify the wsdl name in jar:/META-INF/wsdls/XXX.wsdl to allow it same with the attribute.
    HTH,
    Kevin

  • XFIRE - Java class from wsdl and soap request from java class

    Hi,
    Firstly i'm newbie programmer with little experience, so please help me if u can.
    I have found an example on how to create java classes from WSDL under maven:
    (...)<taskdef classname="org.codehaus.xfire.gen.WsGenTask" name="wsgen">(...)
    I've created the below java class and I create new object of this class: UploadChunk up = new UploadChunk()
    and up.setSomething(123) etc....
    I have some service for which I have to prepare soap request manually - suitable for my service requests.
    I'm doing it using dom4j to create xml documents and i rewrite values to it from my variable up.
    I wonder if it is possible to do it automatically - I have UploadChunk object and I want do use xFire library somehow to produce ready or almost ready soap request. I want to do it in my code, no some ant or maven task.
    So I propably need a couple line of code, when I have:
    up.setSomething(123);
    //////CONVERTION - CAN U TELL ME HOW TO DO THAT PLEASE? I haven't found the way :( it seems I need your help.
    //////Document result =....
    callService(result,namespace,qname);
    import javax.xml.bind.annotation.XmlAccessType;
    import javax.xml.bind.annotation.XmlAccessorType;
    import javax.xml.bind.annotation.XmlElement;
    import javax.xml.bind.annotation.XmlType;
    * <p>Java class for UploadChunk complex type.
    * <p>The following schema fragment specifies the expected content contained within this class.
    * <pre>
    * <complexType name="UploadChunk">
    *   <complexContent>
    *     <restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
    *       <sequence>
    *         <element name="SessionID" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
    *         <element name="InputFileName" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
    *         <element name="Buffer" type="{http://www.w3.org/2001/XMLSchema}base64Binary" minOccurs="0"/>
    *         <element name="Offset" type="{http://www.w3.org/2001/XMLSchema}long"/>
    *         <element name="BytesRead" type="{http://www.w3.org/2001/XMLSchema}int"/>
    *       </sequence>
    *     </restriction>
    *   </complexContent>
    * </complexType>
    * </pre>
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "UploadChunk", propOrder = {
        "sessionID",
        "inputFileName",
        "buffer",
        "offset",
        "bytesRead"
    public class UploadChunk {
        @XmlElement(name = "SessionID")
        protected String sessionID;
        @XmlElement(name = "InputFileName")
        protected String inputFileName;
        @XmlElement(name = "Buffer")
        protected byte[] buffer;
        @XmlElement(name = "Offset")
        protected long offset;
        @XmlElement(name = "BytesRead")
        protected int bytesRead;
         * Gets the value of the sessionID property.
         * @return
         *     possible object is
         *     {@link String }
        public String getSessionID() {
            return sessionID;
         * Sets the value of the sessionID property.
         * @param value
         *     allowed object is
         *     {@link String }
        public void setSessionID(String value) {
            this.sessionID = value;
         * Gets the value of the inputFileName property.
         * @return
         *     possible object is
         *     {@link String }
        public String getInputFileName() {
            return inputFileName;
         * Sets the value of the inputFileName property.
         * @param value
         *     allowed object is
         *     {@link String }
        public void setInputFileName(String value) {
            this.inputFileName = value;
         * Gets the value of the buffer property.
         * @return
         *     possible object is
         *     byte[]
        public byte[] getBuffer() {
            return buffer;
         * Sets the value of the buffer property.
         * @param value
         *     allowed object is
         *     byte[]
        public void setBuffer(byte[] value) {
            this.buffer = ((byte[]) value);
         * Gets the value of the offset property.
        public long getOffset() {
            return offset;
         * Sets the value of the offset property.
        public void setOffset(long value) {
            this.offset = value;
         * Gets the value of the bytesRead property.
        public int getBytesRead() {
            return bytesRead;
         * Sets the value of the bytesRead property.
        public void setBytesRead(int value) {
            this.bytesRead = value;
    }

    Hi,
    Can u Please post the WSDL..here. I remember long back i resolved this kind of issue...when i was getting "*parameters is already defined in - - -*" while using ClientGen.
    Once i will get the WSDL may be i can recall it...
    If u have any problem in Posting the WSDL..in Forums .. then let me know I will send my E-Mail Address...
    As far as i remember ..it usually happens when we Run ClientGen task of WLS81 ON the WebService/WSDL generated by WebLogic 9.x or Above. Please let me know if this is the Case with you as well... . I remember there is a Patch for it...for WLS8 ClientGen task...I dont remember the Patch Number Exactly.
    Just For testing:
    Just Use WLS9.x ClientGen task On the Same WSDL
    <taskdef name="clientgen" classname="weblogic.wsee.tools.anttasks.ClientGenTask" />
    I am sure you will not see this issue... because the issue is there only with WLS8 Clientgen...
    Thanks
    Jay SenSharma
    http://jaysensharma.wordpress.com (WebLogic Wonders Are Here)
    Edited by: Jay SenSharma on Jan 8, 2010 4:32 PM
    Edited by: Jay SenSharma on Jan 8, 2010 4:34 PM

  • Create WSDL from SOAP request, response and endpoint URL

    We have a program that does not create WSDL for us but we do have a SOAP request, response XML file and the endpoint URL as well.
    How can I create WSDL file from these?
    If that is not possible, how can I create a Java web service client (JEE 5.0) when I have only the SOAP request and response XML and the endpoint URL? Some tutorial or any explanation to point me to the right direction would be highly appreciated.
    Thank you very much,
    Genti

    The endpoint is:
    http://servername/appname/service/rpcrouter
    and we have SOAP request and repsonse that we can build from the application but also the documentation that is provided
    The documentation says about the web service:
    Built on top of a pre-Axis version of Apache SOAP
    No WSDL support
    Uses literal encoding for Web Service calls
    Adding WSDL at the end of the endpoint does nothing at this point.
    Thank you for the reply though,

  • Checking WSDL / XML - SOAP

    Hi folks !
    I have created a web-service.xml which i have added some restriction for complex
    datatypes. If i call the standard mechanism from BEA (WLS 7.0) for testing the service,
    the restrictions are not used. I would expect an XML - error if i pass i.e. a wrong
    string wich is not in the enumeration - restriction.
    Does anybody nows more about this ?
    Thank you for your help
    [web-services.xml]

    "manoj cheenath" <[email protected]> wrote:
    >
    Thanks a lot for the detailed email.Thanks a lot for your answer !
    >
    It looks like the codec is trying to set the value on the object,
    M7VvalidateAnimalStruct:
    my_obj.setBuchnummer(((java.lang.Number)setter_arg).intValue());
    and it is not finding "setBuchnummer" method on the java bean.But there is a method "setBuchnnummer". The problem is the parameter "((java.lang.Number)setter_arg).intValue()".
    My bean's private member is "buchnummer" from class Integer. So the interface "setBuchnummer"
    expects an Integer instead of an int. Why the hell will this changed by the generator
    ? Does this mean i should always use the simple datatypes int, long, float,... instead
    of Integer, Long, Float ? I prefer to use classes beause of the null - setting is
    possible.
    >
    I think, the java bean you got at the server side use public field and
    the java bean generated from the wsdl use public get/set methods.
    Generated java bean always use get/set method (an option to generate
    public fields is planed for next release), so to use the codec from the
    client side your server side java bean need to use get/set methods.
    Sorry for the trouble.
    regards,
    -manoj
    "Markus Gasser" <[email protected]> wrote in message
    news:[email protected]...
    Here are the results from the test :
    Failed to invoke service:
    java.lang.NoSuchMethodError java.lang.NoSuchMethodError atm7vinterface.M7VvalidateAnimalStructCodec.typedInvokeSetter(M7VvalidateAnima
    lStructCodec.java:425)
    atm7vinterface.M7VvalidateAnimalStructCodec.invokeSetter(M7VvalidateAnimalStru
    ctCodec.java:319)
    atweblogic.xml.schema.binding.BeanCodecBase.deserialize(BeanCodecBase.java:160
    atweblogic.xml.schema.binding.RuntimeUtils.invoke_deserializer(RuntimeUtils.ja
    va:303)
    atweblogic.xml.schema.binding.RuntimeUtils.invoke_deserializer(RuntimeUtils.ja
    va:262)
    at weblogic.webservice.core.DefaultPart.toJava(DefaultPart.java:249) atweblogic.webservice.tools.pagegen.SampleInstance.getJavaObject(SampleInstanc
    e.java:128)
    atweblogic.webservice.server.servlet.ServletBase.getJavaParams(ServletBase.jav
    a:263)
    atweblogic.webservice.server.servlet.ServletBase.invokeOperation(ServletBase.j
    ava:210)
    at m7vbis.M7VBisSoapServlet.invokeOperation(M7VBisSoapServlet.java:85)at
    weblogic.webservice.server.servlet.ServletBase.handleGet(ServletBase.java:16
    9)
    atweblogic.webservice.server.servlet.ServletBase.doGet(ServletBase.java:111)
    at
    >
    weblogic.webservice.server.servlet.WebServiceServlet.doGet(WebServiceServlet
    ..java:218)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) atjavax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    atweblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
    tStubImpl.java:945)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :332)
    atweblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :242)
    atweblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
    ebAppServletContext.java:5363)
    atweblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
    r.java:721)
    atweblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
    ntext.java:3043)
    atweblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
    :2466)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152) atweblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
    I have attached the WAR-File with the new codecs from client-gen.
    Thank you for your help !

  • PI 7.1 problems publishing a WSDL of a sender soap adapter

    We have upgraded our dev system from XI 3.0 to PI 7.1 and now I'm facing a problem with SOAP adapter. I have searched for answers here for a while but couldnu2019t find them. That why I start an own thread.
    I thought with PI 7.1 it is very easy to publish the WSDL of SOAP adapter respectively a sender agreement. All you have to do is to choose your sender agreement and select the menu item "display WSDL" There you can get the WSDL and a WSDL URL. So it would be possible to deliver this URL to my partners. But while checking this URL respectively the delivered WSDL I've found a problem.
    First of all the the WSDL URL doesn't look really good:
    http://<server>:<port>/dir/wsdl?p=1_1ce2e954fe9632818bfff6c32f370748_portTypeBindingService
    But it works. If I call this URL with a browser or with XML Spy I get the correct WSDL. Any chance to get a better readable URL?
    The next thing is the proposed soap:address location  in the WSDL. It has the following form:
    http://<server>:<port>/XISOAPAdapter/MessageServlet?senderParty=&amp;senderService=MYSERVICE&amp;receiverParty=&amp;receiverService=&amp;interface=MYINTERFACE&amp;interfaceNamespace=MYNAMESPACE"
    If I compare it with the documentation i can see that the URL is completely different.
    http://help.sap.com/saphelp_nwpi71/helpdata/en/43/951aceb1146353e10000000a11466f/frameset.htm
    But again if it works all is fine but it doesn't work at least it doesnt work with XML Spy. The reason is the use of "& a m p ;" instead of only "&".
    If I create a SOAP request with XML Spy an sent it to the XI I get the following error message: " Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;FS=null;TS=null;AN=null;ANS=null;"
    But if I change the SOAP request parameters replacing all the "& a m p ;" with "&" then it works.
    Any chance to manage this? If I provide a WSDL on this way I want that my partners can use this "out of the box"

    Kulwant
    Yes of course I can change that manually but therefore I have to save the WSDL to my local hard disc, change the WSDL and send it to my partner via mail. This is exactly the way I've done this till now. But with PI 7.1 I like to use the new opportunities.
    Bhavesh
    I have also no Service Repository till now. That's the reason why I want to use the way described in my initial post.
    In PI 7.1 you can open the corresponding sender agreement of you SOAP adapter. There you find a menu item "display WSDL". If you choose this you get a window which displays the correct WSDL and an URL where you can find the WSDL too. If you copy this URL to a browser you get the same WSDL too.
    http://help.sap.com/saphelp_nwpi71/helpdata/en/31/daa0404dd52b54e10000000a1550b0/content.htm
    First part of my question is regarding to this URL. The URL has a strange format.
    The second part is regarding to the form of soap:address in this generated WSDL. Here I have problems with the use of this "& a m p ;" string. But I have no influence on it. If I deliver my partners the obove mentioned URL to the WSDL and the WSDL contains this soap:address URL my partner will probably have the same problem like I with my XML Spy.
    Gaurav
    I don't understand you answer. I know the correct soap address but the IB tool generates it with this "& a m p ;" string instead of only "&". Thatu2019s the point. No idea if and how I can handle this.
    But thank you for the note number. Was helpful. The number is in the online documentation too but I've read over it.
    To bad that the online documentation isn't correct regarding to the soap address. But believe me the German version is even worse. There you can find the two soap adapter settings (XI parameter: interface namespace, interface) that are no longer existed in PI 7.1
    Now I will test if a .NET application can handle this soap address correctly.
    Edited by: Gil Ritter on Nov 14, 2008 11:25 AM

Maybe you are looking for