直接上代码 第一步:新建一个接口类 package com.xiaowen;import javax.jws.WebService;@WebServicepublic interface HelloWorld {public String say(String str);} 第二步,建立接口的实现类 package com.xiaowen.impl;import j
直接上代码
第一步:新建一个接口类
package com.xiaowen; import javax.jws.WebService; @WebService public interface HelloWorld { public String say(String str); }
第二步,建立接口的实现类
package com.xiaowen.impl; import javax.jws.WebService; import com.xiaowen.HelloWorld; @WebService public class HelloWorldService implements HelloWorld{ public String say(String str) { return "hello"+str; } }第三步:建立服务端的测试类
package com.xiaowen.test; import javax.xml.ws.Endpoint; import com.xiaowen.HelloWorld; import com.xiaowen.impl.HelloWorldService; public class HelloWorldTest { public static void main(String[] args) { System.out.println("webService start"); HelloWorld implementor=new HelloWorldService(); //注意一下,下面是我的ip地址,你要自己查看自己的IP地址 String address="http://192.168.1.100/helloWorld"; Endpoint.publish(address, implementor);//JDK自带 System.out.println("webService started"); } }
运行程序效果图如下:
注意:Endpoint是Jdk自身实现的WebService
我们使用浏览器访问:http://192.168.1.100/helloWorld?wsdl,效果如下
说明已经成功调用了webservice接口;
这里的wsdl 是 Web Services Description Language的缩写,是一个用来描述Web服务和说明如何与Web服务通信的XML语言。WSDL是Web Service的描述语言,用于描述Web Service的服务,接口绑定等,为用户提供详细的接口说明书。
下面我们介绍使用CXF来实现webservice接口:
配置pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xiaowen</groupId> <artifactId>ServiceDemo</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-core</artifactId> <version>3.1.5</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.1.5</version> </dependency> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-jetty</artifactId> <version>3.1.5</version> </dependency> </dependencies> </project>
测试服务类
package com.xiaowen.test; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; import com.xiaowen.HelloWorld; import com.xiaowen.impl.HelloWorldService; public class HelloWorldTest { public static void main(String[] args) { System.out.println("webService start"); HelloWorld implementor=new HelloWorldService(); //注意一下,下面是我的ip地址,你要自己查看自己的IP地址 String address="http://192.168.1.100/helloWorld"; //Endpoint.publish(address, implementor);//JDK自带 JaxWsServerFactoryBean factoryBean=new JaxWsServerFactoryBean(); factoryBean.setAddress(address); factoryBean.setServiceClass(HelloWorld.class); factoryBean.setServiceBean(implementor); factoryBean.create(); System.out.println("webService started"); } }效果图
项目结构图