1. Trang chủ
  2. » Công Nghệ Thông Tin

Viewing a WSDL File and Testing a Web Service

7 384 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Viewing a WSDL File and Testing a Web Service
Định dạng
Số trang 7
Dung lượng 48,02 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Viewing a WSDL File and Testing a Web Service WSDL stands for Web Services Description Language, and a WSDL file contains a complete description of your Web service, including the inform

Trang 1

Viewing a WSDL File and Testing a Web Service

WSDL stands for Web Services Description Language, and a WSDL file contains a complete description of your Web service, including the information required to call your service's methods A WSDL file is written in XML and specifies the following

information:

• Web service methods

• Data types used by the methods

• Request and response message formats for communication with the methods Note For comprehensive information on WSDL, visit www.w3.org/TR/wsdl

You access your Web service by pointing your browser to the following URL:

http://localhost/NorthwindWebService/Customers.asmx

As you can see from Figure 17.3, the resulting page displayed in your browser contains two links named Service Description and Retrieve Customers

Figure 17.3: Accessing a Web service

Note You can also access your Web service by right-clicking on the Customers.asmx file

in the Solution Explorer window in VS NET and selecting Set As Start Page from the pop-up menu You then select Debug ➣ Start Without Debugging to test your service VS NET will start Internet Explorer and display the same test page as was shown in Figure 17.3

Viewing the WSDL File for the Web Service

If you click the Service Description link, you'll see the description of your Web service in the form of a WSDL file, which is shown in Listing 17.3 Notice that this WSDL file is written in XML and contains the details on how to call the methods exposed by the

example Web service The WSDL file also contains the data types of the parameters used and the calls you can make to your methods

Trang 2

Listing 17.3: WEB SERVICE WSDL FILE

<?xml version="1.0" encoding="utf-8"?>

<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://DbProgramming/NorthwindWebService"

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://DbProgramming/NorthwindWebService" xmlns="http://schemas.xmlsoap.org/wsdl/">

<types>

<s:schema elementFormDefault="qualified"

targetNamespace="http://DbProgramming/NorthwindWebService"> <s:import namespace="http://www.w3.org/2001/XMLSchema" /> <s:element name="RetrieveCustomers">

<s:complexType>

<s:sequence>

<s:element minOccurs="0" maxOccurs="1"

name="whereClause" type="s:string" />

</s:sequence>

</s:complexType>

</s:element>

<s:element name="RetrieveCustomersResponse">

<s:complexType>

<s:sequence>

<s:element minOccurs="0" maxOccurs="1"

name="RetrieveCustomersResult">

<s:complexType>

<s:sequence>

<s:element ref="s:schema" />

<s:any />

</s:sequence>

</s:complexType>

</s:element>

</s:sequence>

</s:complexType>

</s:element>

<s:element name="DataSet" nillable="true">

<s:complexType>

<s:sequence>

<s:element ref="s:schema" />

Trang 3

<s:any />

</s:sequence>

</s:complexType>

</s:element>

</s:schema>

</types>

<message name="RetrieveCustomersSoapIn">

<part name="parameters" element="s0:RetrieveCustomers" />

</message>

<message name="RetrieveCustomersSoapOut">

<part name="parameters" element="s0:RetrieveCustomersResponse" /> </message>

<message name="RetrieveCustomersHttpGetIn">

<part name="whereClause" type="s:string" />

</message>

<message name="RetrieveCustomersHttpGetOut">

<part name="Body" element="s0:DataSet" />

</message>

<message name="RetrieveCustomersHttpPostIn">

<part name="whereClause" type="s:string" />

</message>

<message name="RetrieveCustomersHttpPostOut">

<part name="Body" element="s0:DataSet" />

</message>

<portType name="CustomersSoap">

<operation name="RetrieveCustomers">

<input message="s0:RetrieveCustomersSoapIn" />

<output message="s0:RetrieveCustomersSoapOut" />

</operation>

</portType>

<portType name="CustomersHttpGet">

