一、服务的开发
①在web项目的资源文件夹src中建立格式如org.mike.ws的包,在org.mike.ws.vo
中创建vo类People.java代码如下
package org.mike.ws.vo;
public class People {
private String name;
private int id;
public People(String name,int id){
this.name=name;
this.id=id;
}
public People(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
2.在web项目的资源文件夹src中建立格式如org.mike.ws的包
创建服务的接口类Login.java代码如下
package org.mike.ws;
import javax.jws.WebService;
import org.mike.ws.vo.People;
@WebService
public interface Login {
public People sayPeople(int id);
}
3.在src中建立如下格式如org.mike.ws.impl的包
创建服务的实现类LoginImpl.java
package org.mike.ws.impl;
import javax.jws.WebService;
import org.mike.ws.Login;
import org.mike.ws.vo.People;
@WebService(endpointInterface = "org.mike.ws.Login",
serviceName="Login")
public class LoginImpl implements Login{
public People sayPeople(int id) {
People p = new People("Hi",1);
return p;
}
}
4.在org.mike.ws包中创建类WSServlet.java用于发布服务
package org.mike.ws;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.xml.ws.Endpoint;
import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
import org.mike.ws.impl.LoginImpl;
public class WSServlet extends CXFNonSpringServlet{
@Override
public void loadBus(ServletConfig servletConfig) throws ServletException {
super.loadBus(servletConfig);
Endpoint.publish("/Login", new LoginImpl());
}
}
5.修改网站的配置文件WebContent->WEB-INF->web.xml添加类说明和映射目录
添加代码如下注意添加的位置
<servlet>
<servlet-name>WSServlet</servlet-name>
<servlet-class>org.mike.ws.WSServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>WSServlet</servlet-name>
<url-pattern>/ws/*</url-pattern>
</servlet-mapping>
二、发布
将网站上传至服务器假设发布地址为http://localhost
此时可检验应用是否同时发布http://localhost:8080/LastOne/ws/Login?wsdl
三、客户端使用已发布的Web Service
说明:Web Service发布后是可以用任何语言访问的
本例使用Java演示
①创建Java工程LastOneTest
导入Web Service支持类
打开命令行界面转到本工程src目录下 输入命令wsimport -keep http://localhost:8080/LastOne/ws/Login?wsdl(该命令为jdk自带)
src下边生成了Web Service支持类
②src下创建包test 并在包下创建类LastOneTtst.java代码如下
package test;
import org.mike.ws.impl.*;
import org.mike.ws.People;
public class LastOneTtst {
public static void main(String args[])
{
Login_Service f =new Login_Service();
Login l = f.getLoginImplPort();
People p=l.sayPeople(1);
System.out.println(p.getName());
}
}
运行后可以看到控制台输出了"Hi"
毫无疑问的 断网后程序无法运行