CXF发布webservice入门
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包
导入进去即可。(我使用的是
wstx-asl-3.0.0.jar)