加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice的搭建(以cxf为例)

发布时间:2020-12-16 23:39:48 所属栏目:安全 来源:网络整理
导读:一、服务的开发 ①在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.n


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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读