You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by chaddad <ch...@cobia.net> on 2003/09/01 01:15:24 UTC
Re: Deserializing exception
mike -
you most likely do need a typemapping in the wsdd. please post your wsdl and the wsdd generated by wsdl2java.
thanks,
/Chris
---------- Original Message ----------------------------------
From: <m1...@zoron.de>
Reply-To: axis-user@ws.apache.org
Date: Sun, 31 Aug 2003 23:35:11 +0200 (MEST)
>Hi all
>
>I´m trying to create a ws from a WSDL.
>
>I´ve used wsdl2java to generate client and server sources for my service.
>
>My deploy.wsdd:
><deployment xmlns="http://xml.apache.org/axis/wsdd/"
>xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="windimnet_opc" style="document" >
> <parameter name="className"
> value="org.opcfoundation.webservices.XMLDA._1_0.ServiceSkeleton"/> <parameter name="allowedMethods" value="*"/>
> <parameter name="scope" value="Application"/>
> </service>
></deployment>
>
>On client side i use the generated Stub to communicate with the server.
>
>The problem is that i get the following server side exception:
>org.xml.sax.SAXException: Deserializing parameter 'GetStatus': could not
>find deserializer for type
>{http://opcfoundation.org/webservices/XMLDA/1.0/}>GetStatus
>i even tried to add a custom typemapping for the parameters/return type..
>but it still does not work :(
>thanks for any help,
>mike
>
>
>
Re: Deserializing exception
Posted by m1...@zoron.de.
Hi
Thanky for your reply.
The problem is that the wsdl2java tool does NOT generate any settings in
the deploy.wsdl.
In fact it does only generate the root element with the two namespaces.
So i´ve created a deploy.wsdl for my own.
Here it is:
<deployment
xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="windimnet_opc" style="document" >
<parameter name="className"
value="org.opcfoundation.webservices.XMLDA._1_0.ServiceSkeleton"/> <parameter name="allowedMethods" value="*"/>
<parameter name="scope" value="Application"/>
<typeMapping
xmlns:ns="http://opcfoundation.org/webservices/XMLDA/1.0/"
qname="ns:GetStatus"
type="java:org.opcfoundation.webservices.XMLDA._1_0._GetStatus" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
<typeMapping
xmlns:ns="http://opcfoundation.org/webservices/XMLDA/1.0/"
qname="ns:GetStatusResponse"
type="java:org.opcfoundation.webservices.XMLDA._1_0._GetStatusResponse" serializer="org.apache.axis.encoding.ser.BeanSerializerFactory" deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
</service>
</deployment>
Note that i´ve created the two typemappings. I´m currently only testing
with the getStatus method. But i always receive the exception mentioned in
the previous mail.I used the bean(de)serializer because i found in a generated class that
this serializer is used for the *status classes.
Looks like i´ve got anywhere a bug so axis does not load the typemapping.
Additional Question:
Whats does the '>' symbol after the namespace indicates in the exception
line:
org.xml.sax.SAXException: Deserializing parameter 'GetStatus': could not
find deserializer for type
{http://opcfoundation.org/webservices/XMLDA/1.0/}>GetStatus
Do i have to include the > (>) in the typemapping?!?
The rest of the mail is the WSDL.
thanks,
mike
<?xml version="1.0" encoding="utf-8"?>
<!--
COPYRIGHT (c) 2003 OPC Foundation. All rights reserved.
http://www.opcfoundation.org
Use subject to the OPC Foundation License Agreement found at the
following URL: http://www.opcfoundation.org/Downloads/LicenseAgreement.asp
-->
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns:s0="http://opcfoundation.org/webservices/XMLDA/1.0/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://opcfoundation.org/webservices/XMLDA/1.0/"
xmlns="http://schemas.xmlsoap.org/wsdl/"> <types>
<s:schema elementFormDefault="qualified"
targetNamespace="http://opcfoundation.org/webservices/XMLDA/1.0/"> <s:element name="GetStatus">
<s:complexType>
<s:attribute name="LocaleID" type="s:string" />
<s:attribute name="ClientRequestHandle" type="s:string" />
</s:complexType>
</s:element>
<s:element name="GetStatusResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="GetStatusResult"
type="s0:ReplyBase" /> <s:element minOccurs="0" maxOccurs="1" name="Status"
type="s0:ServerStatus" /> </s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ReplyBase">
<s:attribute name="RcvTime" type="s:dateTime" use="required" />
<s:attribute name="ReplyTime" type="s:dateTime" use="required" />
<s:attribute name="ClientRequestHandle" type="s:string" />
<s:attribute name="RevisedLocaleID" type="s:string" />
<s:attribute name="ServerState" type="s0:serverState"
use="required" /> </s:complexType>
<s:simpleType name="serverState">
<s:restriction base="s:string">
<s:enumeration value="running" />
<s:enumeration value="failed" />
<s:enumeration value="noConfig" />
<s:enumeration value="suspended" />
<s:enumeration value="test" />
<s:enumeration value="commFault" />
</s:restriction>
</s:simpleType>
<s:complexType name="ServerStatus">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="StatusInfo"
type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="VendorInfo"
type="s:string" /> <s:element minOccurs="0" maxOccurs="unbounded"
name="SupportedLocaleIDs" type="s:string" /> <s:element minOccurs="0" maxOccurs="unbounded"
name="SupportedInterfaceVersions" type="s0:interfaceVersion" /> </s:sequence>
<s:attribute name="StartTime" type="s:dateTime" use="required" />
<s:attribute name="ProductVersion" type="s:string" />
</s:complexType>
<s:simpleType name="interfaceVersion">
<s:restriction base="s:string">
<s:enumeration value="XML_DA_Version_1_0" />
</s:restriction>
</s:simpleType>
<s:element name="Read">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Options"
type="s0:RequestOptions" /> <s:element minOccurs="0" maxOccurs="1" name="ItemList"
type="s0:ReadRequestItemList" /> </s:sequence>
</s:complexType>
</s:element>
<s:complexType name="RequestOptions">
<s:attribute default="true" name="ReturnErrorText"
type="s:boolean" /> <s:attribute default="false" name="ReturnDiagnosticInfo"
type="s:boolean" /> <s:attribute default="false" name="ReturnItemTime"
type="s:boolean" /> <s:attribute default="false" name="ReturnItemPath"
type="s:boolean" /> <s:attribute default="false" name="ReturnItemName"
type="s:boolean" /> <s:attribute name="RequestDeadline" type="s:dateTime" />
<s:attribute name="ClientRequestHandle" type="s:string" />
<s:attribute name="LocaleID" type="s:string" />
</s:complexType>
<s:complexType name="ReadRequestItemList">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Items"
type="s0:ReadRequestItem" /> </s:sequence>
<s:attribute name="ItemPath" type="s:string" />
<s:attribute name="ReqType" type="s:QName" />
<s:attribute name="MaxAge" type="s:int" />
</s:complexType>
<s:complexType name="ReadRequestItem">
<s:attribute name="ItemPath" type="s:string" />
<s:attribute name="ReqType" type="s:QName" />
<s:attribute name="ItemName" type="s:string" />
<s:attribute name="ClientItemHandle" type="s:string" />
<s:attribute name="MaxAge" type="s:int" />
</s:complexType>
<s:element name="ReadResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ReadResult"
type="s0:ReplyBase" /> <s:element minOccurs="0" maxOccurs="1" name="RItemList"
type="s0:ReplyItemList" /> <s:element minOccurs="0" maxOccurs="unbounded" name="Errors"
type="s0:OPCError" /> </s:sequence>
</s:complexType>
</s:element>
<s:complexType name="ReplyItemList">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Items"
type="s0:ItemValue" /> </s:sequence>
<s:attribute name="Reserved" type="s:string" />
</s:complexType>
<s:complexType name="ItemValue">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="DiagnosticInfo"
type="s:string" /> <s:element minOccurs="0" maxOccurs="1" name="Value" />
<s:element minOccurs="0" maxOccurs="1" name="Quality"
type="s0:OPCQuality" /> </s:sequence>
<s:attribute name="ValueTypeQualifier" type="s:QName" />
<s:attribute name="ItemPath" type="s:string" />
<s:attribute name="ItemName" type="s:string" />
<s:attribute name="ClientItemHandle" type="s:string" />
<s:attribute name="Timestamp" type="s:dateTime" />
<s:attribute name="ResultID" type="s:QName" />
</s:complexType>
<s:complexType name="OPCQuality">
<s:attribute default="good" name="QualityField"
type="s0:qualityBits" /> <s:attribute default="none" name="LimitField" type="s0:limitBits" />
<s:attribute default="0" name="VendorField" type="s:unsignedByte" />
</s:complexType>
<s:simpleType name="qualityBits">
<s:restriction base="s:string">
<s:enumeration value="bad" />
<s:enumeration value="badConfigurationError" />
<s:enumeration value="badNotConnected" />
<s:enumeration value="badDeviceFailure" />
<s:enumeration value="badSensorFailure" />
<s:enumeration value="badLastKnownValue" />
<s:enumeration value="badCommFailure" />
<s:enumeration value="badOutOfService" />
<s:enumeration value="badWaitingForInitialData" />
<s:enumeration value="uncertain" />
<s:enumeration value="uncertainLastUsableValue" />
<s:enumeration value="uncertainSensorNotAccurate" />
<s:enumeration value="uncertainEUExceeded" />
<s:enumeration value="uncertainSubNormal" />
<s:enumeration value="good" />
<s:enumeration value="goodLocalOverride" />
</s:restriction>
</s:simpleType>
<s:simpleType name="limitBits">
<s:restriction base="s:string">
<s:enumeration value="none" />
<s:enumeration value="low" />
<s:enumeration value="high" />
<s:enumeration value="constant" />
</s:restriction>
</s:simpleType>
<s:complexType name="OPCError">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Text"
type="s:string" /> </s:sequence>
<s:attribute name="ID" type="s:QName" use="required" />
</s:complexType>
<s:complexType name="ArrayOfFloat">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="float"
type="s:float" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfInt">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="int"
type="s:int" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfUnsignedInt">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="unsignedInt" type="s:unsignedInt" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfLong">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="long"
type="s:long" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfUnsignedLong">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="unsignedLong" type="s:unsignedLong" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfDouble">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="double"
type="s:double" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfUnsignedShort">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="unsignedShort" type="s:unsignedShort" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfBoolean">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="boolean"
type="s:boolean" /> </s:sequence>
</s:complexType>
<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="ArrayOfDateTime">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="dateTime"
type="s:dateTime" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfAnyType">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="anyType"
nillable="true" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfDecimal">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="decimal"
type="s:decimal" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfByte">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="byte"
type="s:byte" /> </s:sequence>
</s:complexType>
<s:complexType name="ArrayOfShort">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="short"
type="s:short" /> </s:sequence>
</s:complexType>
<s:element name="Write">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Options"
type="s0:RequestOptions" /> <s:element minOccurs="0" maxOccurs="1" name="ItemList"
type="s0:WriteRequestItemList" /> </s:sequence>
<s:attribute name="ReturnValuesOnReply" type="s:boolean"
use="required" /> </s:complexType>
</s:element>
<s:complexType name="WriteRequestItemList">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Items"
type="s0:ItemValue" /> </s:sequence>
<s:attribute name="ItemPath" type="s:string" />
</s:complexType>
<s:element name="WriteResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="WriteResult"
type="s0:ReplyBase" /> <s:element minOccurs="0" maxOccurs="1" name="RItemList"
type="s0:ReplyItemList" /> <s:element minOccurs="0" maxOccurs="unbounded" name="Errors"
type="s0:OPCError" /> </s:sequence>
</s:complexType>
</s:element>
<s:element name="Subscribe">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Options"
type="s0:RequestOptions" /> <s:element minOccurs="0" maxOccurs="1" name="ItemList"
type="s0:SubscribeRequestItemList" /> </s:sequence>
<s:attribute name="ReturnValuesOnReply" type="s:boolean"
use="required" /> <s:attribute default="0" name="SubscriptionPingRate"
type="s:int" /> </s:complexType>
</s:element>
<s:complexType name="SubscribeRequestItemList">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Items"
type="s0:SubscribeRequestItem" /> </s:sequence>
<s:attribute name="ItemPath" type="s:string" />
<s:attribute name="ReqType" type="s:QName" />
<s:attribute name="Deadband" type="s:float" />
<s:attribute name="RequestedSamplingRate" type="s:int" />
<s:attribute name="EnableBuffering" type="s:boolean" />
</s:complexType>
<s:complexType name="SubscribeRequestItem">
<s:attribute name="ItemPath" type="s:string" />
<s:attribute name="ReqType" type="s:QName" />
<s:attribute name="ItemName" type="s:string" />
<s:attribute name="ClientItemHandle" type="s:string" />
<s:attribute name="Deadband" type="s:float" />
<s:attribute name="RequestedSamplingRate" type="s:int" />
<s:attribute name="EnableBuffering" type="s:boolean" />
</s:complexType>
<s:complexType name="SubscribeReplyItemList">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Items"
type="s0:SubscribeItemValue" /> </s:sequence>
<s:attribute name="RevisedSamplingRate" type="s:int" />
</s:complexType>
<s:complexType name="SubscribeItemValue">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ItemValue"
type="s0:ItemValue" /> </s:sequence>
<s:attribute name="RevisedSamplingRate" type="s:int" />
</s:complexType>
<s:element name="SubscribeResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="SubscribeResult"
type="s0:ReplyBase" /> <s:element minOccurs="0" maxOccurs="1" name="RItemList"
type="s0:SubscribeReplyItemList" /> <s:element minOccurs="0" maxOccurs="unbounded" name="Errors"
type="s0:OPCError" /> </s:sequence>
<s:attribute name="ServerSubHandle" type="s:string" />
</s:complexType>
</s:element>
<s:element name="SubscriptionPolledRefresh">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Options"
type="s0:RequestOptions" /> <s:element minOccurs="0" maxOccurs="unbounded"
name="ServerSubHandles" type="s:string" /> </s:sequence>
<s:attribute name="HoldTime" type="s:dateTime" />
<s:attribute default="0" name="WaitTime" type="s:int" />
<s:attribute default="false" name="ReturnAllItems"
type="s:boolean" /> </s:complexType>
</s:element>
<s:complexType name="SubscribePolledRefreshReplyItemList">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Items"
type="s0:ItemValue" /> </s:sequence>
<s:attribute name="SubscriptionHandle" type="s:string" />
</s:complexType>
<s:element name="SubscriptionPolledRefreshResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="SubscriptionPolledRefreshResult" type="s0:ReplyBase" /> <s:element minOccurs="0" maxOccurs="unbounded"
name="InvalidServerSubHandles" type="s:string" /> <s:element minOccurs="0" maxOccurs="unbounded"
name="RItemList" type="s0:SubscribePolledRefreshReplyItemList"
/> <s:element minOccurs="0" maxOccurs="unbounded" name="Errors"
type="s0:OPCError" /> </s:sequence>
<s:attribute default="false" name="DataBufferOverflow"
type="s:boolean" /> </s:complexType>
</s:element>
<s:element name="SubscriptionCancel">
<s:complexType>
<s:attribute name="ServerSubHandle" type="s:string" />
<s:attribute name="ClientRequestHandle" type="s:string" />
</s:complexType>
</s:element>
<s:element name="SubscriptionCancelResponse">
<s:complexType>
<s:attribute name="ClientRequestHandle" type="s:string" />
</s:complexType>
</s:element>
<s:element name="Browse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="PropertyNames" type="s:QName" /> </s:sequence>
<s:attribute name="LocaleID" type="s:string" />
<s:attribute name="ClientRequestHandle" type="s:string" />
<s:attribute name="ItemPath" type="s:string" />
<s:attribute name="ItemName" type="s:string" />
<s:attribute name="ContinuationPoint" type="s:string" />
<s:attribute default="0" name="MaxElementsReturned" type="s:int" />
<s:attribute default="all" name="BrowseFilter"
type="s0:browseFilter" /> <s:attribute name="ElementNameFilter" type="s:string" />
<s:attribute name="VendorFilter" type="s:string" />
<s:attribute default="false" name="ReturnAllProperties"
type="s:boolean" /> <s:attribute default="false" name="ReturnPropertyValues"
type="s:boolean" /> <s:attribute default="false" name="ReturnErrorText"
type="s:boolean" /> </s:complexType>
</s:element>
<s:simpleType name="browseFilter">
<s:restriction base="s:string">
<s:enumeration value="all" />
<s:enumeration value="branch" />
<s:enumeration value="item" />
</s:restriction>
</s:simpleType>
<s:complexType name="BrowseElement">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Properties"
type="s0:ItemProperty" /> </s:sequence>
<s:attribute name="Name" type="s:string" />
<s:attribute name="ItemPath" type="s:string" />
<s:attribute name="ItemName" type="s:string" />
<s:attribute name="IsItem" type="s:boolean" use="required" />
<s:attribute name="HasChildren" type="s:boolean" use="required" />
</s:complexType>
<s:complexType name="ItemProperty">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Value" />
</s:sequence>
<s:attribute name="Name" type="s:QName" use="required" />
<s:attribute name="Description" type="s:string" />
<s:attribute name="ItemPath" type="s:string" />
<s:attribute name="ItemName" type="s:string" />
<s:attribute name="ResultID" type="s:QName" />
</s:complexType>
<s:element name="BrowseResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="BrowseResult"
type="s0:ReplyBase" /> <s:element minOccurs="0" maxOccurs="unbounded" name="Elements"
type="s0:BrowseElement" /> <s:element minOccurs="0" maxOccurs="unbounded" name="Errors"
type="s0:OPCError" /> </s:sequence>
<s:attribute name="ContinuationPoint" type="s:string" />
<s:attribute default="false" name="MoreElements"
type="s:boolean" /> </s:complexType>
</s:element>
<s:element name="GetProperties">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="ItemIDs"
type="s0:ItemIdentifier" /> <s:element minOccurs="0" maxOccurs="unbounded"
name="PropertyNames" type="s:QName" /> </s:sequence>
<s:attribute name="LocaleID" type="s:string" />
<s:attribute name="ClientRequestHandle" type="s:string" />
<s:attribute name="ItemPath" type="s:string" />
<s:attribute default="false" name="ReturnAllProperties"
type="s:boolean" /> <s:attribute default="false" name="ReturnPropertyValues"
type="s:boolean" /> <s:attribute default="false" name="ReturnErrorText"
type="s:boolean" /> </s:complexType>
</s:element>
<s:complexType name="ItemIdentifier">
<s:attribute name="ItemPath" type="s:string" />
<s:attribute name="ItemName" type="s:string" />
</s:complexType>
<s:complexType name="PropertyReplyList">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Properties"
type="s0:ItemProperty" /> </s:sequence>
<s:attribute name="ItemPath" type="s:string" />
<s:attribute name="ItemName" type="s:string" />
<s:attribute name="ResultID" type="s:QName" />
</s:complexType>
<s:element name="GetPropertiesResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1"
name="GetPropertiesResult" type="s0:ReplyBase" /> <s:element minOccurs="0" maxOccurs="unbounded"
name="PropertyLists" type="s0:PropertyReplyList" /> <s:element minOccurs="0" maxOccurs="unbounded" name="Errors"
type="s0:OPCError" /> </s:sequence>
</s:complexType>
</s:element>
</s:schema>
</types>
<message name="GetStatusSoapIn">
<part name="parameters" element="s0:GetStatus" />
</message>
<message name="GetStatusSoapOut">
<part name="parameters" element="s0:GetStatusResponse" />
</message>
<message name="ReadSoapIn">
<part name="parameters" element="s0:Read" />
</message>
<message name="ReadSoapOut">
<part name="parameters" element="s0:ReadResponse" />
</message>
<message name="WriteSoapIn">
<part name="parameters" element="s0:Write" />
</message>
<message name="WriteSoapOut">
<part name="parameters" element="s0:WriteResponse" />
</message>
<message name="SubscribeSoapIn">
<part name="parameters" element="s0:Subscribe" />
</message>
<message name="SubscribeSoapOut">
<part name="parameters" element="s0:SubscribeResponse" />
</message>
<message name="SubscriptionPolledRefreshSoapIn">
<part name="parameters" element="s0:SubscriptionPolledRefresh" />
</message>
<message name="SubscriptionPolledRefreshSoapOut">
<part name="parameters" element="s0:SubscriptionPolledRefreshResponse" />
</message>
<message name="SubscriptionCancelSoapIn">
<part name="parameters" element="s0:SubscriptionCancel" />
</message>
<message name="SubscriptionCancelSoapOut">
<part name="parameters" element="s0:SubscriptionCancelResponse" />
</message>
<message name="BrowseSoapIn">
<part name="parameters" element="s0:Browse" />
</message>
<message name="BrowseSoapOut">
<part name="parameters" element="s0:BrowseResponse" />
</message>
<message name="GetPropertiesSoapIn">
<part name="parameters" element="s0:GetProperties" />
</message>
<message name="GetPropertiesSoapOut">
<part name="parameters" element="s0:GetPropertiesResponse" />
</message>
<portType name="Service">
<operation name="GetStatus">
<input message="s0:GetStatusSoapIn" />
<output message="s0:GetStatusSoapOut" />
</operation>
<operation name="Read">
<input message="s0:ReadSoapIn" />
<output message="s0:ReadSoapOut" />
</operation>
<operation name="Write">
<input message="s0:WriteSoapIn" />
<output message="s0:WriteSoapOut" />
</operation>
<operation name="Subscribe">
<input message="s0:SubscribeSoapIn" />
<output message="s0:SubscribeSoapOut" />
</operation>
<operation name="SubscriptionPolledRefresh">
<input message="s0:SubscriptionPolledRefreshSoapIn" />
<output message="s0:SubscriptionPolledRefreshSoapOut" />
</operation>
<operation name="SubscriptionCancel">
<input message="s0:SubscriptionCancelSoapIn" />
<output message="s0:SubscriptionCancelSoapOut" />
</operation>
<operation name="Browse">
<input message="s0:BrowseSoapIn" />
<output message="s0:BrowseSoapOut" />
</operation>
<operation name="GetProperties">
<input message="s0:GetPropertiesSoapIn" />
<output message="s0:GetPropertiesSoapOut" />
</operation>
</portType>
<binding name="Service" type="s0:Service">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document" /> <operation name="GetStatus">
<soap:operation
soapAction="http://opcfoundation.org/webservices/XMLDA/1.0/GetStatus"
style="document" /> <input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="Read">
<soap:operation
soapAction="http://opcfoundation.org/webservices/XMLDA/1.0/Read"
style="document" /> <input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="Write">
<soap:operation
soapAction="http://opcfoundation.org/webservices/XMLDA/1.0/Write"
style="document" /> <input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="Subscribe">
<soap:operation
soapAction="http://opcfoundation.org/webservices/XMLDA/1.0/Subscribe"
style="document" /> <input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="SubscriptionPolledRefresh">
<soap:operation
soapAction="http://opcfoundation.org/webservices/XMLDA/1.0/SubscriptionPolledRefresh"
style="document" /> <input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="SubscriptionCancel">
<soap:operation
soapAction="http://opcfoundation.org/webservices/XMLDA/1.0/SubscriptionCancel"
style="document" /> <input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="Browse">
<soap:operation
soapAction="http://opcfoundation.org/webservices/XMLDA/1.0/Browse"
style="document" /> <input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
<operation name="GetProperties">
<soap:operation
soapAction="http://opcfoundation.org/webservices/XMLDA/1.0/GetProperties"
style="document" /> <input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
</definitions>