2009年10月14日水曜日

xfireでSOAP

最近仕事でjavaのSOAP通信にxfireというライブラリを使い、どつぼにハマった。
ドキュメント類も一切ないので、これから使う人のためにメモ。

xfireとは:
次世代のSOAPフレームワーク。各種標準をサポートしており、扱いやすいAPIを通じてSOA開発のアプローチを実現する。
※このフレームワークというのがポイント!


使い方
①SOAPサーバ側にxfire設定ファイル(services.xml)を、WEBアプリの以下のパスに配置されるようにする。
WEBルート/classes/META-INF/xfire/services.xml

services.xml
<bean>
<service>
<name>WebServiceName</name>
<serviceclass>com.oboegaki.servers.TestService</serviceclass>
<implementationclass>com.oboegaki.servers.Test</implementationclass>
</service>
</bean>

②SOAPサーバ用xfireライブラリをクラスパスに入れる。

③web.xmlにxfire定義を追加する。

web.xml
<web-app>
<servlet>
<servlet-name>XFireServlet</servlet-name>
<display-name>XFire Servlet</display-name>
<servlet-class>
org.codehaus.xfire.transport.http.XFireConfigurableServlet
</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet>


④WEBアプリをデプロイ

注意点
①SOAPクライアントとしてxfireを使用するときは、SOAPサーバ側もxfireでなければならない。

②SOAP通信に用いるインタフェースは、クライアント側とサーバ側で同じパッケージにしなければならない。

0 件のコメント:

コメントを投稿