微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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"
毫无疑问的 断网后程序无法运行

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