iOSのSharepoint用ドキュメントライブラリにドキュメントをアップロードしようとしていますが、成功は限られています。低レベルWebサービスを使用してSharepointライブラリにドキュメントをアップロード
私はこのSOAP要求を使用して、少なくともターゲットドキュメントライブラリに表示されるように、私のドキュメントを取得するためにCopy.CopyIntoItemsを使用しています
<?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>
<CopyIntoItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<SourceUrl>[server url]</SourceUrl>
<DestinationUrls><string>[server url]</string></DestinationUrls>
<Fields></Fields>
<Stream>[base 64 encoded string]</Stream>
</CopyIntoItems>
</soap:Body>
</soap:Envelope>
これは、私は、少なくとも私の文書は私のライブラリに表示されていことを得ます。しかし、レスポンスでは(GUIDなどの)メタデータが表示されないため、管理が難しくなります。さらに、ブラウザでアイテムを表示するときに、「ソースアイテムの表示」のようなアクションのオプションと、「このアイテムは別の場所からコピーされました...」という追加のプロンプトを削除するときに追加のオプションがあります。 SharePointを使用するのは主にボブだから、これはそれらを混乱させるだけの役目を果たします。理想的には、ドキュメントのアクションは、ブラウザのドキュメントライブラリを直接アップロードするときと同じように見えます。透明度が高いほど良い。
私がオンラインで見た他の一般的な解決策は、Lists.UpdateListItemsとLists.AddAttachmentの組み合わせを使用することでした。 Lists.UpdateListItemsを正しく動作させて新しいエントリを作成しました。これはGUIDのようなメタデータを返してくれて、少なくともがフォームアップロードされたドキュメントと同じように見えます。しかし、Lists.AddAttachmentは私のためには機能しません。 AddAttachmentこのSOAPリクエストを使用して(GUIDはUpdateListItemsで新しく追加されたアイテムのGUIDです):
<?xml version="1.0" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<AddAttachment xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>Test</listName>
<listItemID>{1F214D95-B92B-4E10-8B96-4B04DC6DA9B6}</listItemID>
<fileName>screenshot.png</fileName>
<attachment>[base 64 string]</attachment>
</AddAttachment>
</soap:Body>
</soap:Envelope>
私は次の応答を取得:
<?xml version="1.0" ?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<soap:Fault>
<faultcode>
soap:Server
</faultcode>
<faultstring>
Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown.
</faultstring>
<detail>
<errorstring xmlns="http://schemas.microsoft.com/sharepoint/soap/">
Input string was not in a correct format.
</errorstring>
</detail>
</soap:Fault>
</soap:Body>
</soap:Envelope>
任意のアイデア?私は間違った道をどこかに行っていると確信しています、私はちょうどどこか分かりません。ありがとう!
次の試行では、GUIDであるupdateListItemsのows_UniqueIdを使用する代わりに、ows_ID(この場合は単純な数字です)を使用するように設定しています。今回は、私の反応は一見もっと一般的だった "価値は期待された範囲に収まらない" Soooo ...まだ動作しませんが、私はこれが近いと思いますか? – cscott530