XML Web サービス経由で SharePoint リストに接続するデータ ソースを SharePoint Designer で作成しようとしています。データ ソースを作成し、問題のリストに接続しました。GetListItems を使用してすべてのデータを表示でき、クエリ パラメーターを使用してそれをフィルター処理したいと考えています。
クエリ パラメーターは XmlNode を受け取ります。これを値として指定すると、エラーが発生します。
<Query>
<Where>
<Eq>
<FieldRef Name="Title" />
<Value Type="Text">Foo</Value>
</Eq>
</Where>
</Query>
もちろん、SharePoint Designer には 1 行の入力フィールドしかないので、タブや改行は入力していません。次のクエリでエラーが表示されます。
データ ソースからデータを取得しようとしたときに、サーバーが特定されていないエラーを返しました。クエリの形式と内容を確認して、もう一度お試しください。問題が解決しない場合は、サーバー管理者に連絡してください。
リスト項目の結果セットをフィルタリングして、「Foo」のタイトルフィールドを持つものにしたいだけです。これは SharePoint Designer で実行できますか?
更新: この方法で < および > をエスケープすることも失敗します:
<Query><Where><Eq><FieldRef Name="Title" /><Value Type="Text">Foo</Value></Eq></Where></Query>
更新: これは、SoapDataSource コンポーネントと SOAP 呼び出しに関する既知の問題のようです。どうやら、提出前に < と > を過剰にエンコードしているようです。与えられた回避策は、クエリ パラメーターを指定せずにデータ ソースを保存し、それをページに追加して、[コモン データ ビュー タスク] ダイアログでフィルターを作成することです。次のフィルター文字列を使用して、これを機能させることができました。
[@ows_Title = 'Foo']
残念ながら、他のコントロールを指すために使用できる DataSource (ドロップダウン リストなど) ではなく、Data View (データを表示する) を追加しているので、これはあまり役に立ちません。
SharePoint Designer を使用してデータソースを配置できる、これに関する優れたソリューションをまだ探しています。