1、在eclipse中 创建一个java project。
2、把cxf的lib包中的jar文件放入项目的类路径。
3、4个文件如下:(cxf内置了jetty server, 省去了很多发布的麻烦)
HelloWorld.java
package test;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
String sayHello(String str);
}
HelloWorldImpl.java
package test;
import javax.jws.WebService;
@WebService
public class HelloWorldImpl implements HelloWorld {
public String sayHello(String str) {
System.out.println(" sayHello is called.");
return "Hello " + str +" !";
}
}
MainServer.java
package test;
import org.apache.cxf.endpoint.Server;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
public class MainServer {
public static void main(String[] args) {
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
factory.setServiceClass(HelloWorldImpl.class);
factory.setAddress("http://localhost:8080/HelloWorld");
Server server = factory.create();
server.start();
}
}
HelloWorldClient.java
package test;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
public class HelloWorldClient {
public static void main(String[] args) {
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setAddress("http://localhost:8080/HelloWorld");
factory.setServiceClass(HelloWorld.class);
HelloWorld helloworld = (HelloWorld) factory.create();
System.out.println(helloworld.sayHello("CY"));
}
}
4、先运行MainServer.java,(即启动服务器,发布server);
再运行HelloWorldClient.java,可以看到结果。
通过访问 http://localhost:8080/HelloWorld?wsdl 可以看web service 是否发布成功。