public class App_CXF_1_Client {
public static void main(String[] args) {
/**
* WSDL:<service name="HiServiceService">
*/
HiServiceService hss = new HiServiceService();
/**
* WSDL:<port binding="tns:HiServiceServiceSoapBinding" name="HiServicePort">
*/
HiService hi = hss.getHiServicePort();
String ret = hi.sayHi("App_CXF_1_Client-----");
System.out.println(ret);
System.out.println(hi.getClass().getName());
}
}
HiService.java:
使用JaxWsServerFactoryBean发布CXF的Web服务
必须加入WebService注解,如果不加,虽然不报错,但是所有的方法都暴露不出来
WSDL地址=http://localIp:7788/hi
package cn.itcast.cxf;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.jws.WebService;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
/**
* 使用JaxWsServerFactoryBean发布CXF的Web服务
* 必须加入WebService注解,如果不加,虽然不报错,但是所有的方法都暴露不出来
*/
@WebService
public class HiService {
public String sayHi(String name){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("sayHi()... name:" + name);
return sdf.format(new Date()) + " hi " + name;
}
public static void main(String[] args) {
JaxWsServerFactoryBean bean = new JaxWsServerFactoryBean();
//服务的地址
String wsdlName = "http://"+IpUtils.localIp()+":7788/hi";
bean.setAddress(wsdlName);
//提供服务的类的类型
bean.setServiceClass(HiService.class);
//提供服务的实例
bean.setServiceBean(new HiService());
//发布服务 publish()...
bean.create();
System.out.println("server ready...");
}
}
HelloService.java
使用ServerFactoryBean发布CXF的Web服务
WSDL地址=http://localIp:6789/hello
package cn.itcast.cxf;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.cxf.frontend.ServerFactoryBean;
/**
* 使用ServerFactoryBean发布CXF的Web服务
*
*/
public class HelloService {
public String sayHello(String name){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("sayHello()... name:" + name);
return sdf.format(new Date()) + " hello " + name;
}
public static void main(String[] args) {
ServerFactoryBean bean = new ServerFactoryBean();
//服务的发布地址
String wsdlName = "http://"+IpUtils.localIp()+":6789/hello";
bean.setAddress(wsdlName);
//提供服务的类的类型
bean.setServiceClass(HelloService.class);
//提供服务的实例
bean.setServiceBean(new HelloService());
//发布服务 publish()...
bean.create();
System.out.println("server ready...");
}
}
package cn.itcast.cxf;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class IpUtils {
@SuppressWarnings("static-access")
public static String localIp(){
//服务的地址
InetAddress address;
String localIp = "";
try {
address = InetAddress.getLocalHost();
localIp = address.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
}
return localIp;
}
}