从 SharePoint 存储库中删除项目时"Element <Batch> of parameter updates is missing or invalid"异常



我得到一个错误

参数更新的元素<Batch>缺失或无效

试图删除sharepoint存储库中的文件。我的请求是:

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
    <ns0:UpdateListItems xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://schemas.microsoft.com/sharepoint/soap/">
        <ns0:listName>1e473281-959d-4a7f-952f-08aaccc3470e</ns0:listName>
        <ns0:updates>
            <ns0:Batch OnError="Continue">
                <ns0:Method ID="1" Cmd="Delete">
                    <ns0:Field Name="ID">1</ns0:Field>
                    <ns0:Field Name="FileRef">repisitoryurl/sites/Repo2/Repository/filename.docx</ns0:Field>
                </ns0:Method>
            </ns0:Batch>
        </ns0:updates>
    </ns0:UpdateListItems>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我在Tibco BusinessWorks过程中通过java代码执行此调用。我得到的响应是

Http服务器返回5XX状态码

来自IIS,所以实际的错误来自IIS日志。有趣的是,这个调用在通过soapUI执行时工作得很好。上面的请求也是来自IIS日志,只是为了确定它到达时的样子。当然,我正在调用一个适当的服务,这是repositoryurl/sites/Repo2/_vti_bin/Lists.asmx.

有谁知道我做错了什么吗?

您是否尝试通过tcp网关等工具路由您的请求?它可能有助于找出来自TIBCO BW和SOAPUI的请求之间的差异,因为必须有差异;)

您提到您正在使用Java代码来执行SOAP请求,而不是使用BW的任何内置特性。请与我们分享您的Java代码。Java代码独立运行(在BW之外)是否正确?通常我建议使用BW SOAP或Service活动来发出SOAP请求。您可以通过在URL后面附加"?"来获得所需的WSDL。wsdl":

http://repositoryurl/sites/Repo2/_vti_bin/Lists.asmx?wsdl

相关内容

  • 没有找到相关文章

最新更新