一、服务端
1、下载axis1.4的jar包
2、创建WebProject
3、将下载的axis1.4下的所有jar导入到项目中
<?xml version="1.0" encoding= "UTF-8"?>
<web-app "3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" >
welcome-file-list >
welcome-file >index.jsp</ welcome-file</servlet >
>
Apache-Axis Servlet servlet-name> AxisServletservlet-name servlet-class>
org.apache.axis.transport.http.AxisServlet >
servlet>
Axis Admin Servlet > AdminServlet>
org.apache.axis.transport.http.AdminServlet load-on-startup> 100load-on-startup servlet-mappingurl-pattern> /servlet/AxisServlet > *.jwsurl-pattern > /services/*> /servlet/AdminServlet >
web-app>
5、在src下新建包server并在包下新建类SayHello
package server;
public class SayHello {
public String getName(String name)
{
return "hello " +name;
}
}
6、右键选择项目=》Run As=》Run Configurations...
在左上角选择新建,填写Name,在Main选项卡里会有项目名,Main class里填写org.apache.axis.wsdl.Java2WSDL(Search里也有)
在Arguments选项卡里面,Program arguments里写入
-d -l"http://127.0.0.1:8885/Axis1.4_Service_003/services/SayHello" -o "sayHello.wsdl" server.SayHello
说明一下
-d 这个选项是要生成 deploy.wsdd 和 undeploy.wsdd
-l 这个选项是要生成webService将来要访问的地址,我做了个假设:http://127.0.0.1:8885/Axis1.4_Service_003/services/SayHello
-o 这个选项是要生成wsdl文件,我假设了一个文件名:sayHello.wsdl
server.SayHello 这个就是我们要发布的类,可以更换成你的发布类
-l 这个选项是要生成webService将来要访问的地址,我做了个假设:http://127.0.0.1:8885/Axis1.4_Service_003/services/SayHello
-o 这个选项是要生成wsdl文件,我假设了一个文件名:sayHello.wsdl
server.SayHello 这个就是我们要发布的类,可以更换成你的发布类
8、然后跟上面步骤6一样,右键选择项目,Run As啊啥的,就不一一说了,重点是这次要在Main class里填写org.apache.axis.client.AdminClient
在Arguments选项卡里面,Program arguments里写入
-lhttp://127.0.0.1:8885/Axis1.4_Service_003/services/SayHello deploy.wsdd
你可以将server-config.wsdd拷到你项目的根目录下,重新部署tomcat,再一次启动,在浏览器地址栏里面输入http://localhost:8885/Axis1.4_Service_003/services,其中SayHello就是咱们的webservice了
二、Axis客户端
再试试生成客户端吧,客户端就比那个服务端简单多了
1、新建web Project项目Axis1.4_Client_003(和前面服务端一样的手法)
2、将axis1.4的所有jar导入(也和上面一样)
3、在你的服务端启动的前提下,右键项目,Run As(还是和上面操作一样)
4、这次要在Main class里填写org.apache.axis.wsdl.WSDL2Java(服务器是写的java2wsdl,别混了)
在Arguments选项卡里面,Program arguments里写入
-u http://localhost:8885/Axis1.4_Service_003/services/SayHello?wsdl -o e:/WS003/source
6、写个测试吧,导入junit的jar
新建类TestWSClient
package test;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import server.SayHello;
import server.SayHelloService;
import server.SayHelloServiceLocator;
public class TestWSClient extends TestCase {
public TestWSClient(String string) {
super(string);
}
public void SayHelloClient() throws Exception {
SayHelloService service = new SayHelloServiceLocator();
SayHello client = service.getSayHello() ;
String retValue = client.getName("clientname");
System.out.println(retValue);
}
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new TestWSClient("SayHelloClient"));
return suite;
}
}
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import server.SayHello;
import server.SayHelloService;
import server.SayHelloServiceLocator;
public class TestWSClient extends TestCase {
public TestWSClient(String string) {
super(string);
}
public void SayHelloClient() throws Exception {
SayHelloService service = new SayHelloServiceLocator();
SayHello client = service.getSayHello() ;
String retValue = client.getName("clientname");
System.out.println(retValue);
}
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTest(new TestWSClient("SayHelloClient"));
return suite;
}
}
运行一下,green bar通过!控制台输出hello clientname
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。