直接上代码
第一步:新建一个接口类
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");
}
}
效果图
项目结构图