以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 Web Services & Semantic Web Services 』  (http://bbs.xml.org.cn/list.asp?boardid=10)
----  AXIS1.1+JDK1.4.0+TOMCAT4.1配置全程详解  (http://bbs.xml.org.cn/dispbbs.asp?boardid=10&rootid=&id=17169)


--  作者:august
--  发布时间:4/19/2005 1:41:00 PM

--  AXIS1.1+JDK1.4.0+TOMCAT4.1配置全程详解
前些天我发了个求助贴子,有几个朋友回贴说也遇到同样的问题,今天我把我的配置给和我一样的新手详细写出,方便新手上路。
1.jdk1.4.0配置
下载jdk1.4.0,安装
a.新建环境变量JAVA_HOME:C:\j2sdk1.4.0 (安装路径)
b.PATH里环境变量追加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
JAVA_HOME指明JDK安装路径,就是刚才安装时所选择的路径,此路径下包括lib,bin,jre等文件夹;Path使得系统可以在任何路径下识别java命令
c.新建环境变量CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别
测试标准:可以使用JAVAC、JAVA编译执行JAVA文件

2.tomcat4.1配置
下载tomcat安装版本,假设tomcat安装在d:\tomcat4.1
a.新建环境变量CATALINA_HOME为d:\tomcat4.1
b.path环境变量里追加:%CATALINA_HOME%\bin
测试标准:启动TOMCAT可以看见小猫,示例链接有效

3.AXIS1.1配置
a.下载AXIS1.1,解压到tomcat4.1安装目录下的webapps文件夹下
b.新建两个环境变量AXIS_HOME = %CATALINA_HOME%\webapps\axis
                  AXIS_LIB  = %AXIS_HOME%\WEB-INF\lib
c.新建环境变量AXISCLASSPATH,将%AXIS_HOME%\WEB-INF\lib目录下的JAR文件加入,即:
%AXIS_LIB%\axis.jar;
%AXIS_LIB%\axis-ant.jar;
%AXIS_LIB%\commons-discovery.jar;
%AXIS_LIB%\commons-logging.jar;
%AXIS_LIB%\jaxrpc.jar;
%AXIS_LIB%\saaj.jar;
%AXIS_LIB%\log4j-1.2.8.jar;
%AXIS_LIB%\wsdl4j.jar
或直接用下面的,已连接好了
%AXIS_LIB%\axis.jar;%AXIS_LIB%\axis-ant.jar;%AXIS_LIB%\commons-discovery.jar;%AXIS_LIB%\commons-logging.jar;%AXIS_LIB%\jaxrpc.jar;%AXIS_LIB%\saaj.jar;%AXIS_LIB%\log4j-1.2.8.jar;%AXIS_LIB%\wsdl4j.jar
d.为了让TOMCAT识别WEBAPPS下的AXIS路径,在CLASSPATH和PATH中追加AXIS主目录,我这里是D:\Tomcat4.1\webapps\axis
综合测试:
写一个java小程序:    
     public class Test{
       public int add(int p1, int p2) {
         return p1 + p2;
       }
       public int subtract(int p1, int p2) {
         return p1 - p2;
       }
     }
在axis目录下新建一个test文件夹,将它保存在里面,注意:后缀名改为jws,也就是Test.jws 。
在浏览器里访问:http://localhost:8080/axis/test/Test.jws可以看到它的WSDL文件,配置就算成功了。
提示:本人用的是WIN2000,我只试用了JDK1.4.0和TOMCAT4.1和AXIS1.1的搭配,高版本的JDK和TOMCAT可能不是这样配,还请高手指点。


--  作者:yxflying
--  发布时间:4/19/2005 4:54:00 PM

--  
顶。不过为什么我在试验那个例子的时候,点击那个wsdl,就出现错误了呢?
--  作者:august
--  发布时间:4/20/2005 12:22:00 PM

--  
你应该一步步的检查,尤其是3以后的每一步都要仔细。可以看一下http://localhost:8080/axis/的一个叫validate的链接,看一下必要组件的位置基是否安装完全,没有xmlsec.jar也可以用。再有就是注意版本,我原来用jdk1.5+tomcat5.5就不行。检查一下几个cp里的分号,别有空格。最后,那个jws文件一定要用utf-8编码,你最好先把java文件编译一下,看是不是那个示例文件有问题,再试试吧。
--  作者:kestu
--  发布时间:4/22/2005 10:59:00 PM

--  
谢谢楼主 写得很详细啊
可是我JDK和TOMCAT都配置正确了 偏偏AXIS就是一直显示HTTP Status 404 - /axis/
反反复复检查了好几遍了 似乎应该没有问题才对
有一个地方跟楼主写的有不同:
AXIS_LIB  = %AXIS_HOME%\WEB-INF\lib
我解压缩之后WEB-INF在更里层的文件夹里
总的路径是Tomcat 4.1\webapps\axis\webapps\axis\WEB-INF\lib\
所以我把AXIS_LIB的路径改为
AXIS_LIB  = %AXIS_HOME%\webapps\axis\WEB-INF\lib
难道是这里有什么问题?
另外tomcat自带的路径设置文件需要改吗?
--  作者:kestu
--  发布时间:4/23/2005 12:49:00 PM

--  
这个问题解决了
原来只要复制解压缩后的axis文件夹里,webapps子目录下的axis到tomcat的webapps目录下就好
--  作者:zhangning
--  发布时间:5/11/2005 2:03:00 PM

--  
我的错误信息是:
AXIS error
Sorry, something seems to have gone wrong... here are the details:

Fault - ; nested exception is:
 java.lang.RuntimeException: No compiler found in your classpath!  (you may need to add 'tools.jar')
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.RuntimeException: No compiler found in your classpath!  (you may need to add 'tools.jar')
faultActor:
faultNode:
faultDetail:
 {http://xml.apache.org/axis/}hostname:ecxworks1
请问是什么原因啊。
运行环境:window2000 p; tomcat 5.5.9; axis1.2


--  作者:gxuyzc
--  发布时间:7/6/2005 11:21:00 PM

--  
楼上的,我的第一个例子也差不多是这个错误
E:\WebServicesClient>java TestHelloClient
AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (404)/Axis/HelloClientW.jws
faultActor:
faultNode:
faultDetail:
        {}:return code:  404
<html><head><title>Apache Tomcat/4.0.3 - Error report</titl
e><STYLE><!--H1{font-family : sans-serif,Arial,Tahoma;color : white;
background-color : #0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color :
black;background-color : white;} B{color : white;background-color : #0086b2;} HR
{color : #0086b2;} --></STYLE> </head><body><h1>Apach
e Tomcat/4.0.3 - HTTP Status 404 - /Axis/HelloClient.jws</h1><HR size=&
quot;1" noshade><p><b>type</b> Status report</p>
<p><b>message</b> <u>/Axis/HelloClient.jws</u><
/p><p><b>description</b> <u>The requested resource (/
Axis/HelloClient.jws) is not available.</u></p><HR size="1&q
uot; noshade></body></html>
        {http://xml.apache.org/axis/}HttpErrorCode:404

(404)/Axis/HelloClientW.jws
        at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.j
ava:744)
        at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)

        at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
        at org.apache.axis.client.Call.invoke(Call.java:2748)
        at org.apache.axis.client.Call.invoke(Call.java:2424)
        at org.apache.axis.client.Call.invoke(Call.java:2347)
        at org.apache.axis.client.Call.invoke(Call.java:1804)
        at TestHelloClient.main(TestHelloClient.java:23)

可是我运行第二个(几乎和原来的是一模一样的,就是名称改了一下),就成功了,很奇怪


[此贴子已经被作者于2005-7-6 23:45:07编辑过]

--  作者:gxuyzc
--  发布时间:7/6/2005 11:42:00 PM

--  
服务器端的.jws是
public class HelloClientW
{
    public String getName(String name)
    {
        return "hello "+name;
    }
}
客户端的两个程序分别是:
1。
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
//import javax.xml.rpc.ServiceException;
//import java.net.MalformedURLException;
//import java.rmi.RemoteException;

public class TestHelloClient
{
    public static void main(String[] args)
 {
        try
  {
   String endpoint = "http://localhost:8080/Axis/HelloClientW.jws";

   Service service = new Service();
            Call call = (Call) service.createCall();
   
   call.setTargetEndpointAddress( new java.net.URL(endpoint) );
            call.setOperationName(new QName("getName"));
            //call.setTargetEndpointAddress(new java.net.URL(endpoint));

            String ret = (String) call.invoke(new Object[]{"zhangsan"});
            System.out.println("return value is " + ret);
        }
  catch (Exception ex)
  {
       ex.printStackTrace();
        }
    }
}
2。----------------------------------------------------------------------------------------------------------------
//package com.hongsoft.test;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

import javax.xml.namespace.QName;

public class TestClient
{
   public static void main(String [] args) {
       try {
           //String endpoint="http://localhost:8080/axis/HelloService.jws";
     String endpoint="http://localhost:8080/axis/HelloClientW.jws";
     
           Service  service = new Service();
           Call     call    = (Call) service.createCall();

           call.setTargetEndpointAddress( new java.net.URL(endpoint) );
           //call.setOperationName(new QName("echoString") );
     call.setOperationName(new QName("getName") );
           
           String ret = (String) call.invoke( new Object[] {" Hello! "} );

           System.out.println("Sent 'Hello!', got '" + ret + "'");
       } catch (Exception e) {
           System.err.println(e.toString());
       }
   }
}
----------------------------------------------------------------------------------------------------------------
1。的结果就是上一贴的样子,
2。的结果正常


--  作者:天堂睡神
--  发布时间:7/10/2005 11:17:00 AM

--  
AXIS1.2+JDK1.5+TOMCAT5.5咋米配置呀....呵呵
--  作者:天堂睡神
--  发布时间:7/12/2005 9:58:00 PM

--  
高版本的配置方法跟楼楼的配置方法相差8多,主要要下载两个.jar文件


%AXIS_LIB%\activation.jar;%AXIS_LIB%\mail.jar;

就可以了 ^_^

都放入AXISCLASSPATH路径中


--  作者:timothy_zuo
--  发布时间:2/20/2006 1:51:00 PM

--  
java.lang.RuntimeException: No compiler found in your classpath!  (you may need to add 'tools.jar')
解决这个错误很简单,在环境变量里新建变量classpath(不是CLASSPATH),值为tools.jar和rt.jar的路径。(可能需要重启tomcat)
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
89.844ms