SharePoint debug - Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was throw

        今天在一个新的SharePonit开发环境上执行代码出错,错误信息是“Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown.”。

这段代码是很普通的调用SharePoint web service lists.asmx的方法,之前都是正常的,用来获取list中的item:   

XmlDocument xmlDoc = new XmlDocument();
XmlNode query = xmlDoc.CreateNode(XmlNodeType.Element, "Query", "");
query.InnerXml = "<Where>... ...</Where>";
XmlNode viewFields = xmlDoc.CreateNode(XmlNodeType.Element, "ViewFields", "");
viewFields.InnerXml = "<FieldRef Name='Title' />";
XmlNode options = xmlDoc.CreateNode(XmlNodeType.Element, "QueryOptions", "");
options.InnerXml = "<ViewAttributes Scope='RecursiveAll' />";
XmlNode node = listWebService.GetListItems(listName, null, query, viewFields, null, options, null);

        于是debug的时候查看了一下details,发现innertext中的错误信息是“Method not found...”


        这应该是不可能的,这个是SharePoint web service提供的很常用的一个方法(GetListItems),怎么会找不到呢。我们知道,web serivce最终调用的方法是在stssoap.dll这个程序集中,难道是这个程序集出了问题?我在这个路径下找到了这个程序集“C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\BIN”,打开属性,看到的具体版本信息是14.0.6108:

        然后我查看了一下GAC中的stssoap.dll文件的属性,发现版本号竟然不一样,GAC中的stssoap.dll文件的版本号是14.0.4762:

        挺奇怪这两个文件的版本号竟然不同,web service使用的是GAC中的dll,可能是这个版本是有问题的。于是我把GAC中的stssoap.dll卸载了,将6108版本的stssoap.dll放到GAC中,这个问题就没有了。还不清楚为什么会这样。

### 回答1: javax-xml-soap-1.6.0.jar是一个用于Java语言的SOAP(简单对象访问协议)实现的库文件。SOAP是一种用于Web服务通信的协议,它允许应用程序在网络上通过XML(可扩展标记语言)传递消息。 要下载javax-xml-soap-1.6.0.jar文件,可以按照以下步骤进行操作: 1. 打开一个互联网浏览器,并导航到一个可信任的Java开发者网站,如http://www.oracle.com或http://www.java.com。 2. 在网站的搜索框中输入"javax-xml-soap-1.6.0.jar下载",并点击搜索按钮。 3. 从搜索结果中选择与您的操作系统和Java版本兼容的下载链接。请注意,不同的操作系统和Java版本可能需要不同的库文件版本。 4. 点击下载链接,开始下载javax-xml-soap-1.6.0.jar文件。下载速度取决于您的互联网连接速度和文件大小。 5. 下载完成后,将文件保存到您的计算机上的特定文件夹中,以便将来引用或导入。 6. 在您的Java项目中使用javax-xml-soap-1.6.0.jar文件。您可以通过将其添加到您的项目构建路径或将其导入到您的开发环境中来完成此操作。 请注意,下载和使用外部库文件时应谨慎,尤其是从非官方和不受信任的来源。最好从官方和可信任的渠道获取库文件,以确保其安全性和兼容性。 ### 回答2: javax-xml-soap-1.6.0.jar是Java中的一个SOAP库,用于进行SOAP协议的通信。SOAP是一种用于在网络上交换结构化信息的协议,通常用于Web服务。该库提供了一组类和方法,使开发人员能够在Java应用程序中创建和处理SOAP消息。 要下载javax-xml-soap-1.6.0.jar文件,可以按照以下步骤进行: 1. 打开网络浏览器,访问一个可信任的Java库存储库,例如Maven仓库或官方网站。 2. 在搜索框中输入"javax-xml-soap-1.6.0.jar",然后点击搜索按钮。 3. 在搜索结果中找到与所需版本相匹配的该库,然后点击下载按钮。 4. 选择一个适合你的操作系统和开发环境的下载选项,例如以.zip或.jar等格式。 5. 保存下载文件到你的计算机上一个合适的位置,例如一个代码库文件夹。 6. 将下载的javax-xml-soap-1.6.0.jar文件添加到你的Java项目中。这可以通过将它复制到你的项目依赖库文件夹中,或将其添加为项目构建工具(如Maven或Gradle)的依赖项来完成。 7. 确保在你的Java代码中导入所需的类和方法,以便在应用程序中使用javax-xml-soap-1.6.0.jar库。 以上就是关于如何下载javax-xml-soap-1.6.0.jar库的简要步骤。请根据你的具体需求和开发环境选择适合你的下载来源。 ### 回答3: javax-xml-soap-1.6.0.jar是一个用于处理SOAP(Simple Object Access Protocol,简单对象访问协议)的Java API。SOAP是一种基于XML的通信协议,常用于通过网络在不同的应用程序之间进行通信。 要下载javax-xml-soap-1.6.0.jar,首先需要找到可靠的下载来源。可以在Java官方网站、Maven中央仓库或其他可信的软件下载网站上找到该jar包的下载链接。 在Java官方网站上,可以前往Java SE Downloads页面,在该页面中搜索javax-xml-soap-1.6.0.jar。找到该jar包后,可以点击下载链接,将jar包保存在本地文件系统中。 在Maven中央仓库上,可以前往搜索界面,输入javax-xml-soap-1.6.0.jar进行搜索。找到该jar包后,可以点击对应的链接,将其添加到项目的依赖中。通过Maven构建项目时,Maven会自动从中央仓库下载并导入所需的jar包。 另外,还可以通过其他可信的软件下载网站搜索javax-xml-soap-1.6.0.jar,并按照网站提供的下载流程进行下载。 无论选择哪种方式进行下载,建议确认下载来源可靠、文件完整、无病毒,并且版本号与需要使用的版本匹配。下载完成后,将javax-xml-soap-1.6.0.jar添加到项目的构建路径中,即可使用其中的类和方法来实现对SOAP协议的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值