當前位置:名人名言大全網 - 端午節短信 - Java SMS服務

Java SMS服務

webservice的應用越來越廣泛。下面介紹幾種在Java系統中開發webservice的方法,相當於做壹個記錄。

1.Axis2

Axis是apache的下壹個開源webservice開發組件,它出現得更早,也更成熟。本文主要介紹Axis+eclipse開發Web服務。當然,Web服務可以在沒有eclipse的情況下開發和發布,但是使用eclipse會更方便。

(1)下載eclipse的Java EE版本。

②下載axis2。

(3)下載eclipse的axis2插件。

Axis2_Codegen_Wizard

Axis2 _服務_歸檔程序

建議使用1.3版本。

eclipse安裝axis2插件。

1)在任意目錄下新建壹個Axis2文件夾,在該文件夾下創建壹個eclipse目錄,並在eclipse目錄下創建壹個plugins目錄和壹個features目錄,例如:d:\ program software \ Eclipse-SVN \ axis 2 \ Eclipse;

2)對下載的axis2插件進行解壓縮,並將解壓縮後的文件放入新建的eclipse插件目錄中;

3)在%eclipse_home%目錄下新建壹個links目錄,並在links目錄下新建壹個axis2.link文件,內容如下:path = d:\ program software \ eclipse-SVN \ axis 2;

4)重啟eclipse並單擊文件-新建-其他。如果您看到Axis2向導,則意味著插件安裝成功。

(5)安裝軸2。

(6)使用eclipse構建壹個新的web項目並創建壹個普通的java類,至少包括壹個方法。

發布網絡服務

1)點擊eclipse的文件-新建-其他,打開Axis2向導,選擇Axis2服務歸檔程序,然後選擇下壹步;

2)選擇類文件位置,即類文件的存儲路徑。註意:只選擇類目錄,不包括包文件夾,然後選擇Next

3)選擇跳過WSDL,然後選擇下壹步。

4)從下壹步開始選擇要包含在服務存檔中的服務XML文件,並選中自動生成服務XML;

5)服務名稱-填寫您的服務名稱,類名-填寫類名,包括包名,然後單擊加載,再單擊完成,webservice將成功發布;

6)然後轉到% Tomcat _ home %/Web apps/axis 2/we B- INF/Services查看是否有附加的。aar文件;

註意:以上方法是發布到axis2.war包,也可以復制生成的。aar文件到您的實際應用程序中。同時,您還可以使用eclipse的create webservice功能發布您的webservice,並選擇axis2來生成您的webservice,這樣webservice將部署在您的應用程序中。

2.Apche CXF

CXF開發webservice也很方便簡單,它與spring的集成可以說非常好。舉壹個CXF開發webservice的例子。

1)在eclipse中創建新的web項目並導入依賴包,如下圖所示:

2)編寫壹個接口,例如:

註意:CXF開發的webservice的接口中的方法的參數必須是這樣的,否則當客戶端調用時CXF服務器將不會接收到參數的值。name:參數名可選(建議寫),targetNamespace:命名空間必須填寫,默認為包名的逆序,mode:參數類型,in表示輸入。

3)編寫實現類來實現接口的方法;

4)與spring集成並編寫壹個bean文件,如cxf-beans.xml,內容如下:

Cxf-beans.xml代碼

& lt?xml版本=“1.0“編碼=“UTF-8“?& gt

& lt導入資源=“class path:META-INF/cxf/cxf . XML“/& gt;

& lt導入資源=“class path:META-INF/cxf/cxf-extension-soap . XML“/& gt;

& lt導入資源=“class path:META-INF/cxf/cxf-servlet . XML“/& gt;

& ltjaxws:endpoint id =“Vote“implementor =“com . zcl . cxf . service . Vote impl“address =“/Vote“/& gt;

& lt/beans & gt;

這個文檔比較容易理解,所以我就不解釋了。

5)配置CXFServlet

在web.xml文件中配置CXFServlet並加載cxf-beans.xml文件,內容如下:

Web.xml代碼

ID =“web app _ ID“version =“2.5“& gt。

& lt上下文參數& gt

& ltparam-name & gt;contextConfigLocation & lt/param-name & gt;

& lt參數值& gtwe B- INF/cxf-beans . XML & lt;/param-value & gt;

& lt/context-param & gt;

& lt監聽器& gt

& lt偵聽器類& gtorg . spring framework . web . context . context loader listener & lt;/listener-class & gt;

& lt/listener & gt;

& ltservlet & gt

& ltservlet-name & gt;cxf & lt/servlet-name & gt;

& ltservlet-class & gt;org . Apache . cxf . transport . servlet . cxf servlet & lt;/servlet-class & gt;

& lt啟動時加載& gt1 & lt;/load-on-startup》

& lt/servlet & gt;

& ltservlet映射& gt

& ltservlet-name & gt;cxf & lt/servlet-name & gt;

