Webサービスのリリース


1.elicpseツールを使用して、MyWebServiceプロジェクトを作成します.
パッケージパッケージパッケージを作成します.java.web.サービス、クラスの作成WebServiceWSDD、
package pack.java.web.service;

public class WebServiceWSDD {
 private int result;
 private String name;
 
 public String hello(String a,int b){
  System.out.println("this is my hello method.");
  System.out.println("a="+a);
  System.out.println("b="+b);
  result = b++;
  System.out.println("result="+this.result);
  return a+b;
 }
 
 public int add(int a,int b){
  System.out.println("this is my add method.");
  return a+b;
 }
}


このパッケージとクラスを生成します.classファイルをF:apache-tomcat-6.0にコピーします.20webappsaxisWEB-INFClassesディレクトリにあります.
 
 
2.webservice deployを編集する.wsddファイルをF:apache-tomcat-6.0にコピーします.20\webapps\axis\WEB-INF ,
deploye.wsddのファイルの内容は次のとおりです.
<deployment xmlns="http://xml.apache.org/axis/wsdd/"
 xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
  <service name="WebServiceWSDD" provider="java:RPC">
   <parameter name="className" value="pack.java.web.service.WebServiceWSDD" />
   <parameter name="allowedMethods" value="*"/>
   <parameter name="scope" value="request"/>
  </service>
</deployment>


 
 
 

以下の役割を簡単に説明する、nameはwebサービスの名前である.JAva:PRCは、サービスのタイプを指定します.主に4つのサービスタイプ、PRC、Document、Message、Wrappedを含む.几种
 

これはよく理解できます.パッケージとクラスの名前です.
 
nameのすべてのメソッド名は、すべてのpublicのメソッドを呼び出すことができる現在の構成のメソッドを指定することもできます.valueはもちろん自分で指定することもできますが、
 
リクエスト範囲:request,session,application.
 
cmdコマンドを実行してdosウィンドウに入力します.
F:\apache-tomcat-6.0.20\webapps\axis\WEB-INF>java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -l http://localhost:9999/axis/services/WebServiceWSDD deploy.wsdd
 
 
1.まずF:apache-tomcat-6.0に入ります.20webappsaxisWEB-INFディレクトリ、
2.java-Djavaを入力.ext.dirs=lib org.apache.axis.client.AdminClient-l http://localhost:9999/axis/services/WebServiceWSDDコマンド、
 
コマンドを実行する前にtomcatサービスが正常に起動することを確認することに注意してください.
 
 
実行結果:パブリケーションが成功したことを示します.Processing file deploy.wsddDone processing
 
3.クライアントClientコードの編集:
package pack.java.web.service.client;

import java.rmi.RemoteException;

import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

public class MyWebServiceClient {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  String url="http://localhost:9999/axis/services/WebServiceWSDD";
  Service service=new Service();
  try {
   Call call=(Call) service.createCall();
   call.setTargetEndpointAddress(url);
   
   //  hello   ;
   //call.setOperationName(new QName(url,"hello"));
   //  add    ;
   call.setOperationName(new QName(url,"add"));
   try {
    //  web Service   hello  ,        ,     .
    //String result=(String) call.invoke(new Object[]{"my webService",123});
    //System.out.println(result);
    //  add   ,      ,    .
    int num =(int)(Integer)call.invoke(new Object[]{1,2});
    System.out.println("add :"+num);
   } catch (RemoteException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  } catch (ServiceException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

}


  
実行結果:
add :3.