小さなプログラムを作成しました。このプログラムは、Microsoft Search Server (_vti_bin/search.asmx) Web サービスに要求を出し、回答を受け取って表示します。リクエストの形式は STRING です。
クエリ パケットは次のとおりです。
@"<QueryPacket xmlns='urn:Microsoft.Search.Query'>
<Query>
<SupportedFormats>
<Format revision='1'> urn:Microsoft.Search.Response.Document:Document</Format>
</SupportedFormats>
<Context>
<QueryText language='en' type='STRING'>{0}
</QueryText>
</Context>
<ResultProvider>Default</ResultProvider>
<Range>
<Count>10</Count>
</Range>
</Query>
</QueryPacket>"
そしてリクエストコードを作る:
var queryService = new QueryWebServiceProxy.QueryService();
queryService.Credentials = System.Net.CredentialCache.DefaultCredentials;
MessageBox.Show(queryService.Query(GetXmlString()));
private string GetXmlString()
{
return String.Format(QUERY_XML, queryTextBox.Text);
}
応答には、DataSet と XML の 2 種類があります。私は XML で作業することを好みますが、DataSet の回答には XML よりも多くの情報があります。
DataSet: WorkId、Rank、Title、Size、Path、Description、Write、SiteName、CollapsingStatus、HitHighlightedSummary、HitHighlightedProperty、ContentClass、IsDocument... XML : title、action、urlLink、Description、Date
XML形式で詳細情報を受け取ることはできますか? タグ「SupportedFormats」が役に立ちますか?