使用axis2是来实现webservice接口是比较常见的,就我来说,如果要学一个首次接触东西,简单了解相关基础概念后,就希望自己能够简单快速的实现一个例子,在学习一门开发语言的时候,一个helloWorld例子能够快速的让你入坑,今天也来写一个小白快速入坑的helloWorld。
1.可以axis的官网下载,具体就不说明了。
2.文章末尾下载源码,源码里面有下载好的jar包,jar包列表如下:
package com;
public class HelloWorld {
public String sayHello(String name){return "Hello, "+name+".";}
public String saySorry(String name){return "Sorry,"+name+".";}
public String getWorld(){return "Hello,World";}
}
配置详情
HelloWorld Service Example
com.HelloWorld
index.jsp
AxisServlet
org.apache.axis2.transport.http.AxisServlet
1
AxisServlet
/services/*
输入地址:http://localhost:8080/helloWorldWebService/services/HelloWorld?wsdl
描述:(http://localhost:8080/ + 工程名 + / + web.xml里面的(services) + / + services.xml的指定服务名 + ?wsdl)
1.可以直接通过soupui来测试
2.编写测试类(就直接在这个工程下编写,不另外开工程了)
package client;
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class TestMain {
public static void main(String args[]) {
try {
String xmlInfo = "abc";
String webServiceUrl = "http://localhost:8080/helloWorldWebService/services/HelloWorld?wsdl";
Service service = new Service();
Call call = (Call) service.createCall();
String url = webServiceUrl.replace("?wsdl", "");
call.setTargetEndpointAddress(url);
call.setTimeout(20000);
// call.setOperationName(new QName("http://com", "sayHello"));
// call.setOperationName(new QName("http://com", "saySorry"));
call.setOperationName(new QName("http://com", "getWorld"));
String retVal = (String) call.invoke(new Object[] { xmlInfo });
System.out.println("返回:" + retVal);
} catch (Exception e) {
e.printStackTrace();
}
}
}
右键执行这个测试类
方式1:少量积分,下载代码
方式2:关注下方公众号,回复 axis2下载代码