風人園

          弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
          隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
          數據加載中……

          Java6 WebServices (二)客戶端 (ZT)

          Java6 WebServices (一)服務端這篇文章中和大家分享了Java6 WebServices 服務端的寫法,光有服務端還不行,還要有客戶端才行啊??戳艘恍┚W友的相關文章,都只給出了服務端的寫法,沒有說客戶端怎么說。經過一番研究,終于搞定了客戶端,今天偶就和大家分享下。
          首先啟動Java6 WebServices (一)服務端一文中寫好的服務端。
          新建個項目。命令行到src目錄執行,
          wsimport -keep? http://localhost:8080/HelloService?wsdl
          會自動生成一些代碼。


          package?org.hermit.study.jdk.client;

          import?javax.jws.WebMethod;
          import?javax.jws.WebParam;
          import?javax.jws.WebResult;
          import?javax.jws.WebService;
          import?javax.jws.soap.SOAPBinding;


          /**
          ?*?This?class?was?generated?by?the?JAXWS?SI.
          ?*?JAX-WS?RI?2.0_02-b08-fcs
          ?*?Generated?source?version:?2.0
          ?*?
          ?
          */
          @WebService(name?
          =?"Hello",?targetNamespace?=?"http://jdk.study.hermit.org/client")
          @SOAPBinding(style?
          =?SOAPBinding.Style.RPC)
          public?interface?Hello?{


          ????
          /**
          ?????*?
          ?????*?
          @param?arg0
          ?????*?
          @return
          ?????*?????returns?java.lang.String
          ?????
          */
          ????@WebMethod
          ????@WebResult(partName?
          =?"return")
          ????
          public?String?sayHello(
          ????????@WebParam(name?
          =?"arg0",?partName?=?"arg0")
          ????????String?arg0);

          }

          package?org.hermit.study.jdk.client;

          import?java.net.MalformedURLException;
          import?java.net.URL;
          import?javax.xml.namespace.QName;
          import?javax.xml.ws.Service;
          import?javax.xml.ws.WebEndpoint;
          import?javax.xml.ws.WebServiceClient;


          /**
          ?*?This?class?was?generated?by?the?JAXWS?SI.
          ?*?JAX-WS?RI?2.0_02-b08-fcs
          ?*?Generated?source?version:?2.0
          ?*?
          ?
          */
          @WebServiceClient(name?
          =?"HelloService",?targetNamespace?=?"http://jdk.study.hermit.org/client",?wsdlLocation?=?"http://localhost:8080/HelloService?wsdl")
          public?class?HelloService
          ????
          extends?Service
          {

          ????
          private?final?static?URL?HELLOSERVICE_WSDL_LOCATION;

          ????
          static?{
          ????????URL?url?
          =?null;
          ????????
          try?{
          ????????????url?
          =?new?URL("http://localhost:8080/HelloService?wsdl");
          ????????}?
          catch?(MalformedURLException?e)?{
          ????????????e.printStackTrace();
          ????????}
          ????????HELLOSERVICE_WSDL_LOCATION?
          =?url;
          ????}

          ????
          public?HelloService(URL?wsdlLocation,?QName?serviceName)?{
          ????????
          super(wsdlLocation,?serviceName);
          ????}

          ????
          public?HelloService()?{
          ????????
          super(HELLOSERVICE_WSDL_LOCATION,?new?QName("http://jdk.study.hermit.org/client",?"HelloService"));
          ????}

          ????
          /**
          ?????*?
          ?????*?
          @return
          ?????*?????returns?Hello
          ?????
          */
          ????@WebEndpoint(name?
          =?"HelloPort")
          ????
          public?Hello?getHelloPort()?{
          ????????
          return?(Hello)super.getPort(new?QName("http://jdk.study.hermit.org/client",?"HelloPort"),?Hello.class);
          ????}

          }

          下面我們再寫個測試,看看能不能用:
          package?org.hermit.study.jdk.client.test;

          import?org.hermit.study.jdk.client.Hello;
          import?org.hermit.study.jdk.client.HelloService;


          public?class?TestClient?{
          ????
          public?static?void?main(String[]?args)?{
          ????????HelloService?service?
          =?new?HelloService();
          ????????Hello?_hello?
          =?service.getHelloPort();
          ????????System.out.println(_hello.sayHello(
          "hermit"));
          ????}
          }
          執行。
          控制臺輸出:
          hello:hermit

          ok!搞定。
          java6搞定web service就這么簡單。。。。。。。。。。。。。。。。。。。。。。。。。。

          xfire危險了。。。。。。。。。。。。。。。。。。。。。。。。

          posted on 2006-12-22 12:54 風人園 閱讀(441) 評論(0)  編輯  收藏 所屬分類: JavaWeb Service

          主站蜘蛛池模板: 鹤山市| 文山县| 广饶县| 吕梁市| 都昌县| 沙坪坝区| 淮滨县| 龙口市| 车致| 壤塘县| 青浦区| 丹东市| 乡城县| 巢湖市| 合江县| 康定县| 厦门市| 苏尼特右旗| 荥阳市| 曲松县| 顺义区| 德庆县| 新平| 盐山县| 丰县| 高雄市| 日喀则市| 桦甸市| 太原市| 讷河市| 巴东县| 宜都市| 盐津县| 沙坪坝区| 延长县| 韩城市| 田阳县| 西华县| 长海县| 绥江县| 平阴县|