簡單的webservice發布和測試


eclipse發布
參考:http://www.cnblogs.com/cherxu/p/5179053.html
很簡單,接口寫好后,打個war包放到tomcat里面跑起來;

本例采用axis來測試;
發布好后,寫一個簡單的測試方法。
在eclipse里面新建一個動態web工程
寫一個測試類TestWS,代碼如下:
package com.enfo.testws;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class TestWS {
public static void main(String[] args) {
    try{                   //ip端口/ws項目名/services/接口方法所在類名,也可以在地址后面加上?wsdl
        String endpoint = "http://127.0.0.1:8080/LoginService/services/LogonService";
        Service service = new Service(); //新建一個axis的service對象
        Call call = (Call)service.createCall();//通過service新建一個axis的call對象
        call.setTargetEndpointAddress(endpoint);//設置call要訪問的地址

     /**QName命名空間,http://ws.enfo.com,打開http://127.0.0.1:8080/LoginService/services/LogonService?wsdl
        *可以看到頁面上顯示成xml格式,里面有命名空間信息targetNamespace="http://ws.enfo.com"
        *ws.enfo.com其實就是接口類所在的包名:src下的com.enfo.ws
        */
        call.setOperationName(new QName("http://ws.enfo.com","hello"));//http://service.enfo.com是給接口地址隨便設置的一個命名,hello是要調用的ws接口方法名
        call.addParameter(new QName("http://ws.enfo.com","name"), org.apache.axis.Constants.XSD_STRING, ParameterMode.IN);//設置ws方法的參數對應的參數類型等信息
        //call.addParameter(new QName("http://ws.enfo.com","password"), org.apache.axis.Constants.XSD_STRING, ParameterMode.IN);
        call.setReturnClass(String.class);//設置ws方法返回的值的類型;注意:如果方法中返回的是int,這里也可以設置成String.class
  //以上先創建call對象,再設置要訪問接口的地址,給要執行的方法設置命名,給方法設置參數類型,設置返回類型
        String name="taptqqqqq";  //設置要傳到接口的參數
        String ret =(String)call.invoke(new Object[] {name});//調用call的invoke方法訪問接口,將設好的參數傳過去,得到接口返回值
        System.out.println("發送的是:"+name);
        System.out.println("返回的是:"+ret);
    }catch(Exception e){
        System.err.println(e.toString());
    }
}
}


測試方法相關jar包:axis.jar,commons-discovery-0.2.jar,commons-logging.jar,jaxrpc.jar,saaj.jar,webserviceutils.jar,
wsdl4j.jar,補充:activation-1.1.jar,mail.jar
下載地址:
https://pan.baidu.com/s/1nvLXMIX


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM