在原有AXIS WEBSERVICE基础如何制作不依赖AXIS并在WAS发布的WEBSERVICE
必須裝有RAD或WSTK(這里只說(shuō)前者),如果RAD中沒(méi)有測(cè)試環(huán)境,則需要安裝WAS6
新建WEB工程,并將AXIS相關(guān)的東西去掉:
1、所有AXIS相關(guān)的配置文件,并將WEB.xml中的AXIS的SERVLET都去掉。
2、去掉AXIS相關(guān)的庫(kù)。
3、只保留所有源代碼和其它配置(如過(guò)濾器,LOG4J等)
4、編譯好此工程。
5、來(lái)到工程的CLASSPATH下。如web-inf/classes下
6、運(yùn)行如下腳本(可做成BAT文件)
set RADHOME=C:/IBM/Rational/SDP/6.0/bin
set WAS_HOME=D:/program/IBM/WebSphere/AppServer
set PATH=%RADHOME%;%PATH%
call setupenv.bat
call cfrBean2WebService.bat -verbose -cp . -project washostservice -genMain WeatherServiceClient -clientType J2SE -host localhost:9080 com.travelsky.hostservice.HostService
注意:如沒(méi)有裝RAD的WAS6測(cè)試環(huán)境,將RAD/BIN下的Bean2WebService.bat和aetupenv.bat中的設(shè)置set WAS_HOME改為你自己的WAS
安裝目錄(如果RAD沒(méi)裝WAS測(cè)試環(huán)境的話(huà)。),此處的cfrBean2WebService是我改過(guò)的。
這樣,會(huì)在該目錄下生成一個(gè)washostservcie的目錄,里面有打好的EAR包,但需要取出里面的WAR做如下修改:
1、將SPRING,LOG4J配置文件拷貝到相應(yīng)的目錄,還有你自己定制的其它配置文件。
2、將原WEB.xml相關(guān)過(guò)濾器等部分加到現(xiàn)有WAR的相應(yīng)部分(因?yàn)樾律傻睦锩嬷挥蠾EBSERVICE相關(guān)的SERVLET)
3、在web-inf/lib下加入你需要的其它依賴(lài)庫(kù)。
重新打包,發(fā)布(同發(fā)布普通的EAR一樣,沒(méi)什么區(qū)別)
客戶(hù)端:
AXIS:
運(yùn)行AXIS中的WSDL2JAVA生成客戶(hù)端:WSDL2JAVA d:/xxx.wsdl
要運(yùn)行客戶(hù)端只需要Axis.jar就行了。
WAS:
利用RAD或WSTK的工具
WSDL2JAVA生成相應(yīng)的各戶(hù)端代碼,
或在生成服務(wù)端的時(shí)候一起生成,
在這里,主要是BEAN2WEBSERVICE.bat在RAD/BIN下
運(yùn)行客戶(hù)端需要的庫(kù):
wes_home/lib:j2ee.jar, webservice.jar
wes_home/installedChannels:? channel.http.jar, channel.tcp.jar
IBM_JRE/lib:xml.jar
?
以下是Bean2WebService命令輸出:
set RADHOME=C:/IBM/Rational/SDP/6.0/bin
set WAS_HOME=D:/program/IBM/WebSphere/AppServer
set PATH=%RADHOME%;%PATH%
call setupenv.bat
call cfrBean2WebService.bat -verbose -cp . -project washostservice -genMain WeatherServiceClient -clientType J2SE -host localhost:9080 com.travelsky.hostservice.HostService
將RAD/BIN下的Bean2WebService.bat和aetupenv.bat中的設(shè)置set WAS_HOME改為你自己的WAS安裝目錄(如果RAD沒(méi)裝WAS
測(cè)試環(huán)境的話(huà)。)
D:/washostservice/WEB-INF/classes>runbean2ws
D:/washostservice/WEB-INF/classes>set RADHOME=C:/IBM/Rational/SDP/6.0/bin
D:/washostservice/WEB-INF/classes>set WAS_HOME=D:/program/IBM/WebSphere/AppServer
D:/washostservice/WEB-INF/classes>set PATH=C:/IBM/Rational/SDP/6.0/bin;D:/program/cTeX/localt~1/cct/bin;D:/program/cTeX/texmf
/miktex/bin;D:/program/cTeX/gs/gs7.06/bin;D:/program/cTeX/WinEdt;C:/PROGRAM FILES/THINKPAD/UTILITIES;C:/WINDOWS/system32;C:/W
INDOWS;C:/WINDOWS/System32/Wbem;C:/Program Files/ATI Technologies/ATI Control Panel;C:/IBMTOOLS/Python22;C:/Program Files/PC-
Doctor for Windows/services;C:/mysql/bin;C:/Program Files/RacerPro-1-8-1/;C:/j2sdk1.4.2_04/bin;C:/Program Files/IDM Computer
Solutions/UltraEdit-32;C:/IBM/Rational/SDP/6.0/bin
D:/washostservice/WEB-INF/classes>call setupenv.bat
IBM_RAD_BIN=C:/IBM/Rational/SDP/6.0/bin/
正在創(chuàng)建新項(xiàng)目:washostservice...
已除去 D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/classes/ 下的目錄中的所有現(xiàn)有類(lèi)
正在生成服務(wù)端點(diǎn)接口...
生成 WSDL:
WSWS3477I: 特定于綁定的屬性為 {MIMEStyle=WSDL11, use=literal, debug=false, style=document, bindingName=HostService, encodingS
tyle=http://schemas.xmlsoap.org/soap/encoding/, verbose=true, wrapped=true, portTypeName=HostService, servicePortName=HostSer
vice, intfNS=http://hostservice.travelsky.com, location=http://localhost:9080/washostservice/services/HostService, soapAction
=DEFAULT}
WSWS3010I: 信息:生成 portType {http://hostservice.travelsky.com}HostService
!Could_Not_Reflect_Fields_ERROR_!
WSWS3010I: 信息:生成 message {http://hostservice.travelsky.com}serviceRequest
WSWS3010I: 信息:生成 type/element {http://input.hostservice.travelsky.com}HostRequest
WSWS3010I: 信息:生成 message {http://hostservice.travelsky.com}serviceResponse
WSWS3010I: 信息:生成 type/element {http://output.hostservice.travelsky.com}HostResponse
WSWS3010I: 信息:生成 binding {http://hostservice.travelsky.com}HostServiceSoapBinding
WSWS3010I: 信息:生成 binding {http://hostservice.travelsky.com}HostServiceSoapBinding
WSWS3010I: 信息:生成 service {http://hostservice.travelsky.com}HostServiceService
WSWS3010I: 信息:生成 port HostService
生成服務(wù)器端文件:
WSWS3185I: 信息:正在分析 XML 文件:D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/wsdl/HostService.wsdl
Retrieving document at 'file:/D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/wsdl/HostService.wsdl'.
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/com/travelsky/hostservice/input/HostRequest
.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/com/travelsky/hostservice/input/HostRequest
_Helper.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/com/travelsky/hostservice/input/HostRequest
_Ser.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/com/travelsky/hostservice/input/HostRequest
_Deser.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/com/travelsky/hostservice/output/HostRespon
se.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/com/travelsky/hostservice/output/HostRespon
se_Helper.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/com/travelsky/hostservice/output/HostRespon
se_Ser.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/com/travelsky/hostservice/output/HostRespon
se_Deser.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/com/travelsky/hostservice/HostService.java
。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/com/travelsky/hostservice/HostServiceSoapBi
ndingImpl.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/webservices.xml。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/ibm-webservices-bnd.xmi。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/ibm-webservices-ext.xmi。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/HostService_mapping.xml。
正在配置 webservices.xml...
D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/wsdl/HostService.wsdl
使用上下文根 washostservice 添加了 Web 模塊
已成功生成了 Web Service 歸檔“file:/D:/washostservice/WEB-INF/classes/washostservice/washostserviceEAR.ear”。
生成客戶(hù)機(jī)端文件:
WSWS3185I: 信息:正在分析 XML 文件:D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/wsdl/HostService.wsdl
Retrieving document at 'file:/D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/wsdl/HostService.wsdl'.
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/input
/HostRequest.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/input
/HostRequest_Helper.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/input
/HostRequest_Ser.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/input
/HostRequest_Deser.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/outpu
t/HostResponse.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/outpu
t/HostResponse_Helper.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/outpu
t/HostResponse_Ser.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/outpu
t/HostResponse_Deser.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/HostS
ervice.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/HostS
erviceSoapBindingStub.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/HostS
erviceService.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/HostS
erviceServiceLocator.java。
WSWS3282I: 信息:正在生成 file://D:/washostservice/WEB-INF/classes/washostservice/client-side/com/travelsky/hostservice/HostS
erviceServiceInformation.java。
正在創(chuàng)建客戶(hù)機(jī)端構(gòu)建腳本...
正在創(chuàng)建 main 類(lèi)...
全部完成。
總結(jié)
以上是生活随笔為你收集整理的在原有AXIS WEBSERVICE基础如何制作不依赖AXIS并在WAS发布的WEBSERVICE的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: WAS6集群部署及初步测试
- 下一篇: 爨底下-双龙峡,凑合的一日游