JAVA Web Service Soap WSDL --CTO

本文來自本人忘密碼的博客:http://blog.csdn.net/TaoHero_1081 所有權歸本人所有,轉載時請註明出處http://blog.csdn.net/ctojxzsyczta   和作者 陳濤 未經允許不得轉載                                                                   webservice的特點:
跨平臺:跨語言、跨系統、實現分佈式處理
webservice的數據傳輸介質: XML
webservice由兩部分組成:
    1、soap (simple object access protocol)簡單對象訪問協議 主要處理webservice之間的基本通信協議
    2、wsdl 是webservice的描述語言,它定義了webservice做什麼,怎樣做查詢的信息
在java中實現webservice,通常我們應用了axis,axis讓webservice更加方便:
  在tomcat服務器下的部署分爲以下步驟
    1、將axis文件考入到tomcat的webapps目錄下.
    2、啓動tomcat,在IE中輸入 http://localhost:8080/axis進入axis的主頁,單擊Validate下載所需的jar包,jar包名如:activation.jar
、mail.jar、xmlsec.jar安全管理,它會放到axis目錄下的lib目錄中    
    3、創建一個pojo,當中包含了商業邏輯,將pojo考入到部署的axis目錄下,將後綴名改爲JWS.
    4、(在不用axis情況下)將這個pojo部署到一個soap的服務器上.
    5、生成client訪問code.
    6、部署客戶端應用.
   以下是一個示例.
    部署在axis目錄pojo,文件名Hello.jws,它返回了一個String 

 public class Hello{
       
public static String sayHello(String userName){
      
return userName+":您好!";
  }

}

    
//client調用code如下:
public class Client{
      
public static void main(String[] args)throws Exception{
      
//實例化了一個service,得到了一個service
     Service service = new Service();
     
//通過service產生一個Call object,invoke web
     Call call = (Call)service.createCall();
    
//設定webservice的URL
    call.setTargetEndpointAddress(new URL("http://localhost:8080/axis/Hello.jws?WSDL"));
    
//設定了將要invoke webservice的方法
    call.setOperationName("sayHello");
    
//調用webservice的method,並得到了webservice的response data放到result當中
    String result = (String)call.invoke(new String[]{"陳濤"});
    
//在client print
    System.out.println(result);
    }

}

輸出結果將是:陳濤您好!;
以上就是一個簡單的webservice的實現,通過客戶端直接調用了服務器端的方法,是不是很簡單,下面介紹一下soap以及wsdl
soap(simple object access protocol)
  Soap是XML Web Service的通信協議,soap是一種規範,用來定義消息的XML格式,這是規範中所必需的部分,包含在一對soap無素中的,結構
正確的xml段就是soap消息

WSDL
  WSDL描述語言一般包含三部分:
   1、what部分包含了type、message和portType元素
      Type:定義了webservice使用的數據結構,一般使用xml Schema定義
      message:一個message是soap的基本通信元素,每個message可以有一個或多個Part,每個part一個參數
      PortType:消息彙總爲不同的操作並歸入到一個被稱爲portType的實體中,一個portType代表一個接口(webservice支持操作集合),每個
webservice可以有多個接口,它們使用portType來表示,第個操作又包含input和output部分
   2、How部分  包含binding元素
     binding元素將portType綁定到特定的通信協議上(如HTTP上的SOAP協議)
   3、where部分 由service元素組成
   它將portType,binding以及webservice實際的位置(URL)放在一起描述
三、客戶端
  客戶端分爲瘦客戶和肥客戶,瘦客戶包括web瀏覽器,該類客戶通常經由輕量級協議與web service連接.肥客戶包括applet、還有各類應用以
及現存系統,通常使用重量級協議連接web service
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章