Sharepointリストでデータを検索しようとしていません。SOAPを使用してSharepointリスト内のフィールドデータを見つけることができません
私はリストサービス "GetList"メソッドを使用してリストIDを持っています。探しているフィールドがリストに付いていることがわかります。私は "GetListItems"を使用しようとすると、フィールドはありません。
私が望むフィールドがデフォルトビューにないことを意味していると仮定していますが、ビューフィールドを明示的に定義したりクエリを変更しても、データを見つけることができません。私は何をすべきか?
私が作った試みはいくつかありますが、私が探しているフィールドはありません。
方法1:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns0:Body>
<ns1:GetListItems>
<ns1:listName>{1A8A3DF2-E5D0-4DDE-B31A-CCC2FB7DA90F}</ns1:listName>
<viewFields>
<FieldRef Name="_ows_Title"/>
<FieldRef Name="_ows_Project_x0020_Description"/>
<FieldRef Name="_ows_Style_x0020_number_x0020_quantit"/>
<FieldRef Name="_ows_Requirement"/>
<FieldRef Name="_ows_First_x0020_order_x0020_entry_x0"/>
<FieldRef Name="_ows_MKT_x0020__x0025__x0020_Completi"/>
<FieldRef Name="_ows_MFG_x0020__x0025_Completion"/>
</viewFields>
<ns1:rowLimit>10</ns1:rowLimit>
</ns1:GetListItems>
</ns0:Body>
</SOAP-ENV:Envelope>
方法2:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns0:Body>
<ns1:GetListItems>
<ns1:listName>{1A8A3DF2-E5D0-4DDE-B31A-CCC2FB7DA90F}</ns1:listName>
<viewFields>
<FieldRef Name="Title"/>
<FieldRef Name="Project_x0020_Description"/>
<FieldRef Name="Style_x0020_number_x0020_quantit"/>
<FieldRef Name="Requirement"/>
<FieldRef Name="First_x0020_order_x0020_entry_x0"/>
<FieldRef Name="MKT_x0020__x0025__x0020_Completi"/>
<FieldRef Name="MFG_x0020__x0025_Completion"/>
</viewFields>
<ns1:rowLimit>10</ns1:rowLimit>
</ns1:GetListItems>
</ns0:Body>
</SOAP-ENV:Envelope>
方法3:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns0:Body>
<ns1:GetListItems>
<ns1:listName>{1A8A3DF2-E5D0-4DDE-B31A-CCC2FB7DA90F}</ns1:listName>
<Query>
<Where>
<Gt>
<FieldRef Name="ID"/>
<Value Type="Counter">0</Value>
</Gt>
</Where>
</Query>
<ns1:rowLimit>10</ns1:rowLimit>
</ns1:GetListItems>
</ns0:Body>
</SOAP-ENV:Envelope>
すべての3つの方法が(私のフィルタを無視して、デフォルトのビュー内のすべてのフィールドをリスト/クエリ)しかし、10の結果に正しく制限されています。
名前にはどのフィールドを使用しますか?ここにはそのフィールドのサンプルがあります。 _RowOrdinal = "0" _DisplayName = "MFGの%完了" _Name = "MFG_x0020__x0025_Completion" _SourceID = "{62606aad-875B-428D-b248-517d564a6e53}" _ColName = "するfloat4" _StaticName = "MFG_x0020__x0025_Completion" _Type = "Number" _ID = "{111e8dae-2af3-4ea0-aa3f-c72560e68a77}" – user1209675
フィールドの内部名は常に使用します。この例では、 '_Name'フィールドから' MFG_x0020__x0025_Completion'となります。どのフィールドがクエリを壊しているのかわからない場合は、一度に1つの 'FieldRef'ノードを' ViewFields'に追加し、毎回それを実行することができます。 – Thriggle
まだ運がありません。私が使っているフィールドがデフォルトビューであれば、デフォルトビュー全体が得られます。そうでない場合は、エラーが発生します。ここでフィールド・セクションの例です: ' <するFieldRef名= "MFG_x0020__x0025_Completion"/> NS1:viewFields>このフィールドを使用して' は時間への要求をタイムアウトします。私は名前が有効だが知っている。 –
user1209675