MyEclipse 开发WebService接口

查看了网上的各类用Java开发WebService接口的方法,有些麻烦而且行不通,自己实践后,将实践过程记录如下,以备以后之用。

一、服务端发布WebService接口

1、在Myeclipse中,选择File->new->Web Service Project,然后输入项目名称,框中内容按如下所示选择即可,然后点击next。


2.点击next后,出现如下画面:


3、再点击next,勾选两个框。


4、点击2次next后出现如下界面,勾选所有框

5、点击Finish完成后。在该项目上的Java Build Path,选择Libraries标签,点击Add Libirary,在弹出框中,选择MyEclipse Library,如下图所示:


6、点击next后,在弹出框中选择JAX-WS 2.1 Libraries,并点击Finish,检查Libraries标签中是否已经添加上了刚添加的Lib



7、 在下面这个页面上全部勾选:


8、在TestServiceDemo/src目录下,新建如下图结构的类: 


其中IServiceHello类为接口,ServiceHelloImpl类为实现,具体代码如下:

IServiceHello类:

package com.mf5.app.service;

public interface IServiceHello 
{
	
	public String sayHello();

	public String sayHelloName(String name);
}

ServiceHelloImpl类:

package com.mf5.app.serviceimpl;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

import com.mf5.app.service.IServiceHello;

@WebService(targetNamespace="http://demo.webservice",name="Hello")
@SOAPBinding(style=SOAPBinding.Style.RPC)
public class ServiceHelloImpl implements IServiceHello
{
	public final String str = "WebService服务器返回消息...";
	
	@WebMethod
	public String sayHello()
	{
		return str+"Hello!";
	}
	@WebMethod 
	public String sayHelloName(String name)
	{
		return str+name;
	}
}

9、在WEB-INF目录下,新建一个文件,名称为:sun-jaxws.xm,其中内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime" version="2.0">
    <endpoint name="IServiceHello" 
    		implementation="com.mf5.app.serviceimpl.ServiceHelloImpl" 
    		url-pattern="/testservice">         
    </endpoint>
</endpoints>

10、在web.xml文件中,在 <display-name>TestServiceDemo</display-name>  下面添加如下代码:注意的是,在sun-jaxws.xm中的url-pattern的值与web.xml中的servlet-mapping中映射的url-pattern的值必须是一样的。

<listener>  
      <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>  
  </listener> 
  
  <servlet>  
    <servlet-name>testservice</servlet-name>  
    <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>  
    <load-on-startup>1</load-on-startup>  
  </servlet>
       
  <servlet-mapping>  
    <servlet-name>testservice</servlet-name>  
    <url-pattern>/testservice</url-pattern>  
  </servlet-mapping>


11、可将TestServiceDemo部署在Myeclipse自带的Tomcat中,并启动tomcat服务器。启动成功后,访问: http://localhost:8080/TestServiceDemo/testservice,如果出现如下页面,则说明WebService部署成功。


点击页面中的WSDL连接地址,访问的是该WebService的wsdl文件内容:



二、在Myeclipse上编写客户端,访问接口

1、同样新建一个Web Service Project工程,名字为TestClient。

2、打开cmd命令,进入到项目的src目录下,输入以下命令:

wsimport  -keep http://localhost:8080/TestServiceDemo/testservice?wsdl


回车后就会将wsdl上的接口信息生成java类文件,放在src目录下。

3、刷新项目,可看到src目录下有新文件生成。


4、编写DemoTest类,测试是否能调用接口。代码如下:

package com.mf5.test;

import webservice.demo.Hello;
import webservice.demo.ServiceHelloImplService;

public class DemoTest
{
	public static void main(String[] args) 
	{
            //创建一个用于产生WebServiceImpl实例的工厂,WebServiceImplService类是wsimport工具生成的
	    ServiceHelloImplService factory = new ServiceHelloImplService();
	    //通过工厂生成一个WebServiceImpl实例,WebServiceImpl是wsimport工具生成的
	    Hello wsImpl = factory.getHelloPort();
	    //调用WebService的sayHello方法
	    String resResult = wsImpl.sayHello();
	    System.out.println("调用WebService的sayHello方法返回的结果是:"+resResult);
	    System.out.println("---------------------------------------------------");
	    //调用WebService的sayHelloName方法
	    resResult = wsImpl.sayHelloName("孤傲苍狼");
	    System.out.println("调用WebService的save方法返回的结果是:"+resResult);
	}
}

5、运行该DemoTest,检查console如下结果,为成功访问接口。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值