Hello,
Please advice
I am new to vb.net webservice. My requirement is to design a VB.net web
service which will send and receive xml documents. The xml document
send and received would be a very complex .xsd file which contains
multiple formats of send and receive mesages. On reading books on
webservice it was says to design an interface (ie design the xsd ,
wsdl, then run wsdl.exe to generate interface.vb class) Since my xsd is
very complex if I have to go with the interface approach it will get
complicated and any change in xsd will then have to be reflected in the
client and webservice side. Also vb.net does not support this approach.
If I have a create a webservice using vb.net whose web method receives
and send XMLDocument type. How does I map the .xsd file to the auto
generated wsdl file. By providing the auto generated wsdl how will the
client developers gets the information about the .xsd file/layout.
Unless there is an agreement on what xml document format will be send
and received by client and server programs.
Is there any way where just with my wsdl the client programs can be
build which gets the info about the xsd data to be send and received.
It would be good to send and receive in xml documents.
Please advice.
<WebMethod()> _
Public Function getquote(ByVal xmldoc As XmlDocument) As XmlDocument
<?xml version="1.0" encoding="utf-8" ?>
- <wsdl: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:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://tempuri.org/"
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
targetNamespace="http://tempuri.org/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
- <wsdl:types>
- <s:schema elementFormDefault="qualified"
targetNamespace="http://tempuri.org/">
- <s:element name="getquote">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="xmldoc">
- <s:complexType mixed="true">
- <s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
- <s:element name="getquoteResponse">
- <s:complexType>
- <s:sequence>
- <s:element minOccurs="0" maxOccurs="1" name="getquoteResult">
- <s:complexType mixed="true">
- <s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
- <wsdl:message name="getquoteSoapIn">
<wsdl:part name="parameters" element="tns:getquote" />
</wsdl:message>
- <wsdl:message name="getquoteSoapOut">
<wsdl:part name="parameters" element="tns:getquoteResponse" />
</wsdl:message>
- <wsdl:portType name="Service1Soap">
- <wsdl:operation name="getquote">
<wsdl:input message="tns:getquoteSoapIn" />
<wsdl:output message="tns:getquoteSoapOut" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="Service1Soap" type="tns:Service1Soap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="document" />
- <wsdl:operation name="getquote">
<soap:operation soapAction="http://tempuri.org/getquote"
style="document" />
- <wsdl:input>
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="Service1">
<documentation xmlns="http://schemas.xmlsoap.org/wsdl/" />
- <wsdl:port name="Service1Soap" binding="tns:Service1Soap">
<soap:address
location="http://localhost/websamples/lab5/Service1.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Many thanks
Saish