http://topic.csdn.net/t/20030403/09/1612072.html java里使用webservice 安装配置Axis http://ws.apache.org/axis/releases.html ~~安装Tomcat 4.X以上版本(4.X后的版本都带XML的解析器)
~~解压Axis1.1.zip包,找到webapps目录下的axis文件夹,拷贝axis文件夹到Tomcat中的webapps文件夹下。
~~将Tomcat中的axis目录下的WEB-INF/lib中的所有的文件copy到Tomcat的common/lib目录中。(以后凡是要在axis的lib中添加jar文件,都要copy一份到Tomcat的common/lib目录下)。
~~我的电脑->属性->高级->环境变量->系统变量中添加:
AXIS_HOME %TOMCAT_HOME%/webapps/axis(TOMCAT的目录)
AXIS_LIB %AXIS_HOME%/lib
AXISCLASSPATH %AXIS_LIB%/axis.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%/xml-apis.jar;%AXIS_LIB%/xercesImpl.jar
修改CLASSPATH ,在末尾加上: %AXIS_LIB%/axis.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%/xml-apis.jar;%AXIS_LIB%/xercesImpl.jar
注意检查CLASSPATH是否正确:(有些软件会在用户变量区设置一个classpath,会有影响,如:XMLSPY)
在DOS方式下
输命令:Echo %CLASSPATH%
~~检查配置:
启动Tomcat,访问http://localhost:8080/axis/,
验证axis的是否工作:http://localhost:8080/axis/happyaxis.jsp如果正常显示表示正常。
上图中 倒数第3行字“The core axis libra….”,要保证core axis libraries are present,如果有任何core library is missing,就到其提供的相应的链接上找到对应的jar文件,并copy到tomcat目录里面的axis文件夹WEB-INF/lib中,别忘了 Tomcat自己的common/lib也copy一份 好啦基本上都配置好了。现在我们开始做一个有点模样的web Service的例子啦。一步一步来:) 写一个java源代码HelloClient.jws 放到服务器axis文件夹下并访问http://localhost:8080/axis/HelloClient.jws
客户端写调用服务器的测试代码testjws.java,编译,运行java testjws
import java.util.Vector; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import javax.xml.rpc.namespace.QName; import org.apache.axis.encoding.XMLType;
public class TestClient { public static void main(String [] args) { try { String endpoint = "http://218.97.169.38/services/MyService"; Service service = new Service(); Call call = (Call) service.createCall(); call.setTargetEndpointAddress( new java.net.URL(endpoint) ); Float i = new Float(1); Float j = new Float(2); call.setOperationName( "add" ); call.addParameter("i",org.apache.axis.encoding.XMLType.XSD_FLOAT,javax.xml.rpc.ParameterMode.PARAM_MODE_IN); call.addParameter("j",org.apache.axis.encoding.XMLType.XSD_FLOAT,javax.xml.rpc.ParameterMode.PARAM_MODE_IN); call.setReturnType( XMLType.XSD_FLOAT); Float ret = (Float)call.invoke( new Object[] {i,j} ); System.out.println("Got result : " + ret); } catch (Exception e) { System.err.println(e.toString()); } }
|
|
|
|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理