隨筆 - 119  文章 - 3173  trackbacks - 0
          <2006年12月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          交友莫獨酒,茅臺西鳳游。
          口干古井貢,心徜洋河流。
          稱多情杜康,趟無量雙溝。
          贊中華巍巍,無此不銷愁。

          常用鏈接

          留言簿(68)

          隨筆分類(136)

          隨筆檔案(122)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 526712
          • 排名 - 92

          最新評論

          ? 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 2006-12-21 10:01 交口稱贊 閱讀(6344) 評論(6)  編輯  收藏 所屬分類: Java6

          FeedBack:
          # re: Java6 WebServices (一)服務端 2006-12-21 21:45 關關
          下篇呢  回復  更多評論
            
          # re: Java6 WebServices (一)服務端 2006-12-25 00:32 Shawn
          看起來很cool,我是JAVA的初學者,我以SERVLET的方式用web.xml的形式放到TOMCAT下但是運行要出錯,是怎么回事呢?  回復  更多評論
            
          # re: Java6 WebServices (一)服務端 2006-12-25 13:11 交口稱贊
          @Shawn
          不知道你的具體代不好解決,
          可能你的TOMCAT不支持JDK6的新語法。。。。。。。用6.x的試試
          也可能不支持SERVLET方式發布。。。。。。。。。

            回復  更多評論
            
          # re: 學習Java6(一) WebServices (1)服務端 2007-01-05 13:46 交口稱贊
          # re: 學習Java6(一) WebServices (1)服務端[未登錄] 2007-01-26 10:28 OLIVE
          在你class Hello里邊放多個@WebMethod ,也就是發布多個服務時,怎么會報jaxws.ExceptionBean異常。請問怎么解決。  回復  更多評論
            
          # re: 學習Java6(一) WebServices (1)服務端 2007-10-28 14:39 zhaoyi4374
          請問如何返回一個對象啊??  回復  更多評論
            
          主站蜘蛛池模板: 巴青县| 朝阳县| 阿荣旗| 民和| 新密市| 灌阳县| 镇赉县| 沙坪坝区| 寿宁县| 紫云| 财经| 临颍县| 大关县| 修武县| 龙南县| 柳江县| 义马市| 钟山县| 井冈山市| 望城县| 蛟河市| 高邮市| 延长县| 和平县| 鄂伦春自治旗| 苍南县| 沙雅县| 余干县| 峨山| 微山县| 泾源县| 耒阳市| 沙雅县| 西峡县| 安龙县| 谢通门县| 巴中市| 海南省| 海兴县| 涞水县| 马公市|