?
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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
