Axis2 1.1.1 クイックスタートガイドその2

感想おまちしてます!

ここでは様々な方法でのサービス作成を説明。

原文:http://ws.apache.org/axis2/1_1_1/quickstartguide.html

スポンサーリンク

サービスの作成 

このセクションでは5種類の方法をつかってSampleServiceを元にWebサービスを作る。

  • Plain Old Java Object(POJO)をデプロイする方法
  • AXIOMのOMEElementを使ってサービスを構築する方法
  • Axis2のデータバインディングフレームワーク(ADB)を使ってサービスを作成する方法
  • XMLBeansを使ってサービスを作成する方法
  • JiBXを使ってサービスを作成する方法

Deploying POJOs 

POJO(Plain Old Java Objects)。AXIS2_HOME/samples/quickstartがPOJOを使ったものらしい。クイックスタートガイドその1のやりかたはPOJOらしいので説明は割愛。

Building the service using AXIOM 

services.xmlがPOJOと若干異なる。

 <service name="StockQuoteService" scope="application">
<description>Stock Quote Service</description>
<operation name="getPrice">
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</operation>
<operation name="update">
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
</operation>
<parameter name="ServiceClass">samples.quickstart.service.axiom.StockQuoteService</parameter>
</service>

「<operation name=”update”>」というようにOperationごとにMessageReceiverを設定しているのがわかる。「RawXMLINOutMessageReceiver」は戻り値のある(引数があって戻り値がある)メソッドで、「RawXMLINOnlyMessageReceiver」は戻り値のないメソッドのように読み取ることができる。

Javaのソースを見ると、OM?というものを使っていることがわかる。

//抜粋
OMElement symbolElement = element.getFirstElement();
String symbol = symbolElement.getText();
OMElement priceElement = (OMElement)symbolElement.getNextOMSibling();
String price = priceElement.getText();

AXIOMとは「AXIS Object Model」というDOMに似た構造のオブジェクトモデル。これは、StAX APIというものをベースにしている。

メソッドはOMElementを引数として受け取らなければならない。OMElementはServiceに渡されるSOAPメッセージをあらわし
ている。ここでは、SOAPメッセージの最初の子要素を抜き取り、テキストを追加している。そして、返すOMElementとしてそれを使っている。戻り
値があるサービスのOperationならば、OMElementを返さなければならない。なぜなら、SOAPメッセージを返すことができないといけない
から。

Generating the service using ADB 

Generating the service using XMLBeans

Generating the service using JiBX 

Generating Clients 

Creating a client with AXIOM 

Generating a client using ADB 

Generating a client using XML Beans 

Generating a client using JiBX 

Summary 

For Further Study 

コメント

  1. […] http://daipresents.com/2008/axis2_111_1/ Axis2 1.1.1 クイックスタートガイドその2: http://daipresents.com/2008/axis2_111_2/ さすが世界の@daipresentsやで。     ■ Javaのクラスを作ってみる   […]