java中发布一个webService服务到服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中发布一个webService服务到服务器相关的知识,希望对你有一定的参考价值。


Java在编码完成webService服务端后,可以通过运行一个main方法来发布webService服务,但是实际将服务部署到服务器上后,肯定不能还运行main方法,所以我们需要在启动服务器的时候就发布服务。并且在服务器的生命周期内一直运行。


main方法发布服务(可用于测试类)

public static void main(String[] args) {
		Endpoint.publish("http://172.18.100.52:9090/medical", new MedicalServiceController());
		System.out.println("****[ Server ready...WebService发布成功。]");
	}

部署到服务器我们一般采用在一个servlet中初始化的时候就发布服务:

package cn.sccl.mms.web;

import java.io.IOException;

import javax.servlet.GenericServlet;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.xml.ws.Endpoint;

/**
 * 仅仅用于发布提供给114的webService接口服务发布 Spring容器初始化的时候就启动服务
 * 
 * @author lijianbo
 *
 */
public class MedicalServlet implements Servlet  {

	@Override
	public void destroy() {
		// TODO Auto-generated method stub
	}

	@Override
	public ServletConfig getServletConfig() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public String getServletInfo() {
		// TODO Auto-generated method stub
		return null;
	}
	/**
	 * 发布114webService服务
	 * ("此Servlet不处理任何业务逻辑,仅仅用来发布一个Web服务");
	 */
	@Override
	public void init(ServletConfig arg0) throws ServletException {
		Endpoint.publish("http://172.18.100.52:9090/medical", new MedicalServiceController());
		System.out.println("****[ Server ready...WebService发布成功。]");
	}

	@Override
	public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
		System.out.println("此Servlet不处理任何业务逻辑,仅仅用来发布一个Web服务");
	}

}

在web.xml 中还需要配置:

<!-- Endpoint.publish 114webService  -->
	<servlet>
		<servlet-name>MedicalServlet</servlet-name>
		<servlet-class>cn.sccl.mms.web.MedicalServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>MedicalServlet</servlet-name>
		<url-pattern>/servlet/medicalServlet</url-pattern>
	</servlet-mapping>

注意:①要将加载的等级设为1 ,这样就能保证在启动服务的时候初始化servlet。

<load-on-startup>1</load-on-startup>

这样我们在启动服务器的时候就机会发布webService的服务了。


本文出自 “JianBo” 博客,转载请与作者联系!

以上是关于java中发布一个webService服务到服务器的主要内容,如果未能解决你的问题,请参考以下文章

C# 怎么将webservice部署到IIS上

c++如何发布webservice

.net 中webservice 发布问题

ajax如何调用java写的webservices服务

JAVA项目中公布WebService服务——简单实例

在 Live 服务器上托管 java webservice