Interstage Portalworks 管理者ガイド
目次 索引 前ページ次ページ

第4章 WebサービスUSPの管理> 4.4 Webサービスの利用

4.4.4 カスタムフォームの作成

サンプルフォームや標準のレスポンスXSLTは、非常にシンプルです。WS USPでは、運用管理者が独自に作成したWeb サービスを呼び出すカスタムフォームやレスポンスを整形するカスタムXSLTを使用する機能があります。ここでは、例を使って、サンプルフォームをカスタマイズしてカスタムフォームを作る方法を説明します。カスタムXSLTの作り方については、“4.4.5 カスタムXSLTの作成”で説明します。

翻訳Webサービスを解説したページ(http://www.xmethods.com/ve2/ViewListing.po?serviceid=14)によると、パラメータ[translationmode]には、以下のようなキーワードが指定ができます。

translationmode

翻訳

"en_fr"

英語 -> フランス語

"en_de"

英語 -> ドイツ語

"en_it"

英語 -> イタリア語

"en_pt"

英語 -> ポルトガル語

"en_es"

英語 -> スペイン語

"fr_en"

フランス語 -> 英語

"de_en"

ドイツ語 -> 英語

"it_en"

イタリア語 -> 英語

"pt_en"

ポルトガル語 -> 英語

"es_en"

スペイン語 -> 英語

サンプルフォームのままでは、この表により[translationmode]に入力するキーワードを調べる必要があります。これでは、使い勝手が良くありません。そこで、[translationmode]をプルダウンから選択できるようなカスタムフォームを作ることにします。

カスタムフォームの作成は、以下の手順で行います。

  1. サンプルフォームのソースを取得します。
  2. サンプルフォームを編集し、カスタムフォームを作成します。
  3. WS USPのフォルダにカスタムフォームを配置します。
  4. 別名パラメータを変更します。

■サンプルフォームのソースの取得

サンプルフォームのソースコードを表示するには、[source code]リンクをクリックしてください。 すると、ダウンロードが始まります。これを任意の名前で保存してください。

ここでは、名前を「Translater.html」として保存することにします。

■サンプルフォーム編集によるカスタムフォームの作成

保存したファイル(Translater.html)をテキストエディタや市販のホームページ作成ソフトなどで編集します。

サンプルフォームのHTML

 1: <html>
 2:   <head>
 3:     <title>BabelFishService</title>
 4:   </head>
 5:   <body>
 6:     <h1>BabelFishService</h1>
 7:     <a href="$pwdir:c/$pwsrv;sponsorAction=show;type=form;WSDL=http%3A%2F%2Fwww.xmethods.net%2Fsd%2F2001%2FBabelFishService.wsdl">source code</a>
 8:     <h2>WSDL</h2>
 9:     <a href="http://www.xmethods.net/sd/2001/BabelFishService.wsdl">http://www.xmethods.net/sd/2001/BabelFishService.wsdl</a>
10:     <h2>Operations</h2>
11:     <ul>
12:       <!-- Binding : BabelFishBinding -->
13:       <li>BabelFish<form action="$pwdir:c/$pwsrv;pw%3AsponsorAction=invoke" method="POST">
14:           <input type="hidden" name="WSDL" value="http://www.xmethods.net/sd/2001/BabelFishService.wsdl"/>
15:           <input type="hidden" name="operation" value="BabelFish"/>
16:           <!-- PortType : BabelFishPortType -->
17:           <!-- Message : BabelFishRequest -->
18:           translationmode : <input type="text" name="translationmode"/>
19:           <br/>
20:           sourcedata : <input type="text" name="sourcedata"/>
21:           <br/>
22:           response format : 
23:           <input type="radio" name="ResXSLT" value="none"/>
24:           XML
25:           <input type="radio" name="ResXSLT" value="" checked="checked"/>
26:           HTML <br/>
27:           <input type="submit" value="invoke"/>
28:         </form>
29:       </li>
30:     </ul>
31:   </body>
32: </html>

ただし、サンプルフォームを編集するうえで、変更してはいけないものがあります。 上記のHTMLフォームを例に、編集してはならない要素を以下に示します。

以下のカスタムフォーム(Translater.html)は、上記の属性値を変更せずに、作成した例です。

カスタムフォーム(Translater.html)

 1: <html>
 2:   <head>
 3:     <title>Translater</title>
 4:   </head>
 5:   <body>
 6:     
 7:     <h2>翻訳</h2>
 8:     <form action="$pwdir:c/$pwsrv;pw%3AsponsorAction=invoke" method="post">
 9:       <input type="hidden" name="WSDL"
10:   value="http://www.xmethods.net/sd/2001/BabelFishService.wsdl"/>
11:       <input type="hidden" name="operation" value="BabelFish"/>
12:       翻訳する文:
13:       <br>
14:       <textarea name="sourcedata" rows="5" cols="40"></textarea>
15:       <br>
16:       <select name="translationmode">
17:         <option value="en_fr">英語からフランス語へ</option>
18:         <option value="en_de">英語からドイツ語へ</option>
19:         <option value="en_it">英語からイタリア語へ</option>
20:         <option value="en_pt">英語からポルトガル語へ</option>
21:         <option value="en_es">英語からスペイン語へ</option>
22:         <option value="fr_en">フランス語から英語へ</option>
23:         <option value="de_en">ドイツ語から英語へ</option>
24:         <option value="it_en">イタリア語から英語へ</option>
25:         <option value="pt_en">ポルトガル語から英語へ</option>
26:         <option value="es_en">スペイン語から英語へ</option>
27:       </select>
28:       <input type="submit" value="翻訳"/>
29:       : 
30:       <input type="radio" name="ResXSLT" value="none">XML</input>
31:       <input type="radio" name="ResXSLT" value="" checked="checked">HTML</input>
32:       <br/>
33:     </form>
34:   </body>
35: </html>

カスタムフォームでは、翻訳する文の入力には、textareaを使い長い文章を入力できるようにし(14行目)、変換モードはプルダウンメニューから選択できるように変更(16行目〜27行目)しています。

■WS USPのフォルダへのカスタムフォームの配置

作成したカスタムフォーム(Translater.html)を 以下のフォルダ内に配置します。ただし、「custom」というフォルダが存在しない場合は、フォルダを新規に作成してから配置してください。

■別名パラメータの変更

運用管理の[サービス - 別名 変更/参照/削除]から、Translaterサービスを選択し、別名パラメータ設定画面へと移動します。

別名パラメータに「カスタムFORMのURL」として、先ほど配置したカスタムフォームを指定します。この例では、「http://Portalworksサーバ名:ポート番号/wscontrol/custom/Translater.html」を指定します。

再度、ポータルページでTranslaterサービスのブリックに切り替えると、以下のようなフォームが表示されます。任意の文を入力して、[翻訳]ボタンをクリックすると、サンプルフォームと同様な結果が表示されることを確認してください。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007