使用CXF写SOAP WebService以及测试
1.服务端
@WebService(targetNamespace = "calculate")
public interface CalculateWS {
@WebMethod
Integer add(int a,int b);
@WebMethod
Integer minus(int a, int b);
}
首先创建WebService的接口,接口上需要加上
@WebService注解,命名空间可以任意取,但是需要与实现类保持一致,目的是在WSDL文件中一并显示类型与消息定义,如果实现类和接口放在同一个包下,则命名空间可以忽略。
@WebService(targetNamespace = "calculate")
public class CalculateWSImple implements CalculateWS {
public Integer add(int a, int b) {
return a+b;
}
public Integer minus(int a, int b) {
return a-b;
}
}
然后写实现类,如果实现类和接口不在同一个包下,注意命名空间保持一致。
public class MainInvoke {
public static void main(String[] args){
String address = "http://localhost:9090/calculator";
Endpoint.publish(address,new CalculateWSImple());
System.out.println("publish success");
}
}
最后需要写个主函数把WebService发表出来,CXF是内置Jetty的,所以使用Eedpoint发布即可。
当看到控制台出现
publish success 字样后就可以在浏览器中打开WSDL文档查看,