wsimport簡單實現WebService
服務端:
新建項目,寫一個服務類並寫服務方法
@WebService//標記爲遠程服務
public class SayHello {
@WebMethod//標記爲遠程服務的方法
public String sayHello(String name){
return name+"Hello !";
}
}
發佈類,將服務發佈出去
```java
/**
* 發佈服務
* @author Administrator
*/
public class Publish {
public static void main(String[] args) {
//發佈服務的地址,JDK不能直接訪問地址 需要在地址後面加上:?wsdl 用來描述服務
String address = "http://localhost:8889/helo";
//發佈服務
SayHello implementor = new SayHello();
//異步執行
Endpoint.publish(address, implementor);
System.out.println("服務發佈成功");
}
}
然後運行main方法,在瀏覽器輸入自己設置的地址+?wsdl
我的就是:http://localhost:8889/helo?wsdl
如下所示怎服務發佈成功
客戶端:
再新建一個項目,在本地找到項目建包(package)的根目錄,點進去(我的是meven項目,所以我找java目錄)
然後在此目錄cmd,輸入如下命令
wsimport -s . 服務地址 (中間有個點)
然後執行
我的如下:
執行完成後,會在該目錄生成如下文件
再去訪問之前創建的WebService
/**
* 獲取本地接口代理對象並完成調用
* @author Administrator
*/
public class Invoke {
public static void main(String[] args) {
//獲取本地接口代理對象
SayHello sayHelloPort = new SayHelloService().getSayHelloPort();
System.out.println(sayHelloPort.getClass());
//通過代理對象調用遠程服務方法
System.out.println(sayHelloPort.sayHello("張三 "));
}
}
運行上面的main方法
訪問成功