<operation name="RetrieveCustomers">

<input message="s0:RetrieveCustomersHttpGetIn" />

<output message="s0:RetrieveCustomersHttpGetOut" />

</operation>

</portType>

<portType name="CustomersHttpPost">

<operation name="RetrieveCustomers">

<input message="s0:RetrieveCustomersHttpPostIn" />

<output message="s0:RetrieveCustomersHttpPostOut" />

</operation>

</portType>

<binding name="CustomersSoap" type="s0:CustomersSoap">

Trang 4

<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />

<operation name="RetrieveCustomers">

<soap:operation

soapAction="http://DbProgramming/NorthwindWebService/RetrieveCustomers" style="document" />

<input>

<soap:body use="literal" />

</input>

<output>

<soap:body use="literal" />

</output>

</operation>

</binding>

<binding name="CustomersHttpGet" type="s0:CustomersHttpGet">

<http:binding verb="GET" />

<operation name="RetrieveCustomers">

<http:operation location="/RetrieveCustomers" />

<input>

<http:urlEncoded />

</input>

<output>

<mime:mimeXml part="Body" />

</output>

</operation>

</binding>

<binding name="CustomersHttpPost" type="s0:CustomersHttpPost">

<http:binding verb="POST" />

<operation name="RetrieveCustomers">

<http:operation location="/RetrieveCustomers" />

<input>

<mime:content type="application/x-www-form-urlencoded" />

</input>

<output>

<mime:mimeXml part="Body" />

</output>

</operation>

</binding>

<service name="Customers">

<port name="CustomersSoap" binding="s0:CustomersSoap">

<soap:address

Trang 5

location="http://localhost/NorthwindWebService/Customers.asmx" />

</port>

<port name="CustomersHttpGet" binding="s0:CustomersHttpGet">

<http:address

location="http://localhost/NorthwindWebService/Customers.asmx" />

</port>

<port name="CustomersHttpPost" binding="s0:CustomersHttpPost">

<http:address

location="http://localhost/NorthwindWebService/Customers.asmx" />

</port>

</service>

</definitions>

Next, you'll see how to test your Web service

Testing a Web Service

To test your Web service, point your browser to the following URL:

http://localhost/NorthwindWebService/Customers.asmx

Click the Retrieve Customers link Your browser displays a page (see Figure 17.4) that you can use to test the RetrieveCustomers() method exposed by your Web service

Figure 17.4: The Web service test page

The test page contains a text box with a label of whereClause where you can enter values for the whereClause parameter of your RetrieveCustomers() method The text you enter

Trang 6

for your whereClause is passed to the RetrieveCustomers() method when you click the Invoke button on the page Enter the following text as your whereClause:

CustomerID='ALFKI'

Click the Invoke button to run the RetrieveCustomers() method With this whereClause, the RetrieveCustomers() method returns a DataSet with a DataTable containing the one row from the Customers table with a CustomerID of ALFKI, as shown in Figure 17.5 Notice that the equals (=) and single quote (') characters in the whereClause parameter value of the URL have been converted to the codes %3D and %27 respectively

Figure 17.5: Running the RetrieveCustomers() method with a whereClause of

CustomerID= 'ALFKI'

As you can see from Figure 17.5, the DataSet is returned as an XML document You can use this XML in your client programs that use the Web service You'll see how to write a client program in the next section

Let's take a look at another example; enter the following string as your whereClause and click the Invoke button:

CustomerID IS NOT NULL

This causes the RetrieveCustomers() method to return a DataSet with a DataTable

containing all the rows from the Customers table (see Figure 17.6) Notice that the space characters in the whereClause parameter value have been converted to plus (+)

characters You'll need to scroll down the page to see the other customers

Trang 7

Figure 17.6: Running the RetrieveCustomers() method with a whereClause of CustomerID IS NOT NULL

Next, you'll see how to use your Web service in a Windows application

Ngày đăng: 24/10/2013, 12:15

TỪ KHÓA LIÊN QUAN