1. 程式人生 > >eclipse開發基於CXF的Web Service專案

eclipse開發基於CXF的Web Service專案

  1. 開發環境準備:
    1. Tomcat 8
    2. Eclipse 4.5.2
    3. Apache-cxf jar包(用於在eclipse 中配置CXF Runtime),這裡我使用的版本是3.1.10
  2. 新建一個動態web工程server(作為Server
  3. 寫入程式碼:
    1. dto

package com.hand.cxf_server.dto;

import javax.jws.WebService;

@WebService

public class Order {

private int id;

private String name;

private double price;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

@Override

public String toString() {

return "OrderWS [id=" + id + ", name=" + name + ", price=" + price + "]";

}

public Order(int id, String name, double price) {

super();

this.id = id;

this.name = name;

this.price = price;

}

}

  1. Interface介面OrderWS

package com.hand.cxf_server.ws.service;

import javax.jws.WebMethod;

import javax.jws.WebService;

import com.hand.cxf_server.dto.Order;

@WebService

public interface OrderWS {

@WebMethod

public Order getOrderById(int id);

}

  1. 實現類

package com.hand.cxf_server.ws.service.impl;

import javax.jws.WebService;

import com.hand.cxf_server.dto.Order;

import com.hand.cxf_server.ws.service.OrderWS;

public class OrderWSImpl implements OrderWS {

public Order getOrderById(int id) {

System.out.println("Server getOrderById(): "+id);

return new Order(id, "飛機", 999999999);

}

}

  1. OrderWS 右鍵->Web Service ->Create Web Service
  2.  a. 修改伺服器和Service介面

  1. 按步驟next,直至建立完畢
  2. 啟動tomcat伺服器,釋出服務
  3. 如果遇到錯誤prefix wsdp is not bound to a namespace
    1. 解決辦法:刪除cxf庫中字首為cxf-services的jar
  4. 如果沒有錯誤,在瀏覽器中輸入http://localhost:8080/server/services/orderws?wsdl,檢查是否釋出成功
  1. 新建動態web工程(Client)
  2. New Dynamic Web Project Dynamic Web Project Create a standalone Dynamic Web project or add it to a new or existing Enterprise Application. O Project name: Client Project location use default location Location: Ta rget runtime Apache Tomcat v8.O Dynamic web module version Config u ra tion CXF Web Services Project v2.5 Configures a Dynamic Web Project EAR membership Add project to an EAR EAR project name: ClientEAR Working sets Add project to working sets Wgrking sets: CXF using Web M v2.5 and Java v5.O N ext Finish New Ru nti mem M odi6/m New erojectm Selectm Cancel
  3. 右鍵New->Other->Web Service Client

New Select a wizard Access an existing XML web service Wiza rd s: pe filter text SQL Development Tasks Tern user Assista nce Web Web Services k] Ant Files unit Test UDDI Web Service Web Service Client Next > 

Web Service Client Web Services Select a service definition and move the slider to set the level of client generation. Service definition: 8 rowsem Client type: Java Proxy üer,loy c!ient Monitor the Web service o Config u ra tion: Server runtime: Tomcat v8.O Server Web service runtime: A ache CXF 2.x Client proiect: Client Finish Ca ncel
  1. 新建cxf-client.xml檔案

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:jaxws="http://cxf.apache.org/jaxws"

    xsi:schemaLocation="http://www.springframework.org/schema/beans

<jaxws:client id="orderClient" serviceClass="com.hand.cxf_server.ws.service.OrderWS" address="http://localhost:8080/server/services/orderws"></jaxws:client>

</beans>

  1. 新建測試類Main

package com.hand.cxf_server.ws.service.test;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.hand.cxf_server.ws.service.Order;

import com.hand.cxf_server.ws.service.OrderWS;

