Java Webserviceステップを作成するJavachAxis WebServiceプログラムの開発


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のコンパイル
  
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サービスは開発しにくいのではないでしょうか.