1. 程式人生 > >cxf釋出webservice簡介 及 wsdl2java生成客戶端程式碼

cxf釋出webservice簡介 及 wsdl2java生成客戶端程式碼

下面我們簡要介紹如何通過cxf框架釋出webservice

首先新建一個Java project為cxfmodel_server

首先去官網下載cxf:http://cxf.apache.org/download.html

下面我們就開始使用

(1)釋出服務

第一步:新建需要釋出的介面HelloWorld.java,裡面包含一個sayHello方法,其次寫出這個介面的實現類實現sayHello方法,簡要的列印輸出結果

第二步:給介面和實現類加上相應的註解

@WebService表明此類釋出為一個服務

@WebMethod表明釋出的服務方法

實際程式碼如下

介面 HelloWorld.java

@WebService
public interface HelloWorld {
	
	@WebMethod
	public String sayHello(String name);

}
我們可以看出,其中使用了兩個註解,@WebService表明此類釋出為一個服務,@WebMethod表明釋出服務包含的方法。

介面實現類HelloWorldImpl.java

@WebService
public class HelloWorldImpl implements HelloWorld {

	@Override
	public String sayHello(String name) {
		
		System.out.println("server sayHello() :" + name);
		
		return "Hello " + name;
	}

}

第三步:編寫釋出服務的方法,其中我們需要用到Endpoint類的publish方法。

public class ServerTest {
	
	public static void main(String[] args) {
		//表示我們服務<span style="font-family: Arial, Helvetica, sans-serif;">釋出</span>的地址
		String address = "http://localhost:8989/jdkmodel_server/hellows";
		Endpoint.publish(address, new HelloWorldImpl());
		System.out.println("server start ...");
		
	}

}

第四步:很關鍵,將我們下載的cxf jar包匯入工程lib目錄下,目錄不存在,就新建一個

第五步:右鍵run as---java application,得到執行結果,表示服務釋出成功

小結:

區別一:使用cxf釋出wenservice和使用jdk的區別在於cxf使用jetty容器釋出服務(我們可以再jar包中看到),而jdk則使用tomcat容器釋出服務。

區別二:使用cxf釋出webservice我們也可以是用自帶的wsdl2java.exe命令生成客戶端程式碼

(2)生成客戶端呼叫程式碼

以上我們釋出完成了服務,下面我們來通過cxf自帶的wsdl2java.exe命令生成客戶端呼叫程式碼

注:wsdl2java.exe命令在cxf的bin目錄下,大家可以自行檢視

以上命令十分簡單

cmd----跳轉到你需要儲存客戶端程式碼的目錄下---wsdl2java url

輸入以上命令即可生成客戶端呼叫程式碼,需要注意的是上面提到的url,可以使我們釋出的wsdl檔案地址,也可以是本地wsdl檔案。使用時需要注意。


以上就可以使用生成的程式碼呼叫我們釋出的服務,結果如下


相關推薦

cxf釋出webservice簡介 wsdl2java生成客戶程式碼

下面我們簡要介紹如何通過cxf框架釋出webservice 首先新建一個Java project為cxfmodel_server 首先去官網下載cxf:http://cxf.apache.org/download.html 下面我們就開始使用 (1)釋出服務 第一步:新建

JDK釋出webservice服務,並生成客戶程式碼實戰

一 jdk釋出webservice服務 第一步:新建一個工程ws_jdk_server 新建類HelloServer.java package com.ws.server; import java

cxf在cmd中通過wsdl2java生成客戶檔案

E:\apache-cxf-3.1.0\bin>wsdl2java -p com.service.cxf -d e:\workspaces\testproject\src -verbose "E:\loginService.xml"

webservice wsdl2Java 生成客戶程式碼

1  環境配置 將CXF_HOME/bin加入到環境變數path中,如我的是D:\Java\Jar\apache-cxf-2.7.7\bin 開啟cmd輸入 wsdl2java -v 出現如下資訊表示配置成功 2、wsdl2java的使用 (1)建立一個"Jav

怎樣使用cxf webservice生成客戶程式碼

1.首先編寫webservice介面2.編寫webservice實現類3.在web.xml中配置cxf攔截器4.與spring整合(在spring-context.xml)中新增配置項5.在瀏覽器中使用wsdl生成xml檔案,如果正常生成則配置成功,在瀏覽器中應輸入http:

cxfwsdl2java工具生成客戶程式碼

 wsdl2java用法: wsdl2java -p com -d src -all  aa.wsdl -p  指定其wsdl的名稱空間,也就是要生成程式碼的包名: -d  指定要產生程式碼所在目錄 -client 生成客戶端測試web service的程式碼 -server 生成伺服器啟動web  serv

