在原有AXIS WEBSERVICE基础如何制作不依赖AXIS并在WAS发布的WEBSERVICE
必須裝有RAD或WSTK(這里只說前者),如果RAD中沒有測試環境,則需要安裝WAS6
新建WEB工程,并將AXIS相關的東西去掉:
1、所有AXIS相關的配置文件,并將WEB.xml中的AXIS的SERVLET都去掉。
2、去掉AXIS相關的庫。
3、只保留所有源代碼和其它配置(如過濾器,LOG4J等)
4、編譯好此工程。
5、來到工程的CLASSPATH下。如web-inf/classes下
6、運行如下腳本(可做成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
注意:如沒有裝RAD的WAS6測試環境,將RAD/BIN下的Bean2WebService.bat和aetupenv.bat中的設置set WAS_HOME改為你自己的WAS
安裝目錄(如果RAD沒裝WAS測試環境的話。),此處的cfrBean2WebService是我改過的。
這樣,會在該目錄下生成一個washostservcie的目錄,里面有打好的EAR包,但需要取出里面的WAR做如下修改:
1、將SPRING,LOG4J配置文件拷貝到相應的目錄,還有你自己定制的其它配置文件。
2、將原WEB.xml相關過濾器等部分加到現有WAR的相應部分(因為新生成的里面只有WEBSERVICE相關的SERVLET)
3、在web-inf/lib下加入你需要的其它依賴庫。
重新打包,發布(同發布普通的EAR一樣,沒什么區別)
客戶端:
AXIS:
運行AXIS中的WSDL2JAVA生成客戶端:WSDL2JAVA d:/xxx.wsdl
要運行客戶端只需要Axis.jar就行了。
WAS:
利用RAD或WSTK的工具
WSDL2JAVA生成相應的各戶端代碼,
或在生成服務端的時候一起生成,
在這里,主要是BEAN2WEBSERVICE.bat在RAD/BIN下
運行客戶端需要的庫:
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中的設置set WAS_HOME改為你自己的WAS安裝目錄(如果RAD沒裝WAS
測試環境的話。)
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/
正在創建新項目:washostservice...
已除去 D:/washostservice/WEB-INF/classes/washostservice/WEB-INF/classes/ 下的目錄中的所有現有類
正在生成服務端點接口...
生成 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
生成服務器端文件:
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”。
生成客戶機端文件:
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。
正在創建客戶機端構建腳本...
正在創建 main 類...
全部完成。
總結
以上是生活随笔為你收集整理的在原有AXIS WEBSERVICE基础如何制作不依赖AXIS并在WAS发布的WEBSERVICE的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WAS6集群部署及初步测试
- 下一篇: 爨底下-双龙峡,凑合的一日游