首先上服务端代码
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]);
}
}