& lturl模式& gt/services/* & lt;/URL-pattern & gt;

& lt/servlet-mapping & gt;

& lt/we B- app & gt;

將項目部署到中間件,比如tomcat,然後就可以訪問webservice了。

3.JDK發展網絡服務

1)編寫如下Java類:

Jdkwebservice.java電碼

軟件包演示;

導入javax . jws . web param;

導入javax . jws . web service;

導入javax . XML . ws . endpoint;

@網絡服務

公共類JdkWebService {

return“照做就是了,“+ value +“!“;

}

公共靜態void main(String[] args) {

}

}

2)運行java類,可以在瀏覽器上訪問webservice。

註意:這種方法在開發web項目時不太友好。我們可以編寫壹個servlet類,並在servlet類的初始化方法中發布壹個webservice,這樣我們的中間件服務器將在webservice啟動時幫助我們自動啟動它。

4)xfire

開發web服務有許多框架,每個框架都有自己的優勢。最近,我練習用xfire開發web服務。下面是壹個開發web服務的小例子,希望對初學者有所幫助。

1.創建壹個名為TestWebService的新java web項目,將xfire相關的jar包添加到lib目錄中,並編寫接口類和實現類。

Java代碼

包com . lamp . service;

公共接口消息服務{

公共字符串getName(字符串名稱);

}

【java】查看plaincopyprint?

包com . lamp . service;

公共接口消息服務{

公共字符串getName(字符串名稱);

}

實現類

Java代碼

包com . lamp . service . impl;

導入com . lamp . service . messageservice;

公共類MessageServiceImpl實現MessageService {

公共字符串getName(字符串名稱){

返回“hellow“+name+“,歡迎來到web service world“;

}

}

【java】查看plaincopyprint?

包com . lamp . service . impl;

導入com . lamp . service . messageservice;

公共類MessageServiceImpl實現MessageService {

公共字符串getName(字符串名稱){

返回“hellow“+name+“,歡迎來到web service world“;

}

}

在src目錄下新建壹個文件夾META-INF,然後在其下新建壹個文件夾xfire,在xfire目錄下新建壹個配置文件services.xml。

Xml代碼

& lt?xml版本=“1.0“編碼=“UTF-8“?& gt

& lt服務& gt

& ltname & gt消息服務& lt/name & gt;

& ltserviceClass & gtcom . lamp . service . messageservice & lt;/service class & gt;

& lt實現類& gtcom . lamp . service . impl . messageservice impl & lt;/implementation class & gt;

& lt/service & gt;

& lt/beans & gt;

【xml】查看plaincopyprint?

& lt?xml版本=“1.0“編碼=“UTF-8“?& gt

& lt服務& gt

& ltname & gt消息服務& lt/name & gt;

& ltserviceClass & gtcom . lamp . service . messageservice & lt;/service class & gt;

& lt實現類& gtcom . lamp . service . impl . messageservice impl & lt;/implementation class & gt;

& lt/service & gt;

& lt/beans & gt;

最後,在web.xml中配置xfire的servlet。

Xml代碼

& ltservlet & gt

& ltservlet-name & gt;XFireServlet & lt/servlet-name & gt;

& ltservlet-class & gt;

& lt/servlet-class & gt;

& lt/servlet & gt;

& ltservlet映射& gt

& ltservlet-name & gt;XFireServlet & lt/servlet-name & gt;

& lturl模式& gt/servlet/XFireServlet/* & lt;/URL-pattern & gt;

& lt/servlet-mapping & gt;

& ltservlet映射& gt

& ltservlet-name & gt;XFireServlet & lt/servlet-name & gt;

& lturl模式& gt/services/* & lt;/URL-pattern & gt;

& lt/servlet-mapping & gt;

【xml】查看plaincopyprint?

& ltservlet & gt

& ltservlet-name & gt;XFireServlet & lt/servlet-name & gt;

& ltservlet-class & gt;

& lt/servlet-class & gt;

& lt/servlet & gt;

& ltservlet映射& gt

& ltservlet-name & gt;XFireServlet & lt/servlet-name & gt;

& lturl模式& gt/servlet/XFireServlet/* & lt;/URL-pattern & gt;

& lt/servlet-mapping & gt;

& ltservlet映射& gt

& ltservlet-name & gt;XFireServlet & lt/servlet-name & gt;

& lturl模式& gt/services/* & lt;/URL-pattern & gt;

& lt/servlet-mapping & gt;

這樣服務器端開發就完成了,現在開始客戶端開發。

創建新的java項目還引入了xfire相關的jar。我使用ant在客戶端生成代理對象,並在項目路徑下創建壹個新的build.xml。密碼是

Xml代碼

& lt?xml版本=“1.0“編碼=“UTF-8“?& gt

& lt項目名稱=“web service“basedir =“,“default =“gen-web service“& gt;

& lt屬性文件=“build . properties“& gt;

& lt/property & gt;

& ltpath id =“project-class path“& gt;

& lt文件集目錄=“$ { lib . dir }“& gt;

& lt包括名稱=“* */*。jar“/》;

& lt/fileset & gt;

& lt/path & gt;

& lttarget name =“gen-web service“& gt。

& lttaskdef name =“wsgen“class name =“org . codehaus . xfire . gen . wsgentask“class pathref =“project-class path“/& gt。

& ltwsgen輸出目錄=“$ { src . dir }“

wsdl =“$ { wsdl . dir }“package =“com . lamp . ws . client“overwrite =“true“/& gt;

& lt/target & gt;

& lt/project & gt;

【xml】查看plaincopyprint?

& lt?xml版本=“1.0“編碼=“UTF-8“?& gt

& lt項目名稱=“web service“basedir =“,“default =“gen-web service“& gt;

& lt屬性文件=“build . properties“& gt;

& lt/property & gt;

& ltpath id =“project-class path“& gt;

& lt文件集目錄=“$ { lib . dir }“& gt;

& lt包括名稱=“* */*。jar“/》;

& lt/fileset & gt;

& lt/path & gt;

& lttarget name =“gen-web service“& gt。

& lttaskdef name =“wsgen“class name =“org . codehaus . xfire . gen . wsgentask“class pathref =“project-class path“/& gt。

& ltwsgen輸出目錄=“$ { src . dir }“

wsdl =“$ { wsdl . dir }“package =“com . lamp . ws . client“overwrite =“true“/& gt;

& lt/target & gt;

& lt/project & gt;