步骤:
1 .创建web服务
2生成并修改. wsdl, disco文件
3 .将web服务文件部署到_vti_简单的边缘目录中
4 .设置服务呼叫路径
5 .调用服务
具体步骤:
1 .创建和编译web服务,以SPCustomService.asmx为例
2生成并修改. wsdl, disco文件
(1) .从copy webservice生成的简单边缘到要部署的sharepoint站点虚拟目录的简单边缘
)2).layouts目录(layouts地址http://www.cn blogs.com/yung boy/admin/file ://program/files/commmon files
(3) .开始,键入cmd,导航到layouts目录,然后单击disco http://服务器:端口号/_ layouts/spcustom service.asmx (e.g.disco 3358 ddisco 如果没有disco.exe文件,则必须安装microsoft sdks并打开c :/program files/Microsoft sdks/windows disco.exe到布局目录
(4)修改. web服务文件名. disco
打开. disco和. wsdl文件,发出打开XML处理指令? XML版本=' 1.0 '编码=' utf-8 '? 替换为以下命令:
% @ page language=' c# ' inherits=' system.web.ui.page ' %
% @ assembly name=' Microsoft.SharePoint,Version=12.0.0.0,Culture=neutral,公共密钥令牌=71e9BCE 111 e 9429 c c
% @ import namespace=' Microsoft.SharePoint.utilities ' %
% @ import namespace=' Microsoft.SharePoint ' %
% response.content type=' text/XML '; %
)5)在. disco文件中,通过使用Microsoft.SharePoint.utilities.sphttputility类,使用代码生成路径替换文本路径,并使用简单的边缘ding属性替换文本路径,如示例所示
contractrefref=% sphttputility.add quote (sphttputility.htmlencode ) spweb.originalbaseURL ) request )? WDL ' ),Response.Output; %
doc ref=% sphttputility.add quote (sphttputility.htmlencode ) spweb.originalbaseURL(request ),Response.Output )
xmlns=' http://方案. XML soap.org/disco/SCL/' /
soap address=% sphttputility.add quote (sphttputility.htmlencode ) spweb.originalbaseURL (请求)、response.out toote
xmlns : Q1=' http://tempuri.org/'简单边缘ding=' q 1: hello world ' xmlns=' http://schemas.XML soap.org/disco/soap
soap address=% sphttputility.add quote (sphttputility.htmlencode ) spweb.originalbaseURL (请求)、response.out toote
xmlns : Q2=' http://tempuri.org/'简单边缘ding=' q 2: service soap 12 ' xmlns=' http://schemas.XML soap.org/disco/SSS
(6)在. wsdl文件中,将指定的SOAP地址替换为:
soap :地址位置=% sphttputility.add quote (sphttputility.htmlencode (sp web.original base URL (request ) ) % /
3 .将web服务文件部署到_vti_简单的边缘目录中
_vti_简单边缘http://www.cn blogs.com/yung boy/admin/file ://program/files/common files/Microsoft shared/www websshared将新的SPCustomServicewsdl.aspx和SPCustomServicedisco.aspx文件以及SPCustomService.asmx和dll文件复制到ISAPI文件夹中。
4 .打开位于/program files/common files/Microsoft shared/web server extensions/12/isapi中的spdisco.aspx文件,然后添加以下代码: 这可以指定为web服务
contractrefref=% sphttputility.add quote (sphttputility.htmlencode (sp web.URL '/_ VTI _简单边缘/spcustom service.) %
doc ref=% sphttputility.add quote (sphttputility.htmlencode ) spweb.URL'/_VTI_简单边缘/SPCustomService.asmx ' )
xmlns=' http://方案. XML soap.org/disco/SCL/' /
discoveryrefref=% sphttputility.add quote (sphttputility.htmlencode (sp web.URL '/_ VTI _简单边缘/spcustom service.) %
xmlns=' http://方案. XML soap.org/disco/' /
5 .调用服务
输入http://服务器:的端口号/_layouts/SPCustomService.asmx,测试服务,然后重新启动IIS
见3:http://msdn.Microsoft.com/zh-cn/library/ms 464040.aspx