sharepoint - 如何从 UpdateListItems SOAP 响应中获取错误详细信息?

标签 sharepoint soap

我正在为 Microsoft SharePoint 编写 iOS 客户端。我的目标是更新列表项的日期时间字段并获取有关错误的详细信息。我有一个带有自定义服务器端验证的日期时间字段。

这是对/_vti_bin/Lists.asmx 的请求:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <UpdateListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
      <listName>{405FFE91-946E-4B2F-861E-DDB24F1629F2}</listName>
      <updates>
        <Batch OnError="Continue" ListVersion="1">
          <Method ID="1" Cmd="Update">
            <Field Name="ID">1</Field>
            <Field Name="DateTime_x0020_E">2000-08-08 07:00:00 +0000</Field>
          </Method>
        </Batch>
      </updates>
    </UpdateListItems>
  </soap:Body>
</soap:Envelope>

这是一个回应:
?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <UpdateListItemsResponse 
            xmlns="http://schemas.microsoft.com/sharepoint/soap/">
            <UpdateListItemsResult>
                <Results>
                    <Result ID="1,Update">
                        <ErrorCode>0x8102001c</ErrorCode>
                        <ErrorText>Invalid date/time value.

A date/time field contains invalid data. Please check the value and try again.</ErrorText>
                        <z:row ows_ContentTypeId="0x0100D3AA6E2413CF1645A9101D3421B797AE" ows_Title="test of time" ows_DateTi... skipped...

此响应没有说明此字段的有效范围。但是,当我尝试在 SharePoint 站点上设置无效日期时,出现正确的错误:

SharePoint provides details on error

问:如何使用 SharePoint SOAP 服务获取有关错误的详细信息?

最佳答案

我发现我的错误在哪里。该字段仅包含日期,因此 SharePoint 可能不接受 2000-08-08 07:00:00 +0000 的值.当我只发送日期时:

<Field Name="DateTime_x0020_E">1995-08-08</Field>

我得到正确的错误文本:
<Result ID="1,Update">
   <ErrorCode>0x810200c5</ErrorCode>
   <ErrorText>[DateTime E] - [Date should be after July 1, 2007]</ErrorText>
   ...
</Result>

关于sharepoint - 如何从 UpdateListItems SOAP 响应中获取错误详细信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16042259/

相关文章:

c# - 以编程方式更改 SPFolder 的名称

typescript - 获取或阅读数据分类术语库 Sharepoint

sharepoint - SharePoint 炒作是怎么回事?

php - SOAP:HTTP 错误请求

带参数的 PHP SOAP 客户端调用函数

c++ - gSOAP - 如何使用 SSL 和自签名证书

sharepoint - MS Search Server 2010 Express : Issue with crawl rules for site requiring cookie

sharepoint - SharePoint 搜索索引中哪个字段包含 "created date"?

c++ - 如何在 SOAP 消息中发送密码

java - 使用wsgen生成Web服务的Gradle任务