人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

デ辞蔵のSOAP版APIの使い方を教えて下さい。
詳細⇒http://dejizo.jp/dev/soap.html

SearchDicItemメソッドの以下パラメータの書き方が分かりません。
・QueryListの構造体の配列
・ContentProfileのContentProfile構造体

サンプルとして有効なURLを記述お願いします。

●質問者: hogesuke
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● holoholobird
●150ポイント

querylist構造体の配列は、同じ階層に記述することで表現します。
ContentProfileは一番下に記入します。タグはリンク先の説明の通りです。
ですので下のような感じになります。

 <QueryList>
 <Query>
 <Words>string</Words>
 <ScopeID>string</ScopeID>
 <MatchOption>EXACT or STARTWITH or ENDWITH or CONTAIN</MatchOption>
 <MergeOption>AND or OR</MergeOption>
 </Query>
 <Query>
 <Words>string</Words>
 <ScopeID>string</ScopeID>
 <MatchOption>EXACT or STARTWITH or ENDWITH or CONTAIN</MatchOption>
 <MergeOption>AND or OR</MergeOption>
 </Query>
 </QueryList>
 <ContentProfile>
 <FormatType>string</FormatType>
 <ResourceOption>ID or URI</ResourceOption>
 <CharsetOption>MOJIKYO or UNICODE or WINJPENV or JIS</CharsetOption>
 </ContentProfile>

hogesukeさんのコメント
ありがとうございます。 SOAPというものを誤って認識していました。

2 ● a-kuma3
●150ポイント ベストアンサー

http://public.dejizo.jp/SoapServiceV11.asmx
から、SerchiDicItem をクリックすると、SOAP 1.1、SOAP 1.2 のリクエスト&レスポンスのサンプルが見られます。

入れる値は、ここに書いてあるままなんですけどね。
http://dejizo.jp/dev/soap.html#query
http://dejizo.jp/dev/soap.html#contentprofile
# と、ここまでは知ってるんでしょうね...


国語辞典から「春」と「季語」を文章中に含むものを検索する場合のサンプルを書いてみました(SOAP 1.2 です)。
検索結果の先頭から 20個を内容を含めて検索です。

<?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>
 <SearchDicItem xmlns="http://MyDictionary.jp/SOAPServiceV11"> <!-- name space の指定は適当で良い -->
 <AuthTicket></AuthTicket> <!-- 無償版なので空で良い -->
 <DicIDList>
 <guid>8893ca10-e596-4df3-9393-69b799610f7d</guid> <!-- 三省堂 デイリーコンサイス国語辞典(試用版) -->
 </DicIDList>
 <QueryList>
 <Query>
 <Words></Words>
 <ScopeID>ANYWHERE</ScopeID> <!-- 全文検索を指定 -->
 <MatchOption>CONTAIN</MatchOption> <!-- 部分一致を指定 -->
 <MergeOption>AND</MergeOption>
 </Query>
 <Query>
 <Words>季語</Words>
 <ScopeID>ANYWHERE</ScopeID> <!-- 全文検索を指定 -->
 <MatchOption>CONTAIN</MatchOption> <!-- 部分一致を指定 -->
 <MergeOption>AND</MergeOption>
 </Query>
 </QueryList>
 <ContentProfile>
 <FormatType>XHTML</FormatType> <!-- XHTML 固定 -->
 <ResourceOption>URI</ResourceOption> <!-- 通常は URI を指定 -->
 <CharsetOption>UNICODE</CharsetOption> <!-- 応答が UTF-8 なので、UNICODE を指定しておけば良さそう -->
 </ContentProfile>
 <SortOrderID></SortOrderID> <!-- 空文字にしろ、と -->
 <ItemStartIndex>0</ItemStartIndex> <!-- 先頭から -->
 <ItemCount>20</ItemCount> <!-- 20個を検索 -->
 <CompleteItemCount>20</CompleteItemCount> <!-- 内容も 20個全て -->
 </SearchDicItem>
 </soap12:Body>
</soap12:Envelope>

辞書ID は、GetDicList メソッドで取得します。
GetDicListのリファレンスのページで、テスト実行ができるので、その結果から抜き出しても OK。


a-kuma3さんのコメント
試してみたら、三省堂 デイリーコンサイス国語辞典(試用版)だと、こんな結果が返ってきました <tt>orz</tt> >> この辞書は試用版のため「あ」「ア」「a」「A」で始まる項目のみ表示できます。 << 試してみるなら、Wikipedia とかの方が良さそうです。 >|xml| <guid>39124c12-6244-4c65-94eb-8b18c20c2898</guid> ||<

hogesukeさんのコメント
ありがとうございます。 SOAPというものを誤って認識していました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