开发平台:
WinXP SP3+IIS5.1+IE7+Visual Studio 2005+Visual Studio 6.0+ MS SOAP Toolkit 3.0
一.创建ASP.NET WebService
Visual Studio 2005à文件à新建à网站àASP.NET Web服务项目WebServiceDemo。
以下为Service.cs代码清单:
生成à生成网站à发布网站。
二.为WebServiceDemo创建虚拟目录WebServiceDemo
开始à设置à控制面板à管理工具àInternet信息服务à默认网站à右击新建à虚拟目录WebServiceDemo指向Projects/WebServiceDemo/PrecompiledWeb/WebServiceDemo.
三.在Web浏览器中输入http://localhost/WebServiceDemo/Service.asmx
出现以下错误:
无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
名称以无效字符开头。处理资源 'http://localhost/WebServiceDemo/Service.asmx' 时出错。第 1 行,位置: 2
<%@ WebService Class="Service" %>
-^
解决方案:http://blog.youkuaiyun.com/changyuming/archive/2008/09/24/2971400.aspx
运行C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe –i
在cmd窗口中将显示:
开始安装ASP.NET <2.0.50727>。
…………
若要使(局域网)外网访问WebServiceDemo/Service.asmx,则需要为Windows防火墙添加80端口的例外TCP80。在局域网内其他机器的Web浏览器中输入:http://192.168.89.125/WebServiceDemo/Service.asmx则可访问本机的Service.asmx。
若出现“此 Web 服务不符合 WS-I Basic Profile v1.1。”错误,则在Web.Config文件中<system.web></system.web>之间添加以下代码:
<!--解决“此Web服务不符合 WS-I Basic Profile v1.1。”错误-->
<webServices>
<conformanceWarnings>
<remove name='BasicProfile1_1'/>
</conformanceWarnings>
</webServices>
四.创建VC6.0客户端SOAP应用程序远程调用AddNumbers函数
参考SOAP Toolkit 3.0 User Guideà Basic Sample Applicationsà Using the Low-Level APIs for SOAP Messages (DocSample2) à Creating a C++ Version of DocSample2à Creating the Client-Side C++ Code
以下为Win32 Console项目SoapDemo的soapDemo.cpp代码清单:
五.SoapDemo客户端调用AddNumbers执行结果:Answer=36
参考: