【发布时间】:2020-06-16 02:23:46
【问题描述】:
我们需要从外部公司的 SharePoint 之外的独立应用程序更新 (CRUD) SharePoint Online 列表项。
此应用程序使用 Soap/XML 调用来调用 SP。
(外部)应用程序能够毫无问题地连接和更新本地 SharePoint 2010 列表,但现在我们正在迁移到 SharePoint Online。
外部应用程序可以连接并查看列表项,但当我们尝试在 SharePoint Online 上更新列表中的项目时总是抛出错误
这是(编辑的)Soap 请求正文和响应:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.microsoft.com/sharepoint/soap/">
<soapenv:Header/>
<soapenv:Body>
<soap:UpdateListItems>
<soap:listName>XXXXXX GUID</soap:listName>
<soap:updates>
<Batch OnError="Continue" ListVersion="1" ViewName="XXX GUID CUT">
<Method ID="1" Cmd="Update">
<Field Name="ID">1002</Field>
<Field Name="Received">1</Field>
<Field Name="COMSBarcode">RL101150</Field>
<Field Name="DateReceived">2020-03-03</Field>
<Field Name="ReceivedBy">andras boros</Field>
<Field Name="DefectsFaults" />
<Field Name="Description">This is Box 20/1</Field>
</Method>
<Method ID="2" Cmd="Update">
<Field Name="ID">1003</Field>
<Field Name="Received">1</Field>
<Field Name="COMSBarcode">RL101151</Field>
<Field Name="DateReceived">2020-03-03</Field>
<Field Name="ReceivedBy">andras boros</Field>
<Field Name="DefectsFaults" />
<Field Name="Description">This is Box 20/2</Field>
</Method>
<Method ID="3" Cmd="Update">
<Field Name="ID">1004</Field>
<Field Name="Received">1</Field>
<Field Name="COMSBarcode">RL101152</Field>
<Field Name="DateReceived">2020-03-03</Field>
<Field Name="ReceivedBy">andras boros</Field>
<Field Name="DefectsFaults" />
<Field Name="Description">This is Box20/3</Field>
</Method>
</Batch>
</soap:updates>
</soap:UpdateListItems>
</soapenv:Body>
</soapenv:Envelope>
4:02
<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>0x81020026</ErrorCode>
<ErrorText>The list that is referenced here no longer exists.</ErrorText>
<z:row ows_Title="I changed it online (Andras Boros)" ows_T_x002d_Code="X91" ows_BoxNo="20.0000000000000"
{TL:DR}
ows_SMTotalFileCount="1002;#0" xmlns:z="#RowsetSchema"/>
</Result>
{TL:DR}
</Results>
</UpdateListItemsResult>
</UpdateListItemsResponse>
</Body>
</soap:envelope/>
是否可以在完全不同的域中从独立 Web 应用更新 SharePoint Online 列表项?
我们将如何处理身份验证。
对此的任何帮助将不胜感激。
【问题讨论】:
标签: soap sharepoint crud sharepoint-online