public class Main {

public static void main(String[] args) {

ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("cxf-client.xml");

OrderWS orderWS = (OrderWS) context.getBean("orderClient");

Order order = orderWS.getOrderById(33);

System.out.println(order);

}

}

  1. 執行檢視結果
  2. 備註:
    1. 如果使用maven部署專案,則maven依賴如下

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-transports-http</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-bindings-soap</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<groupId>org.apache.cxf</groupId>

<artifactId>cxf-rt-frontend-jaxws</artifactId>

<version>${cxf.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-web</artifactId>

<version>${spring.version}</version>

</dependency>

  1. 跨域問題:可以使用HttpURLConnection請求webservice

相關推薦

eclipse開發基於CXF的Web Service專案

開發環境準備: Tomcat 8 Eclipse 4.5.2 Apache-cxf 的jar包(用於在eclipse 中配置CXF Runtime),這裡我使用的版本是3.1.10 新建一個動態we

Eclipse開發環境下web專案如何部署到tomcat及注意事項

一、摘要 本文探討eclipse開發環境下,web專案如何部署到tomcat下,部署後module顯示名稱與web專案名稱不一致,tomcat啟動時報class not found錯誤等常見問題解答。 二、如何部署到tomcat下 1、配置tomc

eclipse開發工具動態網站專案使用jdbc連線資料庫

首先,要到這裡https://dev.mysql.com/downloads/connector/j/5.0.html下載mysql-connector-java的壓縮檔案。 然後,解壓縮,將資料夾下的mysql-connector-java-xxx-bin.jar檔案複製

Eclipse開發平臺上執行基於JavaEE的專案程式

一、前言:Eclipse 是一個開放原始碼的、基於Java的可擴充套件開發平臺。它具有強大的功能,其中之一就是它可以作為Java整合開發環境開發Java專案。本文筆者就以在Eclipse上開發執行JavaEE專案為例,簡單陳述一下如何用Eclipse執行JavaEE專案程式

[嵌入式Linux專案實戰開發]基於QT4.7.4的音樂播放器實現與設計【2018年給力專案

[嵌入式Linux專案實戰開發]基於QT4.7.4的音樂播放器實現與設計【2018年給力專案】是【創科之龍】團隊aiku嵌入式視訊教程系列製作的現有的音樂播放器。 主要功能實現: 1.新建工程,基類選擇Qwidget。雙擊開啟介面檔案,在介面檔案中建立label顯示時間、若干個tool

jfinal+hbase+eclipse開發web專案詳細步驟04---在web頁面實現對hbase資料庫資料的增刪查改功能

首先提醒大家,本節是在步驟01、步驟02、步驟03都成功的基礎上做進一步開發。如果在之前的任何一個步驟出現問題,那麼希望你先解決好問題之後,再做本次的開發。 步驟1:建表。 1、開啟我們虛擬機器,並且啟動hadoop、hbase start-all.sh start

jfinal+hbase+eclipse開發web專案詳細步驟03---jfinal工程中加入hbase外掛

首先,這個步驟是在01工程步驟之上進行修改。 其次,要準備好hbase開發jar包(我們沒有用mevan,所以要下載我準備好的jar包,下載地址:hbase1.2.6開發jar包,如果已經在01中下載好,那麼就不需要再下載)。 1、將下載好的hbase開發jar包全部複製(C

jfinal+hbase+eclipse開發web專案詳細步驟02---jfinal工程中加入jquery外掛

本小節是在01工程步驟至上進行改進,主要改進內容有: 1、加入jquery外掛。 2、利用jquery外掛的ajax來做頁面與後臺的資料互動。 3、利用jquery來動態處理頁面資料與頁面顯示。 注意,在開發之前,我們先要準備好01工程和jquery外掛,jquery外掛下載,我用的是j

jfinal+hbase+eclipse開發web專案詳細步驟01--搭建jfinal工程

在工程專案搭建之前,首先要做以下幾個事情的準備。 最新的jfinal框架jar包,下載地址:jfinal 下載hbase1.2.6開發需要的jar包,下載地址:hbase1.2.6jar包 安裝好eclipse和jdk。eclipse綠色版下載地址:32位、64位

eclipse下maven管理Spring專案構:SpringAOP,基於XMl,基於註解宣告事務,及事務的傳播行為

一:在applicationContext.xml中加入 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"  

基於vue框架專案開發過程中遇到的問題總結(一)

(一)關於computed修改data裡變數的值 問題:computed裡是不能直接修改data裡變數的值,否則在git commit 時會報錯 解決:在computed裡使用get和set來進行獲取和修改data變數,(參考下圖) (二)computed裡監聽陣列

用idea將eclipse開發的javaweb專案部署到tomcat

之前在網上找的一些web專案都是用eclipse開發的,想把這些專案匯入到idea中,然後部署到tomcat中,在網上找了很多教程,很多都不靠譜,發現網上很多配置都是多餘的,其實很多隻需要按idea預設的配置就行了。後來自己一直琢磨終於搞定,希望別人遇到同樣的問題的時候,我這篇文章能解決你的

學習TP5(前提篇):基於PHP的專案開發環境搭建

前言 之前我寫一個TP5框架快速上手的文章,如果你想快速上手TP5框架的話,可以看一下。這篇來聊一聊用TP5框架或者說用PHP來寫後端專案需要在部署哪些環境,還要需要準備哪些軟體。(方法不唯一) 需

基於Spring+SpringMVC+Mybatis分散式敏捷開發系統架構zhen專案

目前看過做完整的專案,大家一起學習一下,詳情請點選原專案連結的地址 前言   zheng專案創建於2016年10月4日,正在慢慢成長中,目的不僅僅是一個開發架構,而是努力打造一套從 前端模板 - 基礎框架 - 分散式架構 - 開源專案 - 持續整合 - 自動化部署 -

sbt筆記三 用IDEA和Eclipse開發sbt專案

首先把我們之前的專案hello-sbt複製兩份,分別叫hello-sbt-idea和hello-sbt-eclipse。 新增外掛 有兩個外掛可以把sbt專案轉換為idea專案和eclipse專案。 在hello-sbt-idea/project/下建立plugin.sbt檔案,內容為: ?

Java 開發基於Zookeeper,Spring,vue.js的高併發多使用者模組化微信商城系統(一) 專案介紹

專案背景: 近幾年,我國網際網路產業呈現蓬勃發展態勢,網民數量不斷增長,網際網路與經濟社會深度融合的基礎更加堅實。根據 CNNIC 資料,截至 2016 年底,我國網民數量規模已達 7.31 億人, 同比增長 6.25%, 網際網路普及率(網際網路使用者數除以

基於dubbo的專案開發

dubbo是什麼: dubbo是一個阿里巴巴開發的開源分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,是阿里巴巴集團的各成員站點的核心框架,每天為2,000+個服務提供3,000,000,000+次訪問量支援。dubbo是對一個系統中應用層上的優化,後面我

Eclipse開發Web專案入門篇

前言:以前一直使用myeclipse 8 開發web,今天特意使用eclipse,所以在這小記一下,一來有需要的可以參考下,二來隨手做個筆記備用 1.開發環境的搭建 1.1.開發工具 JDK:jdk1.6.0_17 Web Server:apache-tomcat-6.0

使用eclipse開發的RAP專案打包war包併發布到tomcat伺服器以及訪問該專案

建立完成專案之後:如下圖所示: 接下來就是要打war包了,那麼在專案空白處右鍵點選->new->進入如下的彈窗: 輸入war,然後找到WAR Product Configuration。 安裝完成之後,接下來就是打war包了:如下圖所示: 選擇

eclipse開發web專案環境搭建

以下將詳細介紹在Eclipse下搭建Java EE開發環境的每一步,   環境:Win 7 + JDK 1.7 + eclipse-3.7-indigo32位  +Tomcat 6.0   首先準備好一下軟體:   JDK:jdk-7u3-windows-i586