デ辞蔵のSOAP版APIの使い方を教えて下さい。

詳細⇒http://dejizo.jp/dev/soap.html

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

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

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2013/06/03 00:15:32
  • 終了:2013/06/04 03:34:01

ベストアンサー

id:a-kuma3 No.2

a-kuma3回答回数4624ベストアンサー獲得回数19592013/06/03 11:44:40

ポイント150pt

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。

id:a-kuma3

試してみたら、三省堂 デイリーコンサイス国語辞典(試用版)だと、こんな結果が返ってきました orz

この辞書は試用版のため「あ」「ア」「a」「A」で始まる項目のみ表示できます。

試してみるなら、Wikipedia とかの方が良さそうです。

<guid>39124c12-6244-4c65-94eb-8b18c20c2898</guid>
2013/06/03 13:50:55
id:hogesuke_1

ありがとうございます。
SOAPというものを誤って認識していました。

2013/06/04 03:33:44

その他の回答(1件)

id:holoholobird No.1

holoholobird回答回数574ベストアンサー獲得回数1042013/06/03 07:33:49

ポイント150pt

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>
id:hogesuke_1

ありがとうございます。
SOAPというものを誤って認識していました。

2013/06/04 03:33:48
id:a-kuma3 No.2

a-kuma3回答回数4624ベストアンサー獲得回数19592013/06/03 11:44:40ここでベストアンサー

ポイント150pt

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。

id:a-kuma3

試してみたら、三省堂 デイリーコンサイス国語辞典(試用版)だと、こんな結果が返ってきました orz

この辞書は試用版のため「あ」「ア」「a」「A」で始まる項目のみ表示できます。

試してみるなら、Wikipedia とかの方が良さそうです。

<guid>39124c12-6244-4c65-94eb-8b18c20c2898</guid>
2013/06/03 13:50:55
id:hogesuke_1

ありがとうございます。
SOAPというものを誤って認識していました。

2013/06/04 03:33:44

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません