Web Service部署到Sharepoint.docx
- 文档编号:29886082
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:42
- 大小:3.87MB
Web Service部署到Sharepoint.docx
《Web Service部署到Sharepoint.docx》由会员分享,可在线阅读,更多相关《Web Service部署到Sharepoint.docx(42页珍藏版)》请在冰豆网上搜索。
WebService部署到Sharepoint
WebService从创建到发表引用
文档目的:
该文档时为了让方便的使用WebService而编辑。
可以方便的在InfoPath表单中调用。
1.创建WebService
首先打开Microsoft点击VisualStudio2010工具如图1。
(图1)
在图1中点工具上方文件导航按钮出现图2。
(图2)
在图2中点击新建中的网站会出现一个对话框,如图3。
(图3)
在图3种文明选择ASP.NETWeb服务这个选项点击确定,会出现图4。
(注意上边的.netframework版本号需要3.5)
(图4)
在图4中我们可以看到一个简单的WebService已经创建完成,但是还需要附加一个工程(类库)来编辑WebService中的方法。
操作如下,点击文件在下拉列表中找到(添加)中的新建项目,如图5。
(图5)
在图5种点击新建项目会出现一个对话框如图6。
(图6)
在图6中我们选择类库,大家也可以更改名称或保存路径,之后点击确定按钮,出现图7。
(图7)
在图7种的红色区域内可以看到刚创建好的类库也显示出来了,之后将类库中的Class1.cs文件删除,将App_Code文件夹下边的Service.cs文件拖到类库下,并且将App_Code文件夹下的Service.cs删除,如图8。
(图8)
在图8中右键点击引用选择添加引用,会出现一个对话框如图9。
(图9)
在图9中找到System.Web.Services这个引用集选中后点击确定,就可以编辑WebService的方法了。
关于WebService的创建就完成了。
2.WebService发布
在我们编辑好WebService方法后就可以开始部署了,在部署的过程中,首先右键点击类库,会出现图10。
(图10)
在图10种点击属性会出现图11。
(图11)
在图11中点击签名后会跳转的签名的页面,在签名的页面中点击为程序集签名的选择框,之后会出现图12。
(图12)
在图12中点击红色区域内的下拉框会出现两个选项,点击新建会出现图13。
(图13)
在图13种自己起一个密钥文件名称,把红色区域内的钩选框对号去掉,点击钩选框就可以实现。
点击后如图14。
(图14)
在图14中可以看到输入密码的地方已经不能编辑了将文件名输入完成后点击确定按钮会出现图15。
(图15)
在图15中可以看到红色区域内的下拉框上出现了刚刚新建的密钥文件名。
之后用鼠标右键点击红线上边的类库文件会出现图16。
(图16)
在图16种点击生成按钮先将类库中的WebService方法生成DLL文件,之后继续用鼠标右键点击类库如图17。
(图17)
在图17中点击红线上边的按钮(在资源管理器中打开文件夹)将会打开这个类库所在的位置的文件夹,如图18。
(图18)
在图18中我们点击bin文件夹,在bin文件夹里边还包含着两个文件夹分别为Debug和Release,我们需要进入Debug这个文件夹中。
在里边有一个.DLL文件和一个.PDB文件,如图19。
(图19)
在看到这两个文件后我们打开桌面上的计算机如图20。
(图20)
在图20中点击计算机,会出现图21。
(图21)
在图21中双击本地磁盘C打开后,找到C盘中的Windos文件夹再进行打开,在Windos文件夹中找到assembly文件夹再进行双击打开。
也可以在红线上边的区域将(C:
\Windows\assembly)复制上去点击Enter键出现的结果都是一样的,如图22。
(图22)
现在我们将图19中看到文件夹打开。
并且同时打开图22中的文件夹如图23。
(图23)
现在我们就将图23中红色区域中的DLL文件用鼠标左键点住拖到图22中打开的文件夹中,也就是图23中左边的文件夹。
拖放过去以后单独的开图22中的文件夹,并且找到刚刚拖放进来的DLL文件。
如图24。
(图24)
在图24中可以看到刚刚拖放过来的DLL文件已经找到在红色区域内,之后用鼠标右键点击该文件如图25。
(图25)
在图25种的可以看到有一个属性按钮通过鼠标点击,会出现图26。
(图26)
在图26中点击可以看到DLL的相关信息,现在切换到刚刚创建好的WebService,如图27。
(图27)
现在点击打开图27中红色区域的.asmx文件如图28。
(图28)
在图28中我们可以看到这个.asmx文件中只有一行代码,现在将文件上的删除,将(<%@WebServiceLanguage="C#"Class="Service,classser,Version=1.0.0.0,Culture=neutral,PublicKeyToken=fd0c88189106c14d"%>)这段代码复制过去,并且将classser改为图26中的名称将PublicKeyToken=fd0c88189106c14d"中等于号后边的fd0c88189106c14d改为图26中的公钥标记,
(在这里需要用到图26中的数据都已经用红线标注可以直接选中复制)改完文件后点击保存,之后用鼠标右键点击.asmx如图29。
(图29)
在图29中点击重命名将.asmx文件的名称改变,如图30。
(图30)
在图30中我们可以看到现在已经将.asmx文件的名称改变了之后用鼠标右键点击(解决方案)如图31。
(图31)
在图31中点击生成解决方案按钮,就会将WebService生成为网站,如图32。
(图32)
在图32种可以看到红色区域内提示成功的信息。
之后右键点击.asmx出现图33。
(图33)
在图33中点击在浏览器中查看按钮会出现图34。
(图34)
在图34中将红线上边的URL地址复制下来,之后点击桌面上的开始按钮,会出现图35。
(图35)
在图35中点击所有程序找到MicrosoftVisualStudio2010这个文件夹并且打开,找到VisualStudioTools文件夹再打开,如图36。
(图36)
在图36中打开(VisualStudiox64兼容工具命令提示(2010))文件会出现图37。
(图37)
在图37中输入disco空格后边将图34中的复制下来的URL地址复制到后边完整代码如discohttp:
//localhost:
13967/WebSite1/WebServices.asmx之后点击Ebter键会出现图38。
(图38)
当出现图38中的提示后关于WebService发布提示信息后,.asmx相关的.wsdl文件和.disco文件就已经生成了。
之后打开红线上边的地址路径如图39。
(图40)
在图40中可以看到与.disco文件同名的.disco文件和.wsdl文件已经生成。
现在我们可以将这.disco和.wsdl文件拷贝的其他地方进行编辑,在这里我保存在左面的一个测试文件夹中。
如图41。
(图40)
现在我将对.disco文件进行编辑通过VisualStudio2010工具打开。
如图41。
(图41)
现在我们将.disco文件中的代码全部删除,重新编辑代码代码代码如下:
<%@PageLanguage="C#"Inherits="System.Web.UI.Page"%>
<%@AssemblyName="Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"%>
<%@ImportNamespace="Microsoft.SharePoint.Utilities"%>
<%@ImportNamespace="Microsoft.SharePoint"%>
<%Response.ContentType="text/xml";%>
wsdl"),Response.Output);%> docRef=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SPWeb.OriginalBaseUrl(Request)),Response.Output);%> xmlns="http: //schemas.xmlsoap.org/disco/scl/"/> xmlns: q1="http: //tempuri.org/"binding="q1: HelloWorld"xmlns="http: //schemas.xmlsoap.org/disco/soap/"/> xmlns: q2="http: //tempuri.org/"binding="q2: ServiceSoap12"xmlns="http: //schemas.xmlsoap.org/disco/soap/"/> (在复制代码时注意VS可能会给代码自动换行并加上引号,如果发生需要用Ctrl+Z来修改)编辑后代如图42。 (图42) 之后就可以将修改好的.disco文件进行保存,之后打开.wsdl文件进行编辑,如图43。 (图43) 在图43中我们将红线上边的代码替换成如下代码: <%@PageLanguage="C#"Inherits="System.Web.UI.Page"%> <%@AssemblyName="Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"%> <%@ImportNamespace="Microsoft.SharePoint.Utilities"%> <%@ImportNamespace="Microsoft.SharePoint"%> <%Response.ContentType="text/xml";%> 如图44。 (图44) 上边的步骤完成之后看.wsdl文件最后几行代码,如图45。 (图45) 将图45中的红线上边代码分别替换为: addresslocation=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SPWeb.OriginalBaseUrl(Request)),Response.Output);%>/> 和 addresslocation=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SPWeb.OriginalBaseUrl(Request)),Response.Output);%>/> 如图46。 (图46) 在图46中现在可以明确修改的结果了,现在需要将.wsdl文件进行保存。 之后打开刚刚修改完毕的文件路径,如图47。 (图47) 在图47中我们看到还是刚刚复制出来的两个文件,并且里边内容已经修改。 现在我要将这两个文件的文件名改了,将webServices.disco文件名改为webServicesdisco.aspx,将webServices.wsdl文件改名为webServiceswsdl.aspx文件,如图48。 (图48) 在图48中我们可以看到现在这两个文件都已经变成.aspx文件。 现在切换到VisualStudio2010工具, 找到.asmx文件所在的位置,右键点击ASP.NETWeb服务工程出现图49。 (图49) 在图49中点击红线上边的按钮在Windows资源管理器中打开文件夹出现图50。 (图50) 在图50中可以看到.asmx文件的,现在将.asmx文件复制到桌面的测试文件夹中。 如图51。 (图51) 现在我们打开路径为: C: \ProgramFiles\CommonFiles\MicrosoftShared\WebServerExtensions\14\ISAPI的文件夹,如图52。 (图52) 现在将图51中显示的所以文件拷贝到图52中所指的文件夹中。 现在到这一步已经将WebService发布到了SharePoint中。 3.测试WebService发布是否成功。 现在就可以通过URL(http: //机器名/_vti_bin/WebServices.asmx)来访问WebService了,如图53。 (图53) (需要注意: 修改的.aspx文件中的xml句语不规范在IE浏览器可以访问但是在InfoPath中无法调用) 4.InfoPath表单调用WebService 首先新建或打开一个InfoPath表单,如图54。 (图54) 点击空白表单,之后会出现图55。 (图55) 在图55中点击数据会出现图56。 (图56) 在图56中点击数据链接会出现一个对话框如图57。 (图57) 在图57中点击添加按钮出现图58。 (图58) 在图58中点击下一步其他选项不用勾选,出现图59。 (图59) 在图59中点击下一步会出现图60。 (图60) 在图60中的红色区域内输入http: //机器名/_vti_bin/WebServices.asmx之后点击下一步,就会出现图61。 (图61) 在图61选中HelloWorld方法点击下一步出现图62。 (图62) 由于HelloWorld方法没有接收参数所以直接这这里了,现在点击下一步会出现图63。 (图63) 在图中点击完成这样就将InfoPath调用WebService的过程完成了。 错误原因 注意 1.在InfoPath表单中调用WebServic时候如果在图60后提示错误,那么一定是在发布的过程中出现了问题。 文件没有放到指定位置或者在修改的那两个.aspx文件的时候其中的xml格式出现问题。 2.如果是在图61以后提示错误可能有两种原因: 2.1在编写WebServic的方法中存在错误,就是方法中的代码存在错误。 2.2在引用了WebServic中有参数的方法时有些参数需要设置默认值。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web Service部署到Sharepoint Service 部署 Sharepoint