love fish大鵬一曰同風起,扶搖直上九萬里

          常用鏈接

          統計

          積分與排名

          friends

          link

          最新評論

          學習Java6(一) WebServices (1)服務端 (轉)

           Java6發布了,其中一個吸引我的新特性就是原生支持WebServices。在這和大家分享下學習心得。
          下面就開始寫個最簡單的WebServices:
          package org.hermit.study.jdk;

          import javax.jws.WebMethod;
          import javax.jws.WebService;
          import javax.jws.soap.SOAPBinding;

          @WebService(targetNamespace 
          = "http://jdk.study.hermit.org/client")
          @SOAPBinding(style 
          = SOAPBinding.Style.RPC)
          public class Hello {
              @WebMethod
              
          public String sayHello(String name) {
                  
          return "hello:" + name;
              }
          }
          怎么樣簡潔吧,很多朋友的寫法還要在命令行中執行“wsgen –cp . <path>
          用偶這種方法寫的service可以省去上面這步。

          targetNamespace = "http://jdk.study.hermit.org/client"這句是指定客戶端獲取服務端服務后存放的類路徑。注意是反著的,http: //jdk.study.hermit.org/client在客戶端生成的類會放在org.hermit.study.jdk.client包下。
          下面是發布服務:
          package org.hermit.study.jdk;

          import javax.xml.ws.Endpoint;

          public class StartService {
              
          public static void main(String[] args) {
                  Endpoint.publish(
          "http://localhost:8080/HelloService"new Hello());
              }

          }
          呵呵,更簡潔。一句話而已。
          http://localhost:8080/HelloService是指發布的地址

          運行
          StartService ,開發瀏覽器輸入:http://localhost:8080/HelloService?wsdl



          如果能看到以下內容,就可以
           <?xml version="1.0" encoding="UTF-8" ?> 
          <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://jdk.study.hermit.org/client" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://jdk.study.hermit.org/client" name="HelloService">
            
          <types /> 
          <message name="sayHello">
            
          <part name="arg0" type="xsd:string" /> 
            
          </message>
          <message name="sayHelloResponse">
            
          <part name="return" type="xsd:string" /> 
            
          </message>
          <portType name="Hello">
          <operation name="sayHello" parameterOrder="arg0">
            
          <input message="tns:sayHello" /> 
            
          <output message="tns:sayHelloResponse" /> 
            
          </operation>
            
          </portType>
          <binding name="HelloPortBinding" type="tns:Hello">
            
          <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> 
          <operation name="sayHello">
            
          <soap:operation soapAction="" /> 
          <input>
            
          <soap:body use="literal" namespace="http://jdk.study.hermit.org/client" /> 
            
          </input>
          <output>
            
          <soap:body use="literal" namespace="http://jdk.study.hermit.org/client" /> 
            
          </output>
            
          </operation>
            
          </binding>
          <service name="HelloService">
          <port name="HelloPort" binding="tns:HelloPortBinding">
            
          <soap:address location="http://localhost:8080/HelloService" /> 
            
          </port>
            
          </service>
            
          </definitions>

          posted on 2007-01-12 15:16 liaojiyong 閱讀(490) 評論(2)  編輯  收藏 所屬分類: WebService

          評論

          # re: 學習Java6(一) WebServices (1)服務端 2007-04-13 09:19 交口稱贊

          老大你轉載也不著名!!!!!!!!!!!!!!!  回復  更多評論   

          # re: 學習Java6(一) WebServices (1)服務端 2007-04-16 09:23 liaojiyong

          @交口稱贊
          寫漏了  回復  更多評論   

          主站蜘蛛池模板: 濉溪县| 英山县| 兴和县| 泽库县| 徐闻县| 克山县| 临湘市| 富裕县| 若尔盖县| 平乡县| 呈贡县| 尼勒克县| 建昌县| 宜春市| 武义县| 永泰县| 蛟河市| 岳阳县| 兰西县| 偃师市| 武平县| 中阳县| 汾阳市| 麦盖提县| 镇原县| 灵山县| 安达市| 塔城市| 新乡市| 正蓝旗| 湖南省| 淮南市| 江津市| 大丰市| 绥江县| 乌海市| 包头市| 奉贤区| 公安县| 枣阳市| 沙坪坝区|