Absolutely, it's possible. Here's the web service:
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = "
http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class WebService : System.Web.Services.WebService
{
[WebMethod]
public string HelloWorld(PhoneNumber tn)
{
return "Phone number is: (" + tn.NPA + ")" + tn.NXX + "-" + tn.Line;
}
}
public class PhoneNumber
{
private string _npa;
private string _nxx;
private string _line;
public PhoneNumber()
{
}
public PhoneNumber(string npa, string nxx, string line)
{
_npa = npa;
_nxx = nxx;
_line = line;
}
public string NPA
{
get { return _npa; }
set { _npa = value; }
}
public string NXX
{
get { return _nxx; }
set { _nxx = value; }
}
public string Line
{
get { return _line; }
set { _line = value; }
}
}
The following uses JavaScript to call the web service, but the same exact
steps would apply for VBScript. You can concatenate a string, or you can
use the DOM model (more information at
http://support.microsoft.com/kb/893659/).
The following is an HTML file, no ASP.NET or anything involved here (nothing
but client code).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="
http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
</head>
<body>
<script language="javascript">
function CallWS(npa, nxx, line)
{
var x;
x = new ActiveXObject("Microsoft.XMLHTTP");
var envelope;
envelope = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
"<soap:Envelope
xmlns:soap=\"
http://schemas.xmlsoap.org/soap/envelope/\">" +
"<soap:Body>" +
"<HelloWorld xmlns=\"
http://tempuri.org/\">" +
"<tn>" +
"<NPA>" + npa + "</NPA>" +
"<NXX>" + nxx + "</NXX>" +
"<Line>" + line + "</Line>" +
"</tn>" +
"</HelloWorld>" +
"</soap:Body>" +
"</soap:Envelope>";
// send the POST to the Web service
x.open("POST", "
http://localhost:8080/WebSite2/WebService.asmx",
false);
x.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
x.setRequestHeader("SOAPAction", "
http://tempuri.org/HelloWorld");
x.send(envelope);
alert(x.responseText);
}
</script>
<button onclick="CallWS('404','555','1212');return false;" />
</body>
</html>
Kirk Allen Evans
Developer Evangelist
Microsoft Corporation
blogs.msdn.com/kaevans