1

我必须将 SOAP 信封发送到共享点 Web 服务以管理将文件上传到共享点。但我不想使用 C# 代码。

我使用 web 服务副本 (_vti_bin/copy.aspx)。

我发送带有标题 SOAPAction http://schemas.microsoft.com/sharepoint/soap/CopyIntoItems的信封

这是我发送的 SOAP 信封示例:

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Body>
        <CopyIntoItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
        <SourceUrl>test.txt</SourceUrl>
        <DestinationUrls>
            <string>[URLsite]/Files/test.txt</string>
        </DestinationUrls>
        <Stream>[stream of file]</Stream>
        </CopyIntoItems>
    </soap12:Body>
</soap12:Envelope>

在源代码中,我输入了文件名。对于目的地,我将网站的 url 与文件名放在应上传文件的位置。(并且在没有文件名的情况下进行了测试)对于流文件,它以 base 64 编码为测试文件:

dGVzdHR0dHR0dHR0dA==

它不起作用,所以我收到此错误:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <CopyIntoItemsResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/">  
            <CopyIntoItemsResult>0</CopyIntoItemsResult>
            <Results>
                <CopyResult ErrorCode="Unknown" ErrorMessage="Object reference not set to an instance of an object." DestinationUrl="[URLsite]/Files/test.txt" />
            </Results>
        </CopyIntoItemsResponse>
    </soap:Body>
</soap:Envelope>

我还测试了 DestinationUrl = "[URLsute] / Files" -> 我有同样的错误。如果你看到什么可能会阻塞......那将是完美的。

此外,我不太了解可以在信封中使用的 FieldInformation,可能应该用于设置保存文件的属性。一个小例子会对我有很大帮助。

顺便说一句,我很想获得激活 Sharepoint 批准电路的示例以及 Workflow.asmx Web 服务的几个示例。顺便说一句,如果您有一个使用 web 服务 Workflow.asmx 激活 Sharepoint 批准电路的示例,我很感兴趣。

非常感谢,

吉米

4

0 回答 0