Previous topic

ProtocolBuffersで呼び出す

Next topic

FAQs

This Page

SOAPで呼び出す

ここでは, 各種のネットワーク呼び出しプロトコルに対応させる で用意したRaSCサービスを,SOAP経由で呼び出す 方法について説明します.SOAP経由での呼び出しには, soapUI を使用します. 予め, soupUIをインストール しておいて下さい. また,呼び出す対象のRaSCサービスは 各種のネットワーク呼び出しプロトコルに対応させる を実施するなどして,前もって起動しておきます.

まず,Webブラウザから,RaSCサービスのSOAPサービスページを表示します. ___WAR_NAME___ は, 各種のネットワーク呼び出しプロトコルに対応させる で設定したものにしてください.(※末尾にスラッシュを 付けないでください)

http://localhost:8080/___WAR_NAME___/services

上記のURLにアクセスすると,以下のページが表示されます.

_images/soap_gui.png

図1: SOAPサービスページ

表示されている中で,MeCabService (wsdl) の (wsdl) を「名前を付けてリンク先を保存(K)...」 [1] で保存します.

_images/soap_gui_wsdl.png

図2: MeCabService のwsdlを保存

または,curlコマンド等でも取得可能です.

$ curl -o mecab.xml http://localhost:8080/jp.go.nict.rasc.mecabservice/services/MeCabService?wsdl
  • curlで取得する場合には,wsdlのリンク先の http://localhost:8080/jp.go.nict.rasc.mecabservice/services/MeCabService?wsdl を指定します.
  • mecab.xml として保存することにします.

次に,ダウンロードした,wsdlの内容を確認します.ここでは,mecab.xmlとして保存したものとします.

mecab.xml(wsdl)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://172.21.20.78:8080/jp.go.nict.rasc.mecabservice/services/MeCabService"
 xmlns:apachesoap="http://xml.apache.org/xml-soap"
 xmlns:impl="http://172.21.20.78:8080/jp.go.nict.rasc.mecabservice/services/MeCabService"
  xmlns:intf="http://172.21.20.78:8080/jp.go.nict.rasc.mecabservice/services/MeCabService"
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
  xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDLはApache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)によって生成されました / [en]-(WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT))-->
 <wsdl:types>
  <schema targetNamespace="http://172.21.20.78:8080/jp.go.nict.rasc.mecabservice/services/MeCabService"
   xmlns="http://www.w3.org/2001/XMLSchema">
   <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
   <complexType name="ArrayOf_xsd_string">
    <complexContent>
     <restriction base="soapenc:Array">
      <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
     </restriction>
    </complexContent>
   </complexType>
  </schema>
 </wsdl:types>
   <wsdl:message name="initResponse">
   </wsdl:message>
   <wsdl:message name="initRequest">
   </wsdl:message>
   <wsdl:message name="analyzeResponse">
      <wsdl:part name="analyzeReturn" type="xsd:string"/>
   </wsdl:message>
   <wsdl:message name="analyzeRequest">
      <wsdl:part name="text" type="xsd:string"/>
   </wsdl:message>
**(以下,省略)**
  • 説明で使用したホストは,172.21.20.78 のIPアドレスです,適時,読み替えてください.
  • 上記,ハイライトしたコメントが含まれる場合には, コメントを削除してください (soapUIでエラーになる場合があります).
<!--WSDLはApache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)によって生成されました / [en]-(WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT))-->

上記,コメントを削除します.

次に,soupUIを起動します.

_images/soapUI_main.png

図3: soapUI起動時の画面

soapUIのFileメニューから, New SOAP Project を選択します.

_images/soapUI_newprj.png

図4: New SOAP Project

保存しておいた,wsdlファイル(mecab.xml)を読み込ませます.

_images/soapUI_xmlload.png

図5: wsdl設定

soapUIのナビゲーターから, analyze - Request 1 を選択します.

_images/soapUI_req.png

図6: Request1を選択

soapUI画面で,リクエスト用XMLにMeCabで解析する文字列を入力します.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:prox="http://proxy.sun.com">
   <soapenv:Header/>
   <soapenv:Body>
      <prox:analyze soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <text xsi:type="xsd:string">今日の天気はどうですか</text>
      </prox:analyze>
   </soapenv:Body>
</soapenv:Envelope>
  • <text xsi:type=”xsd:string”>?</text> の箇所に文字列を入力します.
  • 上記の場合には, 今日の天気はどうですか を入力しています.

soapUIの実行ボタンを押下します.

_images/soupUI_btn.png

図7: 実行ボタン

MeCabの実行結果がXMLで表示されます.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <ns1:analyzeResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
       xmlns:ns1="http://proxy.sun.com">
         <analyzeReturn xsi:type="xsd:string">今日        名詞,副詞可能,*,*,*,*,今日,コンニチ,コンニチ
の       助詞,連体化,*,*,*,*,の,ノ,ノ
天気      名詞,一般,*,*,*,*,天気,テンキ,テンキ
は       助詞,係助詞,*,*,*,*,は,ハ,ワ
どう      副詞,助詞類接続,*,*,*,*,どう,ドウ,ドー
です      助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
か       助詞,副助詞/並立助詞/終助詞,*,*,*,*,か,カ,カ</analyzeReturn>
      </ns1:analyzeResponse>
   </soapenv:Body>
</soapenv:Envelope>
  • 上記ハイライト部分がMeCabの解析結果になります.

脚注

[1]Mozilla Firefoxの場合