server:
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
public class SoapServer {
public static void main(String[] args) {
System.out.println("web service started...");
//Endpoint.publish("http://127.0.0.1:8080/helloService", new HelloServiceImpl());
JaxWsServerFactoryBean soapfaFactoryBean = new JaxWsServerFactoryBean();
soapfaFactoryBean.setAddress("http://127.0.0.1:8080/helloService");
soapfaFactoryBean.getInInterceptors().add(new LoggingInInterceptor());
soapfaFactoryBean.getOutInterceptors().add(new LoggingOutInterceptor());
soapfaFactoryBean.setServiceClass(HelloServiceImpl.class);
soapfaFactoryBean.create();
}
}
client:
import java.net.MalformedURLException;
import java.net.URL;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;
import javax.xml.namespace.QName;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl;
public class SoapCLient {
public static void main(String[] args) throws ParseException, MalformedURLException {
/*
JaxWsProxyFactoryBean soapFactoryBean = new JaxWsProxyFactoryBean();
soapFactoryBean.setAddress("http://127.0.0.1:8080/helloService");
soapFactoryBean.setServiceClass(IHelloService.class);
Object o = soapFactoryBean.create();
IHelloService helloService = (IHelloService) o;
Customer c1 = new Customer();
c1.setId(1);
c1.setName("A");
GregorianCalendar calendar = (GregorianCalendar) GregorianCalendar.getInstance();
calendar.setTime(new SimpleDateFormat("yyyy-MM-dd").parse("1989-01-28"));
c1.setBirthday(new XMLGregorianCalendarImpl(calendar));
Customer c2 = new Customer();
c2.setId(2);
c2.setName("B");
calendar.setTime(new SimpleDateFormat("yyyy-MM-dd").parse("1990-01-28"));
c2.setBirthday(new XMLGregorianCalendarImpl(calendar));
System.out.println(helloService.selectMaxAgeStudent(c1, c2).getName());
*/
QName qName = new QName("http://server.soap.hjx.com","HelloServiceImplService");
HelloServiceImplService helloServiceImplService = new HelloServiceImplService(new URL("http://127.0.0.1:8080/helloService?wsdl"), qName);
IHelloService helloService = helloServiceImplService.getPort(IHelloService.class);
}
}