詳細⇒http://dejizo.jp/dev/soap.html
SearchDicItemメソッドの以下パラメータの書き方が分かりません。
・QueryListの構造体の配列
・ContentProfileのContentProfile構造体
サンプルとして有効なURLを記述お願いします。
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。
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>
ありがとうございます。
SOAPというものを誤って認識していました。
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。
試してみたら、三省堂 デイリーコンサイス国語辞典(試用版)だと、こんな結果が返ってきました orz
この辞書は試用版のため「あ」「ア」「a」「A」で始まる項目のみ表示できます。
試してみるなら、Wikipedia とかの方が良さそうです。
<guid>39124c12-6244-4c65-94eb-8b18c20c2898</guid>
ありがとうございます。
SOAPというものを誤って認識していました。
試してみたら、三省堂 デイリーコンサイス国語辞典(試用版)だと、こんな結果が返ってきました orz
試してみるなら、Wikipedia とかの方が良さそうです。
2013/06/03 13:50:55ありがとうございます。
2013/06/04 03:33:44SOAPというものを誤って認識していました。