走了很多彎路,參考了很多文獻,才把這個Math調(diào)試完畢。順便記下,供需要的人參考。
一.軟件
操作系統(tǒng):Vista Ultimate
JDK: C:\Java\jdk1.5.0_03 http://java.sun.com/javase/downloads/index_jdk5.jsp
Axis: C:\axis14 Axis下載:http://archive.apache.org/dist/ws/axis/
Ant: C:\ant170 Ant下載:http://www.apache.org/dist/ant/binaries/
Tomcat : C:\Tomcat5 版本是5.0.28 Tomcat下載:http://tomcat.apache.org/
Python: C:\Python24
axis需要的jar文件下載:
activation.jar下載:http://java.sun.com/products/javabeans/glasgow/jaf.html
Javamail.jar下載:http://java.sun.com/products/javamail/
Xmlsec.jar下載:http://xml.apache.org/security/
二.環(huán)境設(shè)置:
ANT_HOME=C:\ant170
AXIS_HOME=%CATALINA_HOME%\webapps\axis
AXIS_LIB=C:\jdbc\axis_lib
AXISCLASSPATH=%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis.jar;%AXIS_LIB%\commons-discovery-0.2.jar;%AXIS_LIB%\commons-logging-1.0.4.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\xml-apis.jar;%AXIS_LIB%\xercesImpl.jar;%AXIS_LIB%\xalan.jar;%AXIS_LIB%\xmlsec-1.4.1.jar;%AXIS_LIB%\activation.jar;%AXIS_LIB%\mail.jar;
CATALINA_HOME=C:\Tomcat5
classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;DBCLASSPATH;AXISCLASSPATH
DB_LIB=C:\jdbc\db_lib
DBCLASSPATH=%DB_LIB%\jconn2.jar;
GLOBUS_LOCATION=C:\globus
JAVA_HOME=C:\Java\jdk1.5.0_03
Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;%ANT_HOME%\bin;%GLOBUS_LOCATION%\bin;%CATALINA_HOME%\bin;
三.安裝
1.jdk安裝
2.tomcat安裝
3.axis安裝
4.globus4安裝
四.調(diào)試
1.調(diào)試好jdk
2.調(diào)試好tomcat
3.調(diào)試好axis
4.調(diào)試好globus
五math的調(diào)試
math下載地址:http://gdp.globus.org/gt4-tutorial/download/progtutorial-examples_0.2.1.tar.gz
MathQNames.java/MathService.java下載:http://m.tkk7.com/Files/waterjava/globus_Math.rar
這部分參考了網(wǎng)上文獻,紅色部分是自己加上的:
step1
1 建wsdl文件
即C:\globus\schema\examples\MathService_instance\Math.wsdl
內(nèi)容就直接從tutorial上拷.
2 建c:\globus\namespace2package.mappings
手冊上是說的namespace2package..properties文件,但每次在編譯的時侯,都是映射后的命名空間找不著,改成.mappings就OK了.這里注意每條記錄只能占一行,而且"http\://"那一"\"不能亂刪.
step2 寫服務(wù)實現(xiàn)類
1 MathQNames.java
內(nèi)容從手冊上拷,文件建在C:\globus\org\globus\examples\services\core\first\impl\MathQNames.java處.
2 MathService.java
內(nèi)容從手冊上拷,文件建在C:\globus\org\globus\examples\services\core\first\impl\MathService.java處.
step3 建WSDD和JNDI部署文件
1 C:/globus/org/globus/examples/services/core/first/deploy-server.wsdd;
2 C:/globus/org/globus/examples/services/core/first/deploy-jndi-config.xml;
step4 生成gar文件
1 將下載的globus-build-service-gt4_0.2.5里面幾個文件(globus-build-service.py和build.xml)先拷貝到C:\globus下
2 在C:\globus下運行命令:
globus-build-service.py -d org/globus/examples/services/core/first/ -s schema/examples/MathService_instance/Math.wsdl
如果不成功,估計要先運行d:\ws\etc\globus-devel-env.bat;
成功的話,生成d:\gt4\org_globus_examples_services_core_first.gar
step 5 部署
1 C:\globus下運行:
globus-deploy-gar c:/globus/org_globus_examples_services_core_first.gar
2 關(guān)掉tomcat
3 運行g(shù)lobus-start-container -nosec
如果看到你自己的MathServices服務(wù),就說明成功了.
這樣你不能通過IE看你的服務(wù),如果要的話,我們可以把他發(fā)布到tomcat里面去,你得裝Tomcat,然后用以下明明發(fā)布到tomcat里面去,ant -f share/globus_wsrf_common/tomcat/tomcat.xml deploySecureTomcat -Dtomcat.dir="C:\Tomcat5"(最后那個目錄為你的tomcat的目錄)
(注意)重新啟動tomcat,輸入http://localhost:8080/wsrf/services你就可以看到你服務(wù)了!
客戶端的開發(fā),有一個問題要注意
System.out.println("Current value:" + math.getValue(new GetValueRP()));
math.getValue修改為math.getValueRP,估計這是作者筆誤.
然后是客戶端編譯命令:
javac -classpath ./build/stubs/classes/;%CLASSPATH% org/globus/examples/clients/MathService_instance/Client.java
如果出現(xiàn):軟件包org.apache.axis.message.addressing不存在;要先運行C:\globus\etc\globus-devel-env.bat;
最后運行檢驗:
java -classpath ./build/stubs/classes/;%CLASSPATH% org.globus.examples.clients.MathService_instance.Client http://127.0.0.1:8080/wsrf/services/examples/core/first/MathService
出現(xiàn)期望的數(shù)字就說明成功了.
可以看到,用了globus-build-service-gt4_0.2.5,執(zhí)行步驟要比以前少很多.另外,WSDL文件個人認為也可以用Java2WSDL生成,但沒有做嘗試.\
ps:上傳了整個d:/gt4目錄.補充一點, 要運行g(shù)lobus-build-service.py需要python環(huán)境支持.