How to create and use Web services
Introduction. One of the most powerful aspects of Net is that it can be used to create a web service. A web service is an external interface that is available for other websites provided by a website. For example, a financial company can provide detailed stock quotes with its trading partners through the web service, which can be read and displayed through the web page, or it is also available from the customer's desktop computer. Read it in the program. This article describes two aspects of Web services: One is how to create a web service; the other is how to use Web services. As an example, we explain how to create a web service in a Web service from Aspfaqs.com (http://www.aspfaqs.com/aspfaqs/). Creating a Web Service Before you create a web service, you must first ask yourself: "What services I want to provide to my users?". The goal of this article is to create such a web service: let other users show a list of common problem solutions from ASPFAQs.com on their own websites (FAQs). The ideal feature is to limit other websites to view FAQs classification and FAQs arranged by classification. If you want to view a question, let users go to access the website http://www.aspfaqs.com. The web service of this article finally provides the following functions to other websites: 1. Browse list of all FAQ categories 2, browse all FAQs in a category. 3. Browse a problem with a FAQ, but does not include the answer. Creating a web service is very simple, first create a .asmx file (you can use Visual Studio .NET or any text editor you like, it is recommended to use Web Matrix, it has a template for creating a web service), web service A common class is created, with a
Here is the code to achieve: <% @ WebService Language = "VB" Class = "ASPFAQs"%> Imports System.Web.Services Imports System.Data Imports System.Data.SqlClient Imports System.Configuration Public Class ASPFAQs' create a private function method GetDataSet Private Function GetDataSet (strSQL as String) as DataSet '1. Create a connection object SqlConnection Dim myConnection as New SqlConnection (ConnectionString)' 2. Create COMMAND objects pass SQL parameter Dim myCommand as New SqlCommand (strSQL, myConnection) myConnection. Open () '3. Create DataAdapter object Dim myDataAdapter as New SqlDataAdapter () myDataAdapter.SelectCommand = myCommand' 4. generating DataSet and closes the connection Dim myDataSet as New DataSet () myDataAdapter.Fill (myDataSet) myConnection.Close () 'returns a DataSet Return myDataSet End Function 'Creating implementation of three tasks
What needs to be explained is: When you call the method of the web service that requires the parameter, you don't have to worry about whether the type of incoming parameter is correct. The web service code will automatically ensure the correctness of the incoming parameter type, in the above example type parameter type For integer, if the malicious user attempts to introduce parameters such as 0 'Malicious SQL Statement to Web Services: Annot Convert 0' Malicious Sql to System.Int32. Parameter Name: Type -> Input String Was Not in a Correct Format. However, if you pass the parameters of the string type, you should remember to replace a single apostrophe (') into two consecutive apostrophe (' '). With the web service, we created a web service, let's take a look at how other websites use this web service. For the sake of convenience, we call the "consumers" using the customer site of Web services, and provide a Web service website "producer". The most essential thing is what consumers must know what way to call the producer. If you need a parameter, these parameters must be converted to the XML format for incoming, and the consumer sends an HTTP request to the producer, and indicates the methods and parameters to be called, the parameters can be in the form of the SOAP request or a request header with POST. The form is delivered. After the producer receives the sent request, unpack the input parameters and invoke the appropriate method of the specified class. If the call is completed, return the result to packet, and then send back to the consumer. Consumers receive the response result, unpack, complete the call of the web service. Obviously, in fact, we don't have to worry about the semantics of the HTTP information sent when using the web service. In order to achieve this, we can use a class called Proxy, and the role of Proxy is acting as a consumer application or web page and production. The intermediate process between the actual web services. For each method of the producer web service, it is also the same method in the Proxy class. Proxy 's duty is to process complex messages for all transfer, this complexity is hidden in the Proxy class, we only You need to simply call the method of this class, you don't have to care about the semantics. At this point, you may be confused, but this confusion can also be understood, which is a very confused topic. The most basic thing to understand is that the HTTP communication between consumers and producers may be complex when the WEB service is called, and there may be a lot of code. What we are more willing to see is that when you use a web service, you call the web service as soon as you use a local component. In order to achieve this goal, we use the Proxy class, its public interface corresponds to the web service method. If you are confused at this time, please see this presentation document http://aspnet.4guysfromrolla.com/code/consumews.ppt, which will explain how to use Web services.