Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Consume WebService Using SOAP

0.00/5 (No votes)
27 Feb 2005 1  
Consume WebService Using SOAP

Introduction

Web Services are thought of as a means to provide easily accessible services over a network. We can use VS.NET IDE to create a Web Service.

While there are different techniques to communicate with a Web Services, SOAP is regarded as the actual standard. SOAP messages are being sent to service endpoints. This can simply be SOAP over HTTP.

Information Regarding Exsiting Web Service

.Asmx file for that WebService (URL):

http://localhost/AddNumbers/Service1.asmx

WSDL URL:

http://localhost/AddNumbers/Service1.asmx ?wsdl

Namespace of web service:

http://localhost/wwwroot/addnumbers/Service1

Method:

int AddTwoNumbers (int, int)

Class:

Service1

Steps For Consuming Web Service Using SOAP

  1. Start a new ASP.NET web application.
  2. Install msxml.msi, then click on “Add reference “ and then select “Interop.MSXML2.dll” and click on add.

    You can download the English version of the msxml.msi install file via this link: http://download.microsoft.com/download/7/a/7/7a72ca2e-39cc-4600-ab36-bf3fea876a65/msxml3.msi.

  3. Create one label to display result (ID = lablel1).
  4. Declare objXMLHttp of type MSXML2.ServerXMLHTTP40.
          Protected MSXML2.ServerXMLHTTP40 objXMLHttp 
  5. Declare one string strSoapEnvelope which contains soap request.
          string strSoapEnvelope= “”;
  6. Create SOAP Envelope strSoapEnvelope like this:
    strSoapEnvelope = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
    strSoapEnvelope += "<soap:Envelope ";
    strSoapEnvelope += "xmlns:xsi = \"http://www.w3.org/2001/XMLSchema-instance\" ";
    strSoapEnvelope += "xmlns:xsd= \"http://www.w3.org/2001/XMLSchema\" ";
    strSoapEnvelope += "xmlns:soap= \"http://schemas.xmlsoap.org/soap/envelope/\">";
    strSoapEnvelope += "<soap:Body>";
    strSoapEnvelope += "<AddTwoNumbers  
    	xmlns=\"http://localhost/wwwroot/addnumbers/Service1\">";
    strSoapEnvelope +="<a>10</a>";
    strSoapEnvelope += "<b>12</b>"
    strSoapEnvelope += "</AddTwoNumbers >";
    strSoapEnvelope += "</soap:Body>";
    strSoapEnvelope += "</soap:Envelope>";
  7. Create an instance of ServerXMLHTTP40.
    objXMLHttp = new ServerXMLHTTP40();
  8. Set the header of SOAP request.
    objXMLHttp.open("POST", http://192.168.84.90/AddNumbers/Service1.asmx,false,"","")
    objXMLHttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
    objXMLHttp.setRequestHeader("SOAPAction", 
    	"http://localhost/wwwroot/addnumbers/Service1/AddTwoNumbers");
  9. Send the SOAP request.
    objXMLHttp.send(strSoapEnvelope.ToString());
  10. Wait for some time.
    objXMLHttp.waitForResponse(500);
  11. Take response in string outXML.
    string outXML = objXMLHttp.responseText.ToString();
  12. Display result in label(ID= label1):
    Label1.Text = outXML.ToString();

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here