如何部署使用自定义WebService到Sharepoint.doc
文本预览下载声明
MOSS2010中使用自定义WebService
发布后,把到,使用如下命令行部署
注册GAC
gacutil /i c:\publish\ bin\EG.EIP.BPMWebService.dll
卸载GAC
gacutil /u EG.EIP.BPMWebService
把ASP.NET Webservice的asmx文件拷贝到%ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\LAYOUTS目录
重启IIS:iisreset
通过disco命令,生成.wsdl文件和.disco文件
disco?http://moss:8001/_layouts/BPMDocService.asmx /out:c:\moss
产生2个文件ervice.wsdl,BPMServices.disco,修改.wsdl和.disco,把这两个文件另存为BPMServicewsdl.aspx和BPMServicedisco.aspx,修改分别:
ervice.wsdl的【如下部分为ervicewsdl.aspx
修改为
BPMServices.disco的【如下部分】为ervicedisco.aspx
修改为:
ervice.asmx,BPMServicewsdl.aspx和BPMServicedisco.aspx一起拷贝部署到%ProgramFiles%\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI目录下。
需要在的.config配置如下信息:
assemblies节点下添加
add assembly=EG.EIP.BPMWebService, Version=, Culture=neutral, PublicKeyToken= 6c0f195f60350dc8 /。
!-- 站点的参数 --
appSettings
!-- spsite的URL--
add key =siteUrl value =http://moss:8001/
!-- spweb的URL--
add key =webUrl value =/
!-- 错误日志要写的文件夹 --
add key =LogFolderPath value =C:\SynchLog/
/appSettings
重启IIS:iisreset
运行效果图:
此
引用此web service,由于在站点下,是匿名的,因此需要设置访问的账号
:
如果新闻和公告的列表名称以及显示名(我这里的的ame,因为我采用了来赋值的,请修改中的【EGNewsConfigcs】EGDocConfig.cs]的配置Entity.cs】【ocEntity.cs】TestWeb是调用的实例
EG.EIP.BPMWebService是web services接口
BLL是需要引用的所有DLL
WindowsFormsApplication1另外测试的,不需要管理
发布的列表是我在本源码中调用的列表名称和字段名称,如果需要修改请参考第2点说明来进行
调用后写入的数据效果图
新闻效果图
效果图
关键性成果
公司、项目、专业、阶段全是托管元数据类型
?xml version=1.0 encoding=utf-8?
……………
……………
……………
wsdl:service name=Service
wsdl:port name=ServiceSoap binding=tns:ServiceSoap
soap:address location=http://localhost:17906/MyTestWebService/Service.asmx /
/wsdl:port
wsdl:port name=ServiceSoap12 binding=tns:ServiceSoap12
soap12:address location=http://localhost:17906/MyTestWebService/Service.asmx /
/wsdl:port
/wsdl:service
%@ Page Language=C# Inherits=System.Web.UI.Page %
%@ Assembly Name=Microsoft.SharePoint, Version=, Culture=neutral,PublicKeyToken=71e9bce111e9429c %
%@ Import Namespace=Microsof
显示全部