• 基于JAX-WS的webService开发实例


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

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

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

    第二步:引用库

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

    不知道为什么有些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>

    项目结构:

    第六步:测试

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

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

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

    第七步:编写webService客户端

    1.创建新的Web Project项目webServiceClient

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

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

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

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

    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);//打印返回值
        }
    }

    结果

    项目结构

  • 相关阅读:
    BZOJ3098 Hash Killer II 【概率】
    BZOJ4010 [HNOI2015]菜肴制作 【拓扑排序 + 贪心】
    洛谷P4364 [九省联考2018]IIIDX 【线段树】
    洛谷P4363 [九省联考2018]一双木棋chess 【状压dp】
    洛谷P2664 树上游戏 【点分治 + 差分】
    BZOJ1189 [HNOI2007]紧急疏散evacuate 【二分 + 网络流】
    BZOJ1068 [SCOI2007]压缩 【区间dp】
    BZOJ4033 [HAOI2015]树上染色 【树形dp】
    BZOJ4819 [Sdoi2017]新生舞会 【01分数规划 + 费用流】
    排序
  • 原文地址:https://www.cnblogs.com/LFBlog/p/6605653.html
Copyright © 2020-2023  润新知