Hi All,
I am writing a doc/lit web services, in which the elements under
SOAPBody is unknown. That is, these two message are acceptable.
1. <SOAP-ENV:Body><Tag1> It is ok</Tag1></SOAP-ENV:Body>
2. <SOAP-ENV:Body><Tag2> <Tag3>It is also
ok</Tag3></Tag2></SOAP-ENV:Body>
The question is, if I write the wsdl as below, it defines the
request message to be empty, instead of anyType. If I create an
element with type=xsd:anyTyp e, this element tag will appear under
SOAPBody. How do I write the wsdl in this case?
I would like this wsdl to be ws-i complaince, is it possible to do
so?
Cheers,
Sonna Nach
----- wsdl -----
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitio ns
name="DataServi ce"
targetNamespace ="urn:dataservi ce"
xmlns:soap="htt p://schemas.xmlsoap .org/wsdl/soap/"
xmlns:tns="urn: dataservice"
xmlns:wsdl="htt p://schemas.xmlsoap .org/wsdl/"
xmlns:xsd="http ://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xsd:schema
attributeFormDe fault="qualifie d"
elementFormDefa ult="qualified"
targetNamespace ="urn:dataservi ce"
xmlns:xsd="http ://www.w3.org/2001/XMLSchema">
<xsd:element name="DataServi ceResponse">
<xsd:complexTyp e>
<xsd:sequence >
<xsd:element maxOccurs="1" minOccurs="1"
name="Token" type="xsd:strin g"/>
</xsd:sequence>
</xsd:complexType >
</xsd:element>
</xsd:schema>
</wsdl:types>
<wsdl:message name="DataServi ceResponse">
<wsdl:part element="tns:Da taServiceRespon se"
name="DataServi ceResponse"/>
</wsdl:message>
<wsdl:message name="DataServi ceRequest"/>
<wsdl:portTyp e name="DataServi cePortType">
<wsdl:operati on name="DataServi ce">
<wsdl:input message="tns:Da taServiceReques t"/>
<wsdl:output message="tns:Da taServiceRespon se"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="DataServi ceBinding"
type="tns:DataS ervicePortType" >
<soap:binding style="document "
transport="http ://schemas.xmlsoap .org/soap/http"/>
<wsdl:operati on name="DataServi ce">
<soap:operati on soapAction="Dat aService"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="DataServi ce">
<wsdl:port binding="tns:Da taServiceBindin g"
name="DataServi cePort">
<soap:address
location="http://somewhere.com/dataservice"/>
</wsdl:port>
</wsdl:service>
</wsdl:definition s>