基於xfire的web service搭建

2021-08-29 21:59:30 字數 2511 閱讀 8259

這裡,用的xfire1.2.6和spring 2.0,開發工具用的myeclispe,雖然myeclipse自帶了開發xfire的外掛程式,但為了不依賴開發工具,所以以下為手動建立。

xfire 可以很好的和spring 整合,下面分兩部分介紹

純xfire 的web service

1.2、修改web.xml檔案,新增如下內容,以支援xfire:

這樣,便可以通過http://localhost:8080/projectname/services/ 路徑來訪問所有發布的web services了。

1.3、在專案下的web-inf目錄下建立meta-inf/xfire/這個目錄,在此目錄下建立services.xml檔案,這個檔案用來添寫我的要發布的web services。檔案內容如下所示:

helloservice

com.services.helloservice

com.services.helloserviceimpl

檔案的內容如下:

:發布乙個web service;

:發布web service的名稱;

:提供服務的介面類;

:實現服務介面類的具體類。

注:這裡用的spring 2.0,如果是用xfire 自帶的spring1.2.6,應該將

xmlns="

" 放到裡去定義。

1.4、下面,將這個web 專案,發布到tomcat下,便可以使用

來呼叫這個web

service了。

於spring 整合的xfire 開發web services,這裡用的是spring 2.0,如果是spring2.5,需要將spring-webmvc.jar新增進來。

下面說與spring 整合的xfire開發步驟

spring 與xfire 有三種結合方式,下面以直接與spring整合的方法說明。 (

通過spring的org.springframework.web.servlet.dispatcherservlet)。

2.1、將xfire與spring的jar包放到web 專案的classpath

2.2、修改web.xml,使其支援spring 與xfire,新增如下內容:

contextconfiglocation

classpath:org/codehaus/xfire/spring/xfire.xml

org.springframework.web.context.contextloaderlistener

xfire

org.springframework.web.servlet.dispatcherservlet

0/service/*

在本例中,將此檔案放在web-inf/conf目錄下。內容如下:

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

這裡,定義了乙個bean,這裡用的是web services介面的實現類。

2.4、在web-inf下建立xfire-servlet.xml檔案,這裡的xfire是

org.springframework.web.servlet.dispatcherservlet

這個servlet的名稱,應該根據自己的進行修改

內容如下:

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

//url,訪問位址

com.service.helloservice

這樣便生成乙個web service,可以通過網域名稱來訪問,並編寫客戶端**了。

另一種方式,使用xfire自帶的

org.codehaus.xfire.spring.xfirespringservlet

這個類進行設定。

方法如下:

修改web.xml,新增如下內容:

contextconfiglocation

org.springframework.web.context.contextloaderlistener

xfireservlet

org.codehaus.xfire.spring.xfirespringservlet

/service/*

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

但個web service是沒有任何安全性可言的,任何拿到wsdl的人都可以輕鬆地構造客戶端程式訪問我們的web service服務。

基於Xfire實現webservice的超時設定

最近在做需求的時候,遇到乙個問題,就是呼叫三方的服務,沒有設定超時鏈結,影響了訊息佇列中訊息的消費速度,進而導致訊息佇列訊息有擠壓。對此找到了一種設定連線超時的方法,適用於基於xfire實現webservice的呼叫,具體如下 1 新建httpmessagesender 2 在呼叫端設定httpcl...

18 webserv 流socket的應用

1 伺服器設計 學習了網路程式設計的基本操作和設計原則,建立乙個web伺服器,這是乙個典型的socket流的客戶端 伺服器系統。伺服器設立服務,然後進入迴圈接收和處理請求。客戶端連線到伺服器,然後傳送 接收或者交換資料,最後退出。該互動過程主要包含3個操作 2 建立伺服器socket 設立乙個服務一...

關於delphi呼叫c 寫的webservice

因為這次專案涉及到跨平台的,所採用delphi呼叫webservice 一開始的時候用delphi自動生成wsdl。呼叫hellowordl成功。非常開心,可是問題來了,helloworld是不需要傳引數,於是我就寫了乙個簡單的函式 public string returnstr string tt...