SOAP encoding and Basic Profile 1.0
Hi,
The Basic Profile 1.0 forbids SOAP encoding, yet Bea WebLogic documentation mentions
that RPC-oriented WebLogic Web Service operations use SOAP encoding.
Am I missing something here (since Bea supports the Basic Profile 1.0) ?
thanks
Vasu
Hello,
The WS-I work constrains the various web service specification to a
functional subset that exhibit the greatest degree of interoperability;
certainly there are many other features (quality of service, security,
attachments, etc.) that are provided by WebLogic web services; this does
not negate the fact that BP 1.0 compliance can be easily achieved.
Regards,
Bruce
Vasudev Kumarjiguda wrote:
>
Hi,
The Basic Profile 1.0 forbids SOAP encoding, yet Bea WebLogic documentation mentions
that RPC-oriented WebLogic Web Service operations use SOAP encoding.
Am I missing something here (since Bea supports the Basic Profile 1.0) ?
thanks
Vasu
Similar Messages
-
SOAP Encoding and the real need
I just read the below from the site here-
SOAP encoding has fallen out of favor in the Web services community. It is not supported by the WS-I basic profile. So JAX-WS, as the latest incarnation of Java Web services, has disallowed SOAP encoding. JAX-RPC supports SOAP encoding, so if you really must use SOAP encoded messages, stick with JAX-RPC.
I am new to Web Services and am familiar with DOC/Literal only.
Why will anyone want to create a "new" Web service in Encoded format?
What was the real need SOAPEncoding has served when there is a separate standard named XML Schema?
Just curious to explore-Hello,
The WS-I work constrains the various web service specification to a
functional subset that exhibit the greatest degree of interoperability;
certainly there are many other features (quality of service, security,
attachments, etc.) that are provided by WebLogic web services; this does
not negate the fact that BP 1.0 compliance can be easily achieved.
Regards,
Bruce
Vasudev Kumarjiguda wrote:
>
Hi,
The Basic Profile 1.0 forbids SOAP encoding, yet Bea WebLogic documentation mentions
that RPC-oriented WebLogic Web Service operations use SOAP encoding.
Am I missing something here (since Bea supports the Basic Profile 1.0) ?
thanks
Vasu -
SOAP adapter and WS with rpc/encoded
Hi All,
Does anyone know if and how the SAP XI 3.0 SOAP Adapter supports WebServices which expects XML messages in rpc/encoded.
Cheers,
FRankHi Frank,
I have the same issue and I got a reply from OSS:
This problem is caused by the diversification of the WSDL binding
styles.
A Web service is described by a WSDL document. A WSDL binding
describes how the service is bound to a messaging protocol, particularly
the SOAP messaging protocol. A WSDL SOAP binding can be either an RPC
style binding or a document style binding. A SOAP binding can also have
an encoded use or a literal use. This gives us four style/use models:
- RPC/encoded
- RPC/literal
- document/encoded(It will probably disappear from future versions of
WSDL.)
- document/literal
RPC styled web services have serious interoperability problems. This
is the reason that the rpc style is not in the basic profile
specification of the web interoperability and also it has been
deprecated in the current soap specification. For these reason, the
integration directory does not currently support the RPC style! I would
suggest you to use other document style web service provider if possible
. It's the best way to solve this problem. But if you persist in using
this RPC web service provider, we still have a workaround solution:
you need to convert your RPC wsdl to a document styled wsdl and import
it to the directory and if necessary, you need to add some mapping to
solve some RPC interoperability problems.
In your case,
1. The WSDL file you used is RPC style.
2. The XI SOAP adapter doesn't support the RPC style. It only sends the
document/literal SOAP message which can't be understand by your web
service provider.
One of the significant differences between the SOAP message of RPC
style and that of the document style: the operation name is contained in
the RPC style SOAP message but not in the document's.
However, you can't solve this problem by simply specify a method
name. What you should do is convert your RPC wsdl to a document styled
wsdl. RPC turns out to be a subset of document/literal. This
means for any given RPC WSDL, you can create a completely
equivalent document/literal WSDL that would describe the same wire
messages. Here are the steps for doing this (mostly schema element
declarations).
Solution:
For each RPC operation:
1. For each part in the input and output messages of that operation,
declare a type with the contents described in step 2.
2. Declare an element with the name of the part, the type referenced by
type=". The element form must be unqualified.
3. Declare a global element with the operation name and the namespace
from soap:body/@namespace in the binding. Make the type of this element
the one defined in step 1 for the input message.
4. Declare a global element with the operation name and the word
Response appended to it and the namespace from soap:body/@namespace in
the binding. Make the type of this element the one defined in step 1 for
the output message.
5. Change the input message to contain one part and reference the
element you declared in step 3.
6. Change the output message to contain one part and reference the
element you declared in step 4.
7. Change the style to document in the binding.
After that, import the new WSDL file to the integration directory. You
will find the "method name" appears in the document style SOAP message.
But actually it's the name of the input element which is the same as
the name of the operation. It's just a little trick.
Cheers Stefan -
SOAP encoding formats and interoperability
Hi,
Being new to Web Services, I have spend quite a bit of time over the past few
days investigating the technology. Based on several newgroup posts and articles
I have found, it appears that for the best performance and scalability, you should
use SOAP document-style encoding [1]. My question is how do the various encoding
formats affect interoperabiliy? The article referenced below indicates that most
of the .NET tools default to using document-style encoding. Is it safe to say
for the best of all worlds (performance, scalability, and interoperability) you
should develop your Web Services using document-style encoding?
1. http://dev2dev.bea.com/products/wlworkshop/articles/Cohen.jsp
TIA,
KentHi Kent,
Yes, doc/lit is the best approach for interop. Also look for guidance
from the WS-I Basic Profile [1]
Hope this helps,
Bruce
[1]
http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.html
Kent Kvarfordt wrote:
>
Hi,
Being new to Web Services, I have spend quite a bit of time over the past few
days investigating the technology. Based on several newgroup posts and articles
I have found, it appears that for the best performance and scalability, you should
use SOAP document-style encoding [1]. My question is how do the various encoding
formats affect interoperabiliy? The article referenced below indicates that most
of the .NET tools default to using document-style encoding. Is it safe to say
for the best of all worlds (performance, scalability, and interoperability) you
should develop your Web Services using document-style encoding?
1. http://dev2dev.bea.com/products/wlworkshop/articles/Cohen.jsp
TIA,
Kent -
SOAP in XI: message use="encoded" and binding/@style="rpc"
Hi
Hope somebody who is familiar with XIs SOAP implementation could give the answer for my questions. Problem is that the SOAP server is not working but I am afraid that the reasons are not really simple.
In our company we have to provide some SOAP services. I have entered as much as I could in IR ... including a simple scenario. Then imported the scenario to ID and the wizard created a number of agreements and determinations...
As I need to describe the service to external parties, then I used IDs Web Service definition tool to generate the WSDL.
But as the external messaging framework (for us a preprogrammed SOAP client) is fixed, I noticed that there are some differences that might matter.
XI generated WSDL where SOAP binding has
wsdl:binding/soap:binding/@style="document" but I would need it to be "rpc"
And the second thing is that in binding message bodies have attribute @use="literal" but as the messages should have several parts then it should be "encoded" (and encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
also is needed then).
Could somebody explain if these may be the reasons why the soap server does not work. And if there is a way to define soap interface so that it would have above mentioned properties as needed.
A easy question also... I would need for a method to have an empty message... inside soap body there should be just a tag with the message name and no content. But I can not figure out how to create a message type with no datatype.
Thanks for any input!Hi, Stefan
Thanks for the answer. To clear my questions: we want to deploy XI as the SOAP server (sry I have not figured out if it is a sender or receiver channel by name - all this inbound-outbound naming in XI is quite complex). Our SOAP server/XI is actually just one part of a big SOAP network and MAFIA it uses rpc styled SOAP messages.
The note is really useful, but still it does not give any hint how to make a RPC styled SOAP interface. So the problem is still up for me. As I am not very familiar with WSDL bindings and SOAP... for the message it self, is there any difference as for the RPC vs DOCUMENT style is discussed? Is it possible that the physical structure of a SOAP envelope could be the same?
And the second question: is there a way in IR to define several parts for a message. Something like:
<message name="isiku_andmed">
<part name="paring" type="tns:isiku_andmed_paring" />
<part name="keha" type="tns:isiku_andmed_keha" />
</message> -
Security Issues: SSL on SOAP Adapter and Digital Signature in BPM
Hi there,
we're developing a R/3-XI-3rd Party Application scenario, where the XI/3rd Party communication is based on a webservice (SOAP adapter with SSL). Also, the messages in the XI/3rd Party communication must be digitally signed. I've got some questions on both subjects.
1. About the SSL. I've started to investigate what will be necessary to enable the HTTPS option under SOAP Adapter (it's not enabled now). If I'm not correct, all I need to do is:
- check whether the SAP Java Crypto Lib is installed in the Web AS;
- generate the certificate request in the Visual Administrator and, after acquiring the certificate, store it with the KeyStorage option.
Is that right?
I'm considering that I won't need to use SSL in the ABAP Web AS, only the J2EE Java Engine (since the SOAP Adapter is based on J2EE).
2. About the digital signature. As a first solution, we had decided on accessing a webservice based on another machine running a signature application. We'd send the unsigned XML and receive a signed XML. But since that needed to be done into the BPM, I thought that using a piece of Java code in a mapping would suit it better.
But to be able to use the hashing/encrypting/encoding algorithms, which library needs to be installed? Is it the same SAP Java Crypto Lib that was installed for the SSL enabling?
Thanks in advance!Hello Henrique,
1. You're right. For detailed instructions please have a look at the online help: http://help.sap.com/nw04 - Security - Network and Transport Layer Security - Transport Layer Security on the SAP J2EE Engine
2. The SOAP adapter supports security profiles. Please have a look at the online docu http://help.sap.com/nw04 -Process Integration - SAP Exchange Infrastructure - Runtime - Connectivty - Adapters - SOPA Adapter - Configuring the Sender SOAP adapter and from the link under Security Parameters to the Sender Agreement. You'll find some additional information in the following document: http://service.sap.com/~sapdownload/011000358700002767992005E/HowToMLSXI30_02_final.pdf
Rgds.,
Andreas -
Hi Experts,
Could you please provide info on WS-I basic profile for webservice(wsdl)?
Is XI supports the same?
Regards
Sara
Edited by: Sara D on Jan 29, 2008 5:58 AMHi
WSDL 1.1 has broad industry support and is promoted by WS-I Basic Profile 1.0
It is Supported by SAP Web AS 6.20
Specifically, WS-I creates, promotes and supports generic protocols for the interoperable exchange
of messages between Web Services. In this context, generic protocols are protocols that are
independent of any action indicated by a message, other than those actions necessary for its
secure, reliable and efficient delivery, and interoperable means suitable for multiple operating
systems and multiple programming languages.
SOAP 1.1 has broad industry support and is promoted by WS-I Basic
Profile 1.0
Please refer below link .. probably you might have already visted most of below links.....
SAP Announces Support for WS-I Basic Profile 1.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5c8fb890-0201-0010-879e-8996dd496c2c
What Technology Standards Does NetWeaver Support?
/people/kevin.liu/blog/2005/10/10/what-technology-standards-does-netweaver-support
WS-I Basic Profile 1.0 - Why it matters?
/people/kevin.liu/blog/2003/08/14/ws-i-basic-profile-10--why-it-matters
SAP NetWeaver Process Integration - Overview of Supported Standards
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/70b4f0ed-688c-2a10-36bf-a1a9b1a684c9
Thanks
Swarup -
Is it possible to create own soap envolpe and body ?
Hi,
I developed a web service and deployed it on Web Logic server and Glassfish server.
But its soap envelope and soap body is different.
Glassfish Request :
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Header/>
<S:Body>
<ns2:getFunctionXML xmlns:ns2="http://webservices.onwardinfosys.com/">
<functionName>inotification_pkg_ver4.notifications_count</functionName>
<parameters>IOS_USER</parameters>
<appUserName>string</appUserName>
<appUserPass>string</appUserPass>
<deviceCode>string</deviceCode>
</ns2:getFunctionXML>
</S:Body>
</S:Envelope>
Weblogic Request :
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header />
<env:Body>
<getFunctionXML xmlns="http://webservices.onwardinfosys.com/">
<!--Optional:-->
<functionName xmlns="">INOTIFICATION_PKG_VER4.NOTIFICATIONS_COUNT</functionName>
<!--Zero or more repetitions:-->
<parameters xmlns="">IOS_USER</parameters>
<!--Optional:-->
<appUserName xmlns="">string</appUserName>
<!--Optional:-->
<appUserPass xmlns="">string</appUserPass>
<!--Optional:-->
<deviceCode xmlns="">string</deviceCode>
</getFunctionXML>
</env:Body>
</env:Envelope>Is it possible to have only one soap envelope and body even if I am deploying web service to different servers ?
Regards,
Ajay SharmaAjay Sharma wrote:
Is it possible to have only one soap envelope and body even if I am deploying web service to different servers ?Sure, it is just XML and XML is just text; you are free to just generate your own stuff in stead of using the webservices stack provided by your appserver. But you don't want to do that because what you have is just fine. -
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 -
Hi
I am stuck with a connecting to scenarios using SOAP channel. In short there is one business scenario that based on some conditions must start other scenarios (each one built around one business process). I am trying to send asynchronous SOAP message within the same XI and treat it as a External XI system to start another Business Scenario (using XI adapter does not work as the system discovers the message as being in a loop).
Everything would be fine if there would be 1 target scenarios but I have 1:n. For asyncronous transport I have defined different Message Interfaces to be used for on each case. So XI should determine the right business process based on the message interface that uses the communication channel.
So I have configured a SOAP sender and a receiver channel. As I understood from SOAP adapter FAQ I checked "Use Encoded Headers" and "Use Query String" for both - sender and receiver channel. And ofcourse receiver channel is pointed to http://:/XISOAPAdapter/MessageServlet?channel=:{system name}:{receiver channel name} but when I start the initiating scenario the asyncronous message is sent of but nobody is catching it.
In RWB Message monitoring / adapter engine I found the the message receives an exeception:
SOAP: response message contains an error XIServer/UNKNOWN/ModuleUnknownException -
com.sap.aii.af.mp.module.ModuleException: either no channelID
specified or no channel found for the specified party, service, and channel name,
MessageServlet(Version $Id: //tc/aii/30_REL/src/_adapters
/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#15 $) at
com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:427) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl....
runServlet(HttpHandlerImpl.java:401) at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl....
handleRequest(HttpHandlerImpl.java:266) at
com.sap.engine.services.httpserver.server.RequestAnalizer....
startServlet(RequestAnalizer.java:387) at
com.sap.engine.services.httpserver.server.RequestAnalizer....
startServlet(RequestAnalizer.java:365) at
com.sap.engine.services.httpserver.server.RequestAnalizer....
invokeWebContainer(RequestAnalizer.java:944) at
com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266) at
com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at
com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160) at
com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener....
process(ApplicationSessionMessageListener.java:33) at
com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at
com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at
java.security.AccessController.doPrivileged(Native Method) at
com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at
com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Any ideas... how to make XI to send SOAP messages so that the same XI system would be able to pick them up?
Or what have I done wrong?
Best wishes,
Heikohi,
What is the format that u are using for the sender URL....The error message you are getting either because the names that you have mentioned in the sender URL are wrong or the URl format itslef is wrong.....if the format is the one that you have mentioned in the first post then it is not the desired format.
Use the following format to create the URL to send the request:
http://<servernameORserverIPaddress>:<portNumber>/XISOAPAdapter/MessageServlet?channel=:<senderservice>:<snederCCname>&version=3.0&Sender.Service=<senderservice>&Interface=<IRnamespace>%5E<senderMI>
Replace
with
& amp;
(no space inbetween the two words) in the above URL.
How to configure SOAP communication channels (sender and receiver) so that two XI instances could communicate and (more important) use different message interfaces on the same channel?
While creating a Receiver communication channel there is no need to specify the interface name and hence it can be used in different scenarios....however a sender communication needs the sender interface to be specified (as in SAP XI.....not in SAP PI).....so a sender channel can be used in different scenarios but with only the same interface.....
Regards,
Abhishek
Edited by: abhishek salvi on Feb 17, 2009 2:50 PM -
RPC/SOAP-Encoded Web Service with Workshop
Is there anyway to create a RPC/SOAP-Encoded Web Service with Workshop ? There is an "encoding" attribute in the autotype ant task but no corresponding properties in Workshop.
Hi,
Thanks for the reference.
I have checked both in the wsdl and the Soap message,
rpc property effectively means rpc/encoded. Now that
would say that RPC/Literal is not supported ?
Here are what the messages looks like with rpc and
document properties
Thanks all for making this clear.
document wlw property = Document/Literal
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ns:getEmployeeResponse xmlns:ns="http://www.openuri.org/">
<ns:getEmployeeResult xmlns:ns="http://www.openuri.org/">
<ns:Address xmlns:ns="http://www.openuri.org/">
<ns:City xmlns:ns="http://www.openuri.org/">Luxembourg</ns:City>
<ns:Country xmlns:ns="http://www.openuri.org/">LU</ns:Country>
<ns:Number xmlns:ns="http://www.openuri.org/">2</ns:Number>
<ns:PostCode xmlns:ns="http://www.openuri.org/">1000</ns:PostCode>
<ns:Street xmlns:ns="http://www.openuri.org/">Bld. Royal</ns:Street>
</ns:Address>
<ns:Age xmlns:ns="http://www.openuri.org/">20</ns:Age>
<ns:Name xmlns:ns="http://www.openuri.org/">Dupont</ns:Name>
<ns:FirstNames xmlns:ns="http://www.openuri.org/">
<ns:String xmlns:ns="http://www.openuri.org/">Jean</ns:String>
<ns:String xmlns:ns="http://www.openuri.org/">Jacques</ns:String>
</ns:FirstNames>
</ns:getEmployeeResult>
</ns:getEmployeeResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
rpc wlw property = RPC/Soap-Encoded
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ns:getEmployeeResponse xmlns:ns="http://www.openuri.org/">
<getEmployeeResult xmlns:s="http://www.openuri.org/encodedTypes" xsi:type="s:Employee">
<Address xsi:type="s:Address">
<City xsi:type="xsd:string">Luxembourg</City>
<Country xsi:type="xsd:string">LU</Country>
<Number xsi:type="xsd:int">2</Number>
<PostCode xsi:type="xsd:string">1000</PostCode>
<Street xsi:type="xsd:string">Bld. Royal</Street>
</Address>
<Age xsi:type="xsd:int">20</Age>
<Name xsi:type="xsd:string">Dupont</Name>
<FirstNames SOAP-ENC:arrayType="xsd:string[2]" xsi:type="SOAP-ENC:Array">
<String xsi:type="xsd:string">Jean</String>
<String xsi:type="xsd:string">Jacques</String>
</FirstNames>
</getEmployeeResult>
</ns:getEmployeeResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Message was edited by phcollignon at Aug 27, 2004 2:54 AM -
Problem between SOAP Sender and JDBC Receiver
Hi,
I have a asynchronous scenary between SOAP Sender and JDBC Receiver.
The idea is sending an ID for updating one register.
Table structure is:
TABLE AS_PERSONA
(P_RUT VARCHAR2(10) NOT NULL,
P_NOMBRE VARCHAR2(50),
P_APELLIDO VARCHAR2(50))
The ID is the P_RUT field.
The structure of message that I send by SOAP, is the following:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<m:MT_CONS_SOAP xmlns:m="urn:prueba:voliva">
<CONSULTA>
<P_RUT>15445</P_RUT>
</CONSULTA>
</m:MT_CONS_SOAP>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The JDBC receiver structure is:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_CONS_PERSONA xmlns:ns0="urn:prueba:voliva">
<Statement>
<AS_PERSONA action="UPDATE">
<table>AS_PERSONA</table>
<access>
<P_NOMBRE>DELETE_BY_XI</P_NOMBRE>
<P_APELLIDO>DELETE_BY_XI</P_APELLIDO>
</access>
<key>
<P_RUT>15445</P_RUT>
</key>
</AS_PERSONA>
</Statement>
</ns0:MT_CONS_PERSONA>
When I do a call to SOAP by XMLspy, it returns a message without data, that means succesfull reply.
I see message monitor and see the succesfull flag. But in the database it doesn't update the register.
This scenario was proved using the File Sender and same JDBC Receiver, then result was succesfull.
I proved SOAP Sender with a File Receiver, storing information from SOAP sender in an archive, and works well.
Then I imagine that exist some problem between SOAP and JDBC. what could be happening ?
Thanks.Hi,
Looks like the problem is with the JDBC receiver...try updating the value in the table by using a File-JDBC scenario..does it work..check the adapter monitor in RWB..
Regards,
Sushumna -
PHP5 SOAP WSDL and Xcelsius 2008 communication error
Hi,
I wood like to use PHP5 Soap server and WSDL for Xcelsius2008.
Now Xcelsius 2008 can read WSDL parameters, and data from Xcelsius appear in Soap server, but in the Soap Response is the error message:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>Bad Request</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
My WSDL is here:
http://www.tanit.hu/custimp/wsdl/hello/hello_04.wsdl
My PHP5 Soap Server:
<?php
ini_set("soap.wsdl_cache_enabled","0");
$server = new SoapServer("hello_04.wsdl");
class HelloService{
function doHello($yourName){
if (strlen(trim($yourName))) {
return "Hello ".$yourName;
} else {
throw new SoapFault("Server","The input parameter is Empty!");
?>
My PHP5 Soap Client (is working properly):
<?php
ini_set("soap.wsdl_cache_enabled","0");
try{
$sClient = new SoapClient('http://www.tanit.hu/custimp/wsdl/hello/hello_04.wsdl');
$response = $sClient->doHello('MyName');
echo $response;
} catch(SoapFault $e){
var_dump($e);
?>
Could somebody help me?
Thx.OK.
[I found this.|https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_erq/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333233343330333133373334%7D.do] -
URL Encoding and Decoding in OSB
Hi,
Do we have out-of-box solution in OSB to decode XML which is URL encoded and encode XML to URL encoding. If so how can I do it.
This might be basic question. I am unable to figure out. new to OSB.
Thanks
Sham.Hi Sham,
Probably these are what you looking for...
fn-bea:inlinedXML()
fn-bea:serialize()
fn-bea:serialize() to represent an XML document as a string
fn-bea:inlinedXML() to parses textual XML and returns an instance of the XQuery 1.0 Data Model.
Supported Function Extensions from Oracle
http://docs.oracle.com/cd/E23943_01/admin.1111/e15867/xquery.htm#i1101407
Oracle’s XQuery Implementation
http://docs.oracle.com/cd/E13162_01/odsi/docs10gr3/xquery/extensions.html
Cheers,
Vlad
It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts)
https://forums.oracle.com/forums/ann.jspa?annID=893 -
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.
Maybe you are looking for
-
BB Desktop Software crashes at start.
Hi folks, I just downloaded the latest blackberry desktop software from the official website. Downloaded and installed. But whenever i start the program, it always crashes. The first error would be Rim.DesktopHelper has encountered a problem and need
-
Hi all, I just want to know if it is possible to hook up a tv cable connection to the monitor. I probably am just wishing for something that is too good to be true, but obviously it would be amazing if this is possible (I just got the 20" cinema disp
-
Can you share audio books in itunes match
I just signed up for Itunes Match and the upload is done but I don't see my audiobooks that are in my library. Any suggestions?
-
Can I Purchase iTunes Gift card for US in India
Hello I want to Giveaway iTunes Gift Card to my blog readers in US. I am resident of India. Can I buy iTunes Gift Card(s) online with valid US postal addresse(s) of the winner (s) through my account? OR What is the best way to gift iTunes cards to US
-
My iPod touch shuts down instead of entering sleep mode.
Like a good little user, when iTunes tald me I needed to update the software on my iPod I did so. Since then whenever it should be entering sleep mode it shuts down entirely. Not only is this monumentally annoying because I constantly have to reboo