?
1、寫一個需要發布的接口
package com.hb;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface IService {
public void hello(@WebParam(name="username") String username);
}
?
備注: 一定要在接口名稱上面用?@WebService 注解標示,參數@WebParam(name="username")只是說明在wsdl中指明參數的名字是username
?
2、對定義接口的實現
package com.hb;
import java.util.Date;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(endpointInterface="com.hb.IService")
public class ServiceImp implements IService{
@Override
public void hello(@WebParam(name = "username") String username) {
System.out.println("hello " + username + " now is " + new Date());
}
}
?
備注: 一定要在接口名稱上面用?@WebService 注解標示 ?,里面一定要標注它對外的接口,在后面的客戶端調用會體現出來。
?
3、發布對外提供的接口
package com.hb;
import javax.xml.ws.Endpoint;
public class ServiceMain {
public static void main(String[] args) {
String address = "http://172.16.32.72:7777/hb";
Endpoint.publish(address, new ServiceImp());
System.out.println("發布消息成功");
}
}
?
在地址欄中輸入??http://172.16.29.89:7777/hb?wsdl,就會出現一系列xml格式的文檔,這個就表示發布的成功。
?
客戶端
?
package com.hb;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
public class Client {
/**
* @param args
* @throws MalformedURLException
*/
public static void main(String[] args) throws MalformedURLException {
// TODO Auto-generated method stub
//創建訪問wsdl服務地址的url
URL url = new URL("http://172.16.32.72:7777/hb?wsdl");
//通過Qname指明服務的具體信息
/*
* 第一個參數:接口的包名稱,反序
* 第二個參數:實現類名+Service
* */
QName qname = new QName("http://hb.com/","ServiceImpService");
//創建服務
Service service = Service.create(url, qname);
//實現接口
IService iservice = service.getPort(IService.class);
//以上服務有問題,依然依賴于IMyServie接口
iservice.hello("huangbiao");
}
}
?
?
備注:QName qname = new QName("http://hb.com/","ServiceImpService"); 兩個參數分別對應上圖中的targetNamespace 和 name 。
?
如果在實現對外提供的接口類中沒有@WebService(endpointInterface="com.hb.IService"),則會提示不認識這個接口。
?
?上面全部操作不需要引入任何外部jar包。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

