webservice的搭建(以cxf为例)


一、服务的开发
①在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"
毫无疑问的 断网后程序无法运行






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值