我必须将SOAP信封发送到sharepoint webservice以管理将文件上传到sharepoint。但我不想使用C#代码。
我使用网络服务副本(_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>
在源代码中,我输入了文件名。 对于目的地,我把网站的网址放在应该上传文件的文件名中(并且没有文件名进行测试) 对于流文件,它在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 =“[URLute] / Files” - &gt;我有同样的错误。 如果你看到可能阻塞的东西......那将是完美的。
此外,我并不真正理解可以在信封中使用的FieldInformation,并且可能应该用于设置保存文件的属性。一个小例子对我很有帮助。
顺便说一句,我非常有兴趣获得激活Sharepoint批准电路的示例以及Workflow.asmx webservice的几个示例。 顺便说一句,如果您有一个使用Web服务Workflow.asmx激活Sharepoint批准电路的示例,我很感兴趣。
非常感谢,
麦