JaxWsProxyFactoryBean 與 JaxWsDynamicClientFactory


1、 JaxWsProxyFactoryBean 

   簡介:調用方式采用了和RMI類似的機制,即客戶端直接調用服務器端提供的服務接口(interface),CXF通過運行時代理生成遠程服務的代理對象,在客戶端完成對webservice的訪問;幾個必填的字段:setAddress-這個就是我們發布webservice時候的地址,保持一致
     缺點:這 種調用service的好處在於調用過程非常簡單,就幾行代碼就完成一個webservice的調用,但是客戶端也必須依賴服務器端的接口,這種調用方式 限制是很大的,要求服務器端的webservice必須是java實現--這樣也就失去了使用webservice的意義

  1. public class Client {  
  2.     public static void main(String[] args) {  
  3.         JaxWsProxyFactoryBean bean = new JaxWsProxyFactoryBean();  
  4.         bean.setServiceClass(HelloWorldService.class);  
  5.         bean.setAddress("http://localhost:9090/helloWorldService");  
  6.         HelloWorldService helloWorldService = (HelloWorldService)bean.create();  
  7.         String result = helloWorldService.sayHello("Kevin");  
  8.         System.out.println(result);  
  9.     } 


2、JaxWsDynamicClientFactory
     簡介:只要指定服務器端wsdl文件的位置,然后指定要調用的方法和方法的參數即可,不關心服務端的實現方式。
     
  1. public class Client3 {  
  2.     public static void main(String[] args) throws Exception {  
  3.         JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance();  
  4.         Client client = clientFactory.createClient("http://localhost:9090/helloWorldService?wsdl");  
  5.         Object[] result = client.invoke("sayHello""KEVIN");  
  6.         System.out.println(result[0]);  
  7.     }  
  8. }  


3、JaxWsServerFactoryBean

     用JaxWsServerFactoryBean發布,需要獨立的jetty包。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM