Java Soap HTTP WebService Webサービス RPC synchronus 同期通信 axis2
Eclipseのパッケージエクスプローラで右クリック >新規>プロジェクト>動的 Web プロジェクトを選択。
Eclipseのパッケージエクスプローラで右クリック >実行>サーバで実行 (Tomcat v5.5 サーバ を起動します。)
今回は、axis2フォルダ内のsamplesフォルダの version アプリを利用します。
package sample.axisversion;
public class Version {
public String getVersion() throws Exception {
return "Hello I am Axis2 version service ," +
" My version is " + org.apache.axis2.Version.getVersionText();
}
}
これはスタブとクライアントなので、後ほど作成します。
axis2のwebappの中身が入ります。詳細は省略します。
Eclipseのパッケージエクスプローラで右クリック >エクスポート>JARファイル
管理画面にはIDとPasswordが必要です。デフォルトは admin:axis2 です。
<service name="Version">
<description>
This service is to get the running Axis version
</description>
<parameter name="ServiceClass" locked="false">sample.axisversion.Version</parameter>
<operation name="getVersion">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
EclipseのパッケージエクスプローラでVersion.javaを右クリック >Web サービス>Web サービスの作成
%AXIS2_HOME%/bin/wsdl2java.bat -uri ./Version.wsdl
AXIS2_HOME が設定されていて、 AXIS2_CLASS_PATH にパスが通っていることが前提となります。
AXIS2_HOME は axis2を解凍したフォルダ、
AXIS2_CLASS_PATH は AXIS2_HOME/lib/*.jar にパスが通っていることを確認してください。
batを起動すると以下の2つのスタブが自動生成されます。
VersionServiceStub.java
VersionServiceCallbackHandler.java
package sample.axisversion;
/**
* サンプルVersionServiceのクライアントです。
*
* このクライアントを作る前の下準備
*
* 0) VersionWsdl2Java.bat を自作します。
* 1) 0)により VersionServiceStub.java と VersionServiceCallbackHandler.java の自動生成を行いました。
* 2) 1)により生成されたクラスをsample.axisversionパッケージに移動しました。
* 4) スタブでExceptionが出るので、new javax.xml.namespace.QNameな処理をしているところを少し弄りました。
* 自動生成されたservices.xmlと自動生成されたスタブとの間でパラメータ不一致がある様子。
*/
public class VersionClient {
public static void main(String[] args) {
try {
VersionServiceStub stub = new VersionServiceStub(
"http://localhost:8080/axis2/services/Version");
getVersion(stub);
} catch (Throwable e) {
e.printStackTrace();
}
}
private static void getVersion(VersionServiceStub stub) throws Throwable {
VersionServiceStub.GetVersion req = new VersionServiceStub.GetVersion();
VersionServiceStub.GetVersionResponse res = stub.getVersion(req);
System.err.println(res.getGetVersionReturn());
}
}
Hello I am Axis2 version service , My version is 1.1.1
http://goodjob.boy.jp/chirashinoura/id/129.html
作成日: 2007-04-04 23:15:30
最終更新日: 2008-03-18 10:04:31
▲このページの上へ管理人: ぶらざーほわいつ 連絡