基于JAX-WS的webService开发实例

最近因为工作原因接触到webService,所以记录下开发中碰到的问题,方便自己以后复习,顺便发扬一下开源精神。刚刚接触webServie如果有什么错误欢迎大家指正。

本地环境:myEclipse10.6 tomcat7 JDK7 jaxws-ri-2.2.10

第一步:创建一个基于JAX-WS的webService工程
如果原先拥有正式项目也可以直接使用原有项目实现webService接口

 

Center

第二步:引用库

引用myEclipse libray中的JAX-WS 2.1 Runtime Libraries(Project Metro 1.1)和JAX-WS 2.1 APILibraries

Center

不知道为什么有些myEclipse中却无法找到这两个库,其中就包括我。

解决办法:下载jaxws-ri,将lib目录下的jar包全部复制到项目中lib目录下。

下载地址:https://jax-ws.java.net/

 

第三步:创建测试接口

package com.demo.webservice;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class Test {
        //处理方法数量名称任意
    @WebMethod
    public String test1(String str){
        return "测试1接收参数:" + str;
    }
}

第四步:在WEB-INF目录下创建sun-jaxws.xml文件

<?xml version = "1.0"?>
<endpoints version="2.0"
    xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
    
    <!-- webService接口配置参数 name名称 implementation实现接口的类 url请求此接口的地址 -->
    <endpoint name="test1"
        implementation="com.webservice.Test"
        url-pattern="/test1">
    </endpoint>
    
</endpoints>


第五步:修改web.xml在web.xml中新增以下配置

<!-- 监听器 -->
  <listener>
      <listener-class>
          com.sun.xml.ws.transport.http.servlet.WSServletContextListener
      </listener-class>
  </listener>
  
  <servlet>
      <servlet-name>test1</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>test1</servlet-name>  
    <url-pattern>/test1</url-pattern><!-- select请求地址 就是在sun-jaxwx.xml配置的url -->  
  </servlet-mapping>

 

项目结构:

Center

 

第六步:测试

发布项目到tomcat中,启动tomcat。

打开浏览器输入地址:http://localhost:8080/webService/test1?wsdl

如果出现下面这种页面说明webService已经发布成功

Center

 

第七步:编写webService客户端

1.创建新的Web Project项目webServiceClient

2.使用myEclipse工具创建webService客户端

Center

3.选择你新建的项目webServiceClient(新项目名称) 点击next

Center

4.输入webService服务端地址,就是刚刚在浏览器输入的地址,点击next

Center

5.等待一会儿,继续点击next

Center

 

3.编写测试类

package com.demo.test;

import com.demo.webservice.Test;
import com.demo.webservice.TestService;

public class ClinetTest {

    public static void main(String[] args) {
        TestService service = new TestService();//根据接口的名称改变
        Test testPort = service.getTestPort();
        
        String param = "测试1参数-你好!";//请求参数
        String result = testPort.test1(param);//请求
        System.out.println(result);//打印返回值
    }
}

结果

Center

项目结构

 

Center

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值