CXF生成客戶程式碼並打包成jar檔案

最近其他部門提供了WebService介面,本地開發使用的是Java,現在選擇使用根據WSDL文件打成Jar包的方式來處理,在此記錄一下命令 CXF工具請百度自行安裝 CXF生成客戶端程式碼並打包成jar檔案: wsdl2java -frontend jaxws21 -encoding ut

spring boot 整合webservice axis(2) axis由wsdl或者xml生成客戶程式碼

1.點選專案右鍵新增other如下圖 2.選擇 3.選擇wsdl檔案 4.選擇程式碼生成的位置 5.在pom.xml中引入axis依賴或者在普通專案中引入jar包 spring boot 整合webservice axis(1) eclipse axis外掛安裝 sp

webservice 生成客戶程式碼

命令如下: wsimport -keep -d d:\ -s d:\src -p com.hello -verbose http://127.0.0.1:9999/hello?wsdl -d:指定class檔案的存放目錄 -s:指定原始碼java輸出目錄  -p:以pac

用eclipse呼叫遠端webservice生成客戶程式碼

以前在呼叫webservice的時候都是自己老老實實用axis寫程式碼,今天在網上看到在myeclipse裡面可以根據wsdl介面地址自動生成介面呼叫客戶端程式碼,於是我就想到在eclipse裡面是不是也可以根據wsdl介面地址自動生成介面客戶端呼叫程式碼呢?答案是肯定的,

WebService學習總結 三 利用本地wsdl文件生成客戶程式碼和TCP/IP工具監聽請求

一 利用本地文件生成客戶端程式碼: 之前都是利用網路上的wsdl文件生成客戶端程式碼,現狀可以先訪問網路上的wsdl文件,再把文件儲存到本地,使用 wsimport -keep 本地wsdl文件路徑,來生成客戶端程式碼。 例如 wsimport -keep D:\java\

使用cmd webservice wsdl網址生成客戶程式碼

1.必須安裝jdk環境 2.開啟cmd 3. 嘗試使用wsimport命令 命令引數說明: -d:生成客戶端執行類的class檔案的存放目錄(預設存放在C:\Users\Administrator\)包含.java和.class檔案 -s:生成客戶端執行類的原始檔的存放目

如何在SpringMVC專案中部署WebService服務並打包生成客戶

場景 某SpringMVC專案原本為一個HTTP的WEB服務專案,之後想在該專案中新增WebService支援,使該專案同時提供HTTP服務和WebService服務。其中WebService服務通過 /ws/** 地址攔截。 配置 通過配置讓Spri

使用CXF將wsdl檔案生成客戶程式碼命令

1、先下載cxf包 http://cxf.apache.org/download.html,現在cxf包。(下載資源就有)2、解壓縮包,通過cmd命令進入到bin目錄下(cd cxf\bin的路徑) cxf生成客戶端程式碼 3、使用wsdl2java命令生成客戶端程式碼

使用Swagger的Json文件生成客戶程式碼

一. 線上工具方式 線上訪問 Swagger Editor 編寫 Swagger 文件 線上生成程式碼 二. 命令建立(需有java環境) 編寫 Swagger Json文件 下載打包工具 swagger-codegen-cli

wsdl介面,用cmd生成客戶程式碼

wsimport -s D:\cos\pa -p com.sf.customer.service.core.web.ws.client.cos.paramTypeService -keep http://127.0.0.1:8080/cos_webservice/servi

通過WSDL生成客戶程式碼

目錄 WSDL(Web Service Description Language),描述一個服務。 Axis支援三種方式操作WSDL: 2 提供”WSDL2Java”工具使用WSDL描述來生成Java代理和skeletons 3 提供”

webservcie生成客戶程式碼報錯----javax.xml.ws.soap.SOAPFaultException: Cannot create a secure XMLInputFactory

javax.xml.ws.soap.SOAPFaultException: Cannot create a secure XMLInputFactory 這個問題困擾了我一天,媽的,後來才發現是缺少了兩個jar包,如下: 伺服器端缺少了兩個jar包  stax2-api-3

WSDL控制檯中wsimport命令生成客戶程式碼報錯解決方案

在使用webservice時,利用jdk自帶的wsimport.exe生成客戶端程式碼時發生如下錯誤: 正在解析 WSDL... [ERROR] Unexpected end of file from server 無法讀取 WSDL 文件: http://localhos

CXFwsdl2java命令生成webService客戶程式碼

1.wsdl2java工具的使用前準備,下載apache-cxf-2.7.2�工具� 一、環境配置         新建CXF_HOME      C:\ProgramFiles(my)\apache-cxf-2.7.2         在CLASSPATH