一、WebService接口实现
1.1、开发服务端
定义一个interface,使用@WebService注解标注接口,使用@WebMethod注解标注接口中定义的方法(需要向外发布的方法)
package com.fh.webservice.test;
import javax.jws.WebMethod;
import javax.jws.WebService;
/**
* 说明:接口类
*/
@WebService
public interface JdkWebService {
@WebMethod
public String sayHello(String str);
}
package com.fh.webservice.test.impl;
import javax.jws.WebService;
import com.fh.webservice.test.JdkWebService;
/**
* 说明:实现类
*/
@WebService
public class JdkWebserviceImpl implements JdkWebService {
@Override
public String sayHello(String str) {
System.out.println("JDK:---"+str);
return "JDK"+str;
}
}
package com.fh.webservice;
import javax.xml.ws.Endpoint;
import com.fh.webservice.test.impl.JdkWebserviceImpl;
/**
* 发布webservice服务类
* @author Administrator
*
*/
public class JdkWebservicePublis {
public static void main(String args[]){
//定义发布地址,为外部提供的透明网址
String address = "http://localhost:8080/test/services/JdkService";
Endpoint.publish(address, new JdkWebserviceImpl());
System.out.println("webservice发布成功!!!");
}
}
1.2、在pom.xml中添加 jar 包
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.1.6</version>
</dependency>
1.3、运行发布类,出现下图样式则接口发布成功!
二、创建客户端
2.1、进入WebClient客户端的src目录下使用jdk自带的wsimport –keep wsdl地址创建客户端代码(在命令行中)
wsimport -keep http://localhost:8080/test/JdkService?wsdl
2.2、创建测试类
package com.fh.webservice.test;
import com.fh.webservice.test.impl.JdkWebserviceImpl;
import com.fh.webservice.test.impl.JdkWebserviceImplService;
public class ClientTest {
public static void main(String[] args){
JdkWebserviceImplService service = new JdkWebserviceImplService();
com.fh.webservice.test.impl.JdkWebService impl = impl = service.getJdkWebserviceImplPort();
String result = impl.sayHello("4542523433");
System.out.println("服务调用成功:"+result);
}
}