• WebService教程实例


    一、准备工作

    1、Myeclipse 2014

    2、jdk8.0

    二、创建服务端

    1、创建【Web Service Project】,命名为【TheService】。

    2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。

    3、编写供客户端调用的方法,即编译方法代码。

    package com.hyan.service;
    
    import javax.jws.WebService;
    import javax.xml.ws.Endpoint;
    
    @WebService
    public class ServiceHello {
        /**
         * 供客户端调用的方法
         * @param name
         * @return
         */
        public String getValue(String name){
            return "我叫:"+name;
        }
    
        public static void main(String[] args) {
            Endpoint.publish("http://192.168.200.159:8088/Service/ServiceHello", new ServiceHello());
            System.out.println("service success!");
        }
    
    }

    4、进行编译

    说明:编译失败的话,请将该项目引用的jdk设置为1.6.0_17版本或更高版本

    5、测试结果

    测试地址:http://192.168.200.159:8008/Service/ServiceHello?wsdl

    三、生成客户端

    1、创建【Web Service Project】,命名为【TheClient】。

    2、命令提示窗口执行生成命令。

    格式:wsimport -s "src目录" -p “生成类所在包名” -keep “wsdl发布地址”

    示例:

    wsimport -s C:\Users\liujiee2\Workspaces\My\src -p com.hyan.client -keep http://192.168.200.159:8008/Service/ServiceHello?wsdl

    说明:

    1)"src目录"地址不可含空格

    2)“wsdl发布地址”不要漏了“?wsdl”

    3、刷新项目,检查生成类

    四、最终测试

    1、创建【Class】类,命名为【ServiceTest】,位于【com.hyan.test】包下。

    package com.hyan.test;
    
    import com.hyan.client.ServiceHello;
    import com.hyan.client.ServiceHelloService;
    
    public class ServiceTest {
    
        public static void main(String[] args) {
            ServiceHello hello=new ServiceHelloService().getServiceHelloPort();
            String name=hello.getValue("hyan");
            System.out.println(name);
        }
    }

    2、编写测试方法,调用服务端方法,并打印返回的结果。

    五、注意事项

    1、JDK版本过低问题

    报类似如下的异常:runtime modeler error: Wrapper class com.hyan.service.jaxws.GetValue is not found. Have you run APT to generate them?



     

    原因:JDK版本低于1.6.0_17

    解决方法:调整该服务端项目所引用的JDK版本为安装的高版本JDK

    2、生成命令路径含空格问题

    报类似如下的异常:directory not found: G:SVN_FILEGB5



     

    原因:客户端src路径不可含有空格

    解决方法:在不含空格路径的文件夹下重新创建客户端即可。

    3、生成命令不完整问题

    报类似如下的异常:[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s):



     

    原因:生成命令末尾缺少“?wsdl”

    解决方法:补上即可。

  • 相关阅读:
    在 mac iTerm2 中使用 cmd 终端
    在 jupyter 中添加菜单和自动完成功能
    Bash 和 Zsh 开启 vi-mode
    免密登录和远程执行命令
    图片的筛选
    win10 右键菜单很慢的解决方式
    ssh中的 Connection closed by ***
    NodeJS 获取网页源代码
    在 JSDOM v11 中使用jQuery
    kafaka学习
  • 原文地址:https://www.cnblogs.com/liujie-e2/p/8315598.html
Copyright © 2020-2023  润新知