真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

spring集成cxf實(shí)現(xiàn)webservice接口功能的方法

這篇文章主要介紹了spring集成cxf實(shí)現(xiàn)webservice接口功能的方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)公司長期為上千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為耀州企業(yè)提供專業(yè)的成都做網(wǎng)站、網(wǎng)站建設(shè),耀州網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

前言

由于cxf的web項(xiàng)目已經(jīng)集成了Spring,所以cxf的服務(wù)類都是在spring的配置文件中完成的。以下是步驟:

第一步:建立一個(gè)web項(xiàng)目。

第二步:準(zhǔn)備所有jar包。將cxf_home\lib項(xiàng)目下的所有jar包全部copy到新項(xiàng)目的lib目錄下,里面已經(jīng)包含了spring3.0的jar包。

第三步:在web.xml中配置cxf的核心servlet,CXFServlet。

第四步:創(chuàng)建(最好是Copy)cxf-servlet.xml文件。這是一個(gè)spring的配置文件。

1、web.xml中配置servlet

spring集成cxf實(shí)現(xiàn)webservice接口功能的方法

如果沒有提供給cxf默認(rèn)的/WEB-INF/cxf-servlet.xml配置文件,則必須要在spring的配置文件中配置以下三行配置(import)。否則將不能加載名稱為cxf的bean.從而啟動(dòng)失敗。

2、applicationContext.xml



 




 
 
 
 

注意:

1、的三個(gè)文件是否需要全部引入根據(jù)cxf框架版本不同而不同

2、address的值為webservice注解的值: @WebService(serviceName = "unifiedNoService")

3、必須要在聲明為serviceClass的接口上聲明@WebSerive注解,因?yàn)?,要使用了接口,在接口上添加的注解才?huì)有效。

4、serviceClass:必須為一個(gè)接口,并在接口上必須使用@WebService注解否則調(diào)用時(shí)會(huì)拋出異常

5、serviceBean:是實(shí)際服務(wù)的類,必須是serviceClass的子類,此類上面即可以使用@WebService注解,也可以不使用

6、address:訪問地址,省去前面的ip:port,注意在此注冊的類,必須要添加@WebService的注解

3、寫接口及實(shí)現(xiàn)類

spring集成cxf實(shí)現(xiàn)webservice接口功能的方法

啟動(dòng)項(xiàng)目,測試cxf是否配置成功:

訪問:http://localhost:8080/ins/services,會(huì)列出所有已經(jīng)發(fā)布的webservice接口服務(wù)

spring集成cxf實(shí)現(xiàn)webservice接口功能的方法

4、測試

http://localhost:8080/ins/services/unifiedNoService?wsdl

spring集成cxf實(shí)現(xiàn)webservice接口功能的方法

Java項(xiàng)目代碼調(diào)用服務(wù):

使用純Java項(xiàng)目調(diào)用

1、根據(jù)客戶端生成的代碼來調(diào)用。(優(yōu)選這種方式)

請先生成然后在任意的Java項(xiàng)目中調(diào)用 。

2、客戶端只擁有一個(gè)接口,使用JaxWsProxyFactoryBean來調(diào)用。

因?yàn)橐韵率褂昧薐axWsProxyFactoryBean,所以,仍然需要CXF的環(huán)境,而使用此環(huán)境就會(huì)造成Jar文件的大量冗余,所以大家要謹(jǐn)慎選擇。

1、注意,此處所說的是在Java項(xiàng)目中調(diào)用Spring的服務(wù),并不是在JavaEE項(xiàng)目中調(diào)用。后期將會(huì)講到如何在JavaEE項(xiàng)目中調(diào)用。

2、建議從wsdl地址獲取接口文件,也僅需要接口文件。

JaxWsProxyFactoryBean client = new JaxWsProxyFactoryBean();
client.setAddress("http://localhost:7777/xcxf2_web/ws/one");
client.setServiceClass(IOneService.class);
IOneService one = client.create(IOneService.class);
String ss = one.sayHi("OK你好");
System.err.println(ss);

在Spring項(xiàng)目中,通過配置文件調(diào)用:

以下是使用Spring的配置文件調(diào)用:

新建立一個(gè)Java項(xiàng)目,并加載cxf的所有包。

只需要生成的接口文件。

在classpath下新建立一個(gè)ClientBeans.xml文件.

優(yōu)點(diǎn)與缺點(diǎn):

此種情況,適合于一個(gè)Javaweb項(xiàng)目已經(jīng)集成了Spring。并希望通過CXF配置的方式調(diào)用Web服務(wù)。

此種情況,仍然需要導(dǎo)入CXF的大量jar包。

這種情況也存在一定人優(yōu)點(diǎn),如可以將外部的Web服務(wù)通過配置文件注入(DI)到Action類中。

說明:

通過來獲取WebService,id就不用說了吧。

address是不包含?wsdl的服務(wù)地址。

serviceClass是本地的接口名,與服務(wù)接口名保持相同才可以。

1、以下是ClientBeans.xml的文件的源代碼:



 
 

1、以下是CxfJavaClient.java的源代碼:

package com.itcast.cxfweb.java.client;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.itcast.cxf.first.IHelloWorld;
/**
 * Java項(xiàng)目的客戶端
 * @author wangjianme
 */
public class CxfJavaClient {
 public static void main(String[] args) {
  //讀取配置文件
  ApplicationContext ctx = 
   new ClassPathXmlApplicationContext("ClientBeans.xml");
  //get到接口類型并調(diào)用
  IHelloWorld hello = (IHelloWorld)ctx.getBean("helloClient");
  String str = hello.sayHello("WJ");
  System.err.println(str);
 }
}

在本域使用jquery訪問: --查詢所有用戶:


  $(function(){
   $("#btn1").click(function(){
    var url = "http://localhost:7777/ws2/ws/user";
    var soap = ''+
       '';
    $.ajax({
     url:url,//訪問的url
     dataType:'xml',//返回的數(shù)據(jù)類型
     type:'post',//請求方式
     contentType:'application/soap+xml;charset=UTF-8',
     data:soap,//數(shù)據(jù)
     success:function(data,status,xhr){
      //對返回后的數(shù)據(jù)進(jìn)行解析
      $(data).find("return").each(function(){
       var nm = $(this).find("name").text();
       var age = $(this).find("age").text();
       alert(nm+","+age);
      });
     },
     error:function(xhr,status){
      alert("出錯(cuò)了:"+status);
     }
    });
   });
  });
 

服務(wù)器保存用戶:

以下是jsclient.jsp的源代碼:

<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

 
  
 
 
  姓名:
  
  
  確定       $(function(){   $("#ok").click(function(){    var val = $("#name").val();    if($.trim(val)==""){     alert("請輸入名稱");     return;    }    var str = ''+       ''+       ''+       ''+val+''+       '';    $.ajax({     contentType:'application/xml;charset="UTF-8"',     dataType:'xml',     type:'post',     url:'http://localhost:9999/cxf2.4_spring_web/ws/helloworld',  //直接發(fā)向這個(gè)地址     data:str,     success:function(data){      //$(data).find("return").each(function(){      // alert($(this).text());      //});     //使用上面的方法也是可以的      var ss = $(data).find("return").first().text();      $("
").html(ss)       .css("border","1px solid blue")       .css({width:'50%'}).       appendTo($("body"));      $("#name").val("");     }    },"xml");   });   });  

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“spring集成cxf實(shí)現(xiàn)webservice接口功能的方法”這篇文章對大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!


當(dāng)前名稱:spring集成cxf實(shí)現(xiàn)webservice接口功能的方法
當(dāng)前URL:http://weahome.cn/article/pppejs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部