日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cxf环境搭建与第一个项目

發(fā)布時間:2024/2/28 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cxf环境搭建与第一个项目 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.什么是cxf

Cxf,apache下的webservice的開源框架。
Apache CXF = Celtix + Xfire,開始叫 Apache CeltiXfire,后來更名為 Apache CXF 了,以下簡稱為 CXF。Apache CXF 是一個開源的 web Services 框架,CXF 幫助您構(gòu)建和開發(fā) web Services ,它支持多種協(xié)議,比如:SOAP1.1,1,2、XML/HTTP、RESTful HTTP 或者 CORBA。
Cxf是基于SOA總線結(jié)構(gòu),依靠spring完成模塊的集成,實現(xiàn)SOA方式。

2.環(huán)境配置

下載地址:
http://cxf.apache.org/download.html
環(huán)境變量 :
CXF_HOME=cxf的目錄
PATH = PATH;CXF_HOME\bin;

3.第一個程序

  • 在客戶端和服務(wù)器端都要導(dǎo)入cxf的lib包

- 第一步寫sei及其實現(xiàn)

@WebService(targetNamespace="http://weather.itcast.cn/",//指定 wsdl的命名空間name="WeatherInterface",//指定portType的名稱portName="WeatherInterfacePort",//指定port的名稱serviceName="WeatherService"//服務(wù)視圖的名稱//endpointInterface="cn.itcast.ws.service.WeatherInterface2"//指定哪個接口中方法要發(fā)布成webservice服務(wù),接口中加上@webservice注解) @BindingType(javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING) public interface WeatherInterface {//查詢?nèi)焯鞖?/span>public @WebResult(name="result") List<WeatherModel> queryWeather(@WebParam(name="cityName") String cityName);} public class WeatherInterfaceImpl implements WeatherInterface {@Overridepublic List<WeatherModel> queryWeather(String cityName) {//構(gòu)造三天天氣List<WeatherModel> list = new ArrayList<WeatherModel>();Calendar calendar = Calendar.getInstance();int day = calendar.get(Calendar.DATE);WeatherModel weatherModel_1 =new WeatherModel();weatherModel_1.setDetail("晴");weatherModel_1.setData(new Date());weatherModel_1.setTemperature_max(5);weatherModel_1.setTemperature_min(-6);WeatherModel weatherModel_2 =new WeatherModel();weatherModel_2.setDetail("陰");calendar.set(Calendar.DATE, day+1);weatherModel_2.setData(calendar.getTime());weatherModel_2.setTemperature_max(10);weatherModel_2.setTemperature_min(-3);WeatherModel weatherModel_3 =new WeatherModel();weatherModel_3.setDetail("晴");calendar.set(Calendar.DATE, day+2);weatherModel_3.setData(calendar.getTime());weatherModel_3.setTemperature_max(2);weatherModel_3.setTemperature_min(-9);list.add(weatherModel_1);list.add(weatherModel_2);list.add(weatherModel_3);return list;}}

- 第二步:推送服務(wù)

public class WeatherServer {public static void main(String[] args) {//使用jaxWs發(fā)布soap協(xié)議的webserviceJaxWsServerFactoryBean jaxWsServerFactoryBean = new JaxWsServerFactoryBean();//指定 webservice地址jaxWsServerFactoryBean.setAddress("http://127.0.0.1:12345/weath");//指定 porttypejaxWsServerFactoryBean.setServiceClass(WeatherInterface.class);//指定服務(wù)類對象jaxWsServerFactoryBean.setServiceBean(new WeatherInterfaceImpl());//發(fā)布服務(wù)jaxWsServerFactoryBean.create();}}

然后在瀏覽器中輸入
http://127.0.0.1:12345/weath?wsdl就能看到說明文檔

第三步 利用cxf工具自動生成調(diào)用服務(wù)的代碼

wsdl2java -d xxx http://127.0.0.1:12345/weath?wsdl
  • 第四步 編寫客戶端調(diào)用服務(wù)
package cn.itcast.weather;import java.util.Date; import java.text.SimpleDateFormat; import java.util.List;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;public class WeathClient3 {public static void main(String[] args) {JaxWsProxyFactoryBean jaxWsProxyFactoryBean=new JaxWsProxyFactoryBean();jaxWsProxyFactoryBean.setAddress("http://127.0.0.1:12345/weath?wsdl");jaxWsProxyFactoryBean.setServiceClass(WeatherInterface.class);WeatherInterface weatherInterface = (WeatherInterface) jaxWsProxyFactoryBean.create();// 調(diào)用portType方法List<WeatherModel> list = weatherInterface.queryWeather("鄭州");for (WeatherModel weatherModel : list) {System.out.println(weatherModel.getDetail());Date date = weatherModel.getData().toGregorianCalendar().getTime();System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(date));System.out.println(weatherModel.getTemperatureMax());System.out.println(weatherModel.getTemperatureMin());}} }

結(jié)果

晴 2017-05-27 5 -6 陰 2017-05-28 10 -3 晴 2017-05-29 2 -9

總結(jié)

以上是生活随笔為你收集整理的cxf环境搭建与第一个项目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。