CXF_1

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;
	}

}

 

你可能感兴趣的:(CXF)