Java Webserviceステップを作成するJavachAxis WebServiceプログラムの開発
4079 ワード
Webサービスのプログラム開発といえば、8ヶ月前に残業して会社と中国電信のOAポータルシステムのインタフェースをデバッグしたとき、Webサービスを使っていました.
Webサービスには多くの利点があり、Webサービスを使用すると異なるプログラミング言語間でデータ交換を実現することができますが、私はその時、Webサービスにも詳しくなく、同僚がWebサービスのフレームワークコードをたくさん生成してくれました.私は単独でビジネスコードを開発しました.
今回のもう一つのプロジェクトもWebサービスを使いますが、人手も少なく、誰もWebサービスを手伝ってくれないので、自分でやるしかありません.
幸いなことに、开発前に、事前に私达にWebサービスに详しくないプログラマーといくつかの训练を行って、私はやっともとの以前のWebサービスがすべて自动的にコードを生成することができることを知っていて、その上难しくなくて、1つの午后クライアントとサーバーの端のWebサービスコードを试みてすべてデバッグして合格して、本当に悪くありません.
より多くの开発好きなプログラマーがWebサービスの开発、テストを素早く理解できるように.ここではAxisを通じてWebサービスを开発するポイント、テストをまとめました.Webサービスに详しくない开発者がWebサービスを素早く身につけられるようにしたいと思います.
一、Axis環境のインストール
1、設置環境J 2 SE SDK 1.4、Tomcat 5.0、eclipse 3.2.
2、到http://xml.apache.org Axisインストールパッケージをダウンロードします.
3、Axis関連パッケージファイルをWEB-INFlibディレクトリの下に置く.
4、Axisオプションのパッケージ:activation.jar;mail.jar; xmlsec-1.4.Beta 1.jarはWEB-INFディレクトリにコピーし、クライアントを生成する際に使用する必要があります.
Axisは、次の3つのWebサービスの導入と開発をサポートします.
1、Dynamic Invocation Interface (DII)
2、Dynamic Proxy方式
3、Stubs方式
前の2つの方法は紹介しません.同僚は私に前の2つの方法を使わないと教えてくれました.彼らは私たちにStubs方式を使うことを提案しました.そのため、私は主に3つ目の方法を紹介します.注意、私自身のJavaソースコードはD:workspacetestディレクトリの下に、Axis関連パッケージファイルはD:workspacetestWEB-INFディレクトリの下に置かれています.
二、wsddを編纂してwebサービスを発表し、stub clientを編纂してwebサービスにアクセスする
1、サービス・エンド・プログラムの作成server,SayHello.java,server.SayHello.javaのコンパイル
2、wsddファイルの作成
deploy.wsddファイルの内容は次のとおりです.
3、発表サービス:
deploy.bat,Axis_を編集Libはaxis.jarパスです.内容は次のとおりです.
このバッチ・ファイルを実行します.この場合、プロンプトが成功したら、アクセスします.http://localhost:8080/test/services サービスリストが表示されます.
4、クライアントクライアントクライアントstubファイルの生成
ブラウザ上でサーバ側のサービスにアクセスし、WSDLファイルにダウンロードすることができ、Axisの関連ツールを通じてWSDLファイルからWeb Serviceのクライアントコードを自動的に生成することができる.
WSDL 2 Java.batファイルを作成します.その内容は次のとおりです.
このバッチファイルを実行することでclient stubを生成することができる.
生成されたstub clientファイルのリストは、SayHello.java,SayHelloService.java,SayHelloServiceLocator.java,SayHelloSoapBindingStub.javaである.
5、クライアントプログラムを作成し、コンパイルして実行する
次はjunitテストクライアントコードです.
これで、サーバー側とクライアント全体のWebサービスフレームワークコードが完成し、残りはあなたのビジネスコードを入れることです.どうすれば、Webサービスは開発しにくいのではないでしょうか.
Webサービスには多くの利点があり、Webサービスを使用すると異なるプログラミング言語間でデータ交換を実現することができますが、私はその時、Webサービスにも詳しくなく、同僚がWebサービスのフレームワークコードをたくさん生成してくれました.私は単独でビジネスコードを開発しました.
今回のもう一つのプロジェクトもWebサービスを使いますが、人手も少なく、誰もWebサービスを手伝ってくれないので、自分でやるしかありません.
幸いなことに、开発前に、事前に私达にWebサービスに详しくないプログラマーといくつかの训练を行って、私はやっともとの以前のWebサービスがすべて自动的にコードを生成することができることを知っていて、その上难しくなくて、1つの午后クライアントとサーバーの端のWebサービスコードを试みてすべてデバッグして合格して、本当に悪くありません.
より多くの开発好きなプログラマーがWebサービスの开発、テストを素早く理解できるように.ここではAxisを通じてWebサービスを开発するポイント、テストをまとめました.Webサービスに详しくない开発者がWebサービスを素早く身につけられるようにしたいと思います.
一、Axis環境のインストール
1、設置環境J 2 SE SDK 1.4、Tomcat 5.0、eclipse 3.2.
2、到http://xml.apache.org Axisインストールパッケージをダウンロードします.
3、Axis関連パッケージファイルをWEB-INFlibディレクトリの下に置く.
4、Axisオプションのパッケージ:activation.jar;mail.jar; xmlsec-1.4.Beta 1.jarはWEB-INFディレクトリにコピーし、クライアントを生成する際に使用する必要があります.
Axisは、次の3つのWebサービスの導入と開発をサポートします.
1、Dynamic Invocation Interface (DII)
2、Dynamic Proxy方式
3、Stubs方式
前の2つの方法は紹介しません.同僚は私に前の2つの方法を使わないと教えてくれました.彼らは私たちにStubs方式を使うことを提案しました.そのため、私は主に3つ目の方法を紹介します.注意、私自身のJavaソースコードはD:workspacetestディレクトリの下に、Axis関連パッケージファイルはD:workspacetestWEB-INFディレクトリの下に置かれています.
二、wsddを編纂してwebサービスを発表し、stub clientを編纂してwebサービスにアクセスする
1、サービス・エンド・プログラムの作成server,SayHello.java,server.SayHello.javaのコンパイル
package server;
public class SayHello
{
public String getName(String name)
{
return "hello "+name;
}
}
2、wsddファイルの作成
deploy.wsddファイルの内容は次のとおりです.
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="SayHello" provider="java:RPC">
<parameter name="className" value="server.SayHello.getName"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
3、発表サービス:
deploy.bat,Axis_を編集Libはaxis.jarパスです.内容は次のとおりです.
set Axis_Lib=D:\workspace\test\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:8080/test/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd
このバッチ・ファイルを実行します.この場合、プロンプトが成功したら、アクセスします.http://localhost:8080/test/services サービスリストが表示されます.
4、クライアントクライアントクライアントstubファイルの生成
ブラウザ上でサーバ側のサービスにアクセスし、WSDLファイルにダウンロードすることができ、Axisの関連ツールを通じてWSDLファイルからWeb Serviceのクライアントコードを自動的に生成することができる.
WSDL 2 Java.batファイルを作成します.その内容は次のとおりです.
set Axis_Lib=D:\workspace\test\WEB-INF\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=D:\workspace\test\src
set Package=server.SayHello
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% SayHello.wsdl
このバッチファイルを実行することでclient stubを生成することができる.
生成されたstub clientファイルのリストは、SayHello.java,SayHelloService.java,SayHelloServiceLocator.java,SayHelloSoapBindingStub.javaである.
5、クライアントプログラムを作成し、コンパイルして実行する
次はjunitテストクライアントコードです.
import java.net.URL;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class TestWSClient extends TestCase {
public TestWSClient(String string) {
super(string);
}
public void SayHelloClient() throws Exception {
SayHelloService service = new SayHelloServiceLocator();
SayHello_PortType client = service.getSayHello() ;
String retValue = client.getName("clientname");
System.out.println(retValue);
}
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new TestWSClient("SayHelloClient"));
return suite;
}
}
これで、サーバー側とクライアント全体のWebサービスフレームワークコードが完成し、残りはあなたのビジネスコードを入れることです.どうすれば、Webサービスは開発しにくいのではないでしょうか.