Axis讨论:
yim 2004-12-23 09:50:08 Axis讨论:
本人是一位WebService的初学者,使用Apache Axis作为Web服务器,我按照Axis自带的doc以及网上的资料已经初步安装成功,并做了一两个实例而且运行成功。但在配置Axis的SOAPMonitor以及Administer Axis时遇到一些问题,希望大家能给予指导。
Axis配置过程大致如下:
变量声明:
TOMCAT_HOME:Tomcate5.5安装路径
AXIS_HOME:Axis1.2安装路径
1、下载安装jre1.5、Tomcate5.5
2、下载安装Axis1.2,步骤:
安装:首先在Tomcat中设置虚拟路径,在TOMCAT_HOME\conf路径下找到server.xml文件,在其</Host>元素前增加<Context path="/axis" docBase="F:/Apache/axis-1_2/webapps/axis" debug="1" reloadable="true"></Context>。说明:path="/axis"为虚拟路径名称、docBase="F:/Apache/axis-1_2/webapps/axis"为Axis服务物理路径(注意要用反斜杠)。重新启动Tomcat在IE中输入http://localhost:8080/axis,即可看到Axis的欢迎页面“Hello! Welcome to Apache-Axis.....”
配置Axis运行环境:将activation.jar、mail.jar、tools.jar包拷到TOMCAT_HOME\common\lib目录下(注意前两个包都可以在jbuilder的lib下找到,tools.jar必须是jdk1.5下的)。重启Tomcate在Axis的欢迎页面单击Validate连接,进入Axis运行环境检查页面,你必须保证在Needed Components下的所有包必须被找到,Optional Components下可能会有个叫xmlsec.jar包未发现,没关系(该包用处我也不知道,希望智者能指导)。如果以上都成功,你就可以在IE输入http://localhost:8080/axis/services/Version?method=getVersion、http://localhost:8080/axis/EchoHeaders.jws?method=list .等地址进行检查,看是否有错误,如果有错误请仔细检查,如果没有错误说明你已经安装成功。
以上所有的你都可以从Axis的doc或网上找到。
问题一:
使用Axis SOAP Monitor:首先你必须将AXIS_HOME\webapps\axis下的SOAPMonitorApplet.java编译,编译后就是部属该服务(编译、部属过程省略请查看Axis的文档的install.html页面的Enabling the SOAP Monitor)。重新启动Tomcate在Axis欢迎页面单击SOAPMonitor连接,进入SOAPMonitor页面,你即可看到一个Applet程序。这样你就部属Axis SOAP Monitor服务。接着在你自己部属的服务中使用Axis SOAP Monitor:以下是一个小实例:
服务类:HelloWorld.java
package axisTest.helloTest;
public class HelloWorld {
public String SayHello(String name) {
return "Hello " + name;
}
}
客户端调用类:HelloClient.java
package axisTest.helloTest;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class HelloClient {
public static void main(String[] args) {
try {
String endpoint = "http://localhost:8080/axis/services/HelloWorld";
String method = "SayHello";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName(method);
String value = (String) call.invoke(new Object[] {"Yim"});
System.out.println(value);
} catch (Exception ex) {
System.err.println(ex.toString());
}
}
}
部署文件:Hellodeploy.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
<service name="HelloWorld" provider="java:RPC">
<requestFlow>
<handler type="soapmonitor"/>
</requestFlow>
<responseFlow>
<handler type="soapmonitor"/>
</responseFlow>
<parameter name="className" value="axisTest.helloTest.HelloWorld"/>
<parameter name="allowedMethods" value="*"/>
</service>
</deployment>
部属后我在客户端调用HelloWorld成功,但我没在SOAP Monitor中看到请求与相应。不知道为什麽未能在SOAP Monitor中看到请求与相应???
问题二:
对于Administer Axis未能在Axis的文档中找到相关内容,所以我完全不知道如何配置???
请各位高手指导,谢谢!!!