1、设置CXF的bin目录进环境变量
2、CXF导入相关的jar包。
3、建立接口
@WebService
public interface HelloWorld {
public void say(String name);
}
4、实现接口
@WebService(endpointInterface="com.webservice.HelloWorld",serviceName="HelloWorldWs")
public class HelloWorldImpl implements HelloWorld {
@Override
public void say(String name) {
System.out.println("hello"+name);
}
}
5、 发布webservice
public class ServiceMain {
public static void main(String[] args) {
HelloWorld hw = new HelloWorldImpl();
Endpoint.publish("http://本地ip地址:端口/HelloWorldWs", hw);//发布helloworld
}
}
6、测试
http://本地地址:端口/HelloWorldWs?wsdl
出现wsdl相关xml文件即可
出错:
1、端口可能被占用
解决:使用其他端口
2、 java.lang.ClassCastException: com.ctc.wstx.stax.WstxInputFactory incompatible with javax.xml.stream.
解决:
出现缺失jar包,
http://www.findjar.com进去查找相关jar包,发现缺失wstx-asl-*.jar这个jar包
http://www.findjar.com进去查找相关jar包,发现缺失wstx-asl-*.jar这个jar包
导入进去即可。(我使用的是
wstx-asl-3.0.0.jar)
wstx-asl-3.0.0.jar)