Spring整合CXF3.1实现webservice

首先上服务端代码

import javax.jws.WebService;

@WebService
public interface HelloWorld {
	public String addMessage(String user);
	public void setMessage(String mess);

}

import javax.jws.WebService;

@WebService(endpointInterface = "org.server.service.HelloWorld")
public class HelloWorldServer implements HelloWorld {
	private String mess;

	public String getMess() {
		return mess;
	}

	public void setMess(String mess) {
		this.mess = mess;
	}

	@Override
	public String addMessage(String user) {
		return "welcome " + user + this.mess;
	}

	@Override
	public void setMessage(String message) {
		this.mess = message;
	}

}

<!-- CXF Configuration -->
	<servlet>
		<servlet-name>CXFService</servlet-name>
		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>CXFService</servlet-name>
		<url-pattern>/service/*</url-pattern>
	</servlet-mapping>

客户端实现方式
package org.my.client;

import java.net.MalformedURLException;
import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;

import org.easy.java.bean.User;
import org.easy.java.server.service.AccountManager;

public class AccountClientGood {

	public static void main(String[] args) throws MalformedURLException {
		URL wsdlURL = new URL(
				"http://localhost:8881/globalService/service/accountManager?wsdl");
		QName SERVICE_NAME = new QName("http://imp.server.java.easy.org/",
				"AccountServerService");
		Service service = Service.create(wsdlURL, SERVICE_NAME);
		AccountManager accountManager = service.getPort(AccountManager.class);
		User user=new User();
		user.setUsername("dsadas");
		System.out.println(accountManager.getUserInfo(user));
	}

}
package org.my.client;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.easy.java.bean.User;
import org.easy.java.server.service.AccountManager;

public class AccountClient {

	public static void main(String[] args) {
		 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();  
		 factory.setServiceClass(AccountManager.class);
		 factory.setAddress("http://localhost:8881/globalService/service/AccountManager");
		 AccountManager accountManagera= (AccountManager) factory.create();
		 accountManagera.printLogin("tudou");
		 
		// System.out.println("------------");
		 User user=new User();
		 user.setUsername("digua");
		 user.setComment(accountManagera.getUserInfo(user));
		 System.out.println(user.getComment());
		 
	}

}
package org.test.client;



import org.apache.cxf.endpoint.Client;
import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;

public class TestWb {

	public static void main(String[] args) throws Exception  {
		JaxWsDynamicClientFactory  dcf = JaxWsDynamicClientFactory.newInstance();
		ClassLoader classLoader=Thread.currentThread().getContextClassLoader();
		Client client = dcf.createClient("http://localhost:8881/globalwb/service/HelloWorld?wsdl",classLoader);
		Object[] res = client.invoke("addMessage", "dasdada");
		System.out.println("Echo response: " + res[0]);
		
		
	}

}






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值