wsimport 使用方法

本文主要介绍wsimport的简单使用方法。帮助大家在webserviceclient开发过程中生成接口代码:

打开java JDK文件夹我们会看到wsimport工具,这是由sun为我们免费提供的的。功能强大,会给我们工作带来极大的方便。

创建服务端代码:

接口

package com.huawei.idp.composer.service;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService; @WebService
public interface MyService
{
@WebMethod
public int add(@WebParam(name="a")int a, @WebParam(name="b")int b);
}

实现类

package com.huawei.idp.composer.service.impl;

import javax.jws.WebService;

import com.huawei.idp.composer.service.MyService;

@WebService(endpointInterface="com.huawei.idp.composer.service.MyService")
public class MyServiceimpl implements MyService
{ @Override
public int add(int a, int b)
{
return a + b;
} }

调用wsimport工具。打开dos窗体。输入命令:

wsimport -d D:\test -keep -verbose  http://127.0.0.1:8080/hello?wsdl

这里简介一下參数:

  1. -d 表示输出的文件夹。文件夹必须事先存在,否则导出失败。
  2. -keep 表示导出webservice的class文件时是否也导出源码java文件。
  3. -verbose verbose表示具体信息。

我们打开D:\test会发现生成了例如以下文件:

我们在Eclipse中又一次建立一个project,将这个文件夹复制到src文件夹下



然后開始编写client代码

package com.huawei.idp.composer.client;

import com.huawei.idp.composer.service.impl.MyService;
import com.huawei.idp.composer.service.impl.MyServiceimplService; public class Test
{
public static void main(String[] args)
{
MyServiceimplService myserviceImpl = new MyServiceimplService();
MyService myService = myserviceImpl.getMyServiceimplPort();
System.out.println(myService.add(1, 2));
}
} [调用结果](http://img.blog.csdn.net/20150822175745450)`` 这里值得注意的是,生成的MyServiceimplService类并非服务端实现类,而是继承了Service的类而且提供了方法:

/**

*

* @return

* returns MyService

*/

@WebEndpoint(name = “MyServiceimplPort”)

public MyService getMyServiceimplPort() {

return super.getPort(new QName(“http://impl.service.composer.idp.huawei.com/“, “MyServiceimplPort”), MyService.class);

}

“`

这里直接帮我们生成了一个Qname訪问程序。既然怎样,我们就不用自己写qname了。直接拿来用測试岂不更好?

到此为止,一个简单的webservice就实现了,假设对大家有帮助,请点赞假设有不足之处,敬请指正。

wsimport 使用方法具体解释的更多相关文章

  1. Js apply 方法 具体解释

    Js apply方法具体解释 我在一開始看到javascript的函数apply和call时,很的模糊,看也看不懂,近期在网上看到一些文章对apply方法和call的一些演示样例,总算是看的有点眉目了 ...

  2. Format类及其子类功能和使用方法具体解释

    Format类及其子类功能和使用方法具体解释 1.   Format类结构: ·        java.lang.Object ·        java.text.Format ·         ...

  3. hbase-0.94安装方法具体解释

    先决条件:     1)java环境,须要安装java1.6以上版本号     2)hadoop环境.因为HBase架构是基于其它文件存储系统的,因此在分布式模式下安装Hadoop是必须的,可是,假设 ...

  4. ZooKeeper安装方法具体解释

    ZooKeeper安装方式分为两种,一种为单机模式.一个为集群模式,集群模式须要事先正确配置hadoop集群,安装方法參考hadoop-1.2.1安装方法具体解释 单机模式安装: 1.上传并解压zoo ...

  5. 模式识别 - libsvm的函数调用方法 具体解释

    libsvm的函数调用方法 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26261173 须要载入(load)SVM的 ...

  6. const 使用方法具体解释

    const使用方法具体解释 面向对象是C++的重要特性.  可是c++在c的基础上新添加的几点优化也是非常耀眼的 就const直接能够代替c中的#define 下面几点非常重要,学不好后果也也非常严重 ...

  7. hive-0.11.0安装方法具体解释

    先决条件:     1)java环境,须要安装java1.6以上版本号     2)hadoop环境,Hadoop-1.2.1的安装方法參考hadoop-1.2.1安装方法具体解释 本文採用的hado ...

  8. 第44篇-为native方法设置解释执行入口

    对于Java中的native方法来说,实际上调用的是C/C++实现的本地函数,由于可能会在Java解释执行过程中调用native方法,或在本地函数的实现过程中调用Java方法,所以当两者相互调用时,必 ...

  9. 第48篇-native方法调用解释执行的Java方法

    举一个native方法调用解释执行的Java方法的实例,如下: public class TestJNI { static { System.load("/media/mazhi/sourc ...

随机推荐

  1. Python:Fatal error in launcher: Unable to create process using 问题排查

    cmd> django-admin 回车Fatal error in launcher: Unable to create process using '"c:\users\admin ...

  2. [terry笔记]python购物程序

    如下是一个购物程序: 先输入工资,显示商品列表,购买,quit退出,最后格式化输出所买的商品. count = 0 while True: #做一个循环判断,如果输入的不是数字,基于提示,三次后退出 ...

  3. Null值操作

      1)NULL值写入的操作    create table j010(     id number(7),     name varchar2(20),     salary number(7,2) ...

  4. 在CentOS6.5下配置安装LVS

    先上一个图,在内网测试机上安装了一个虚拟机,已经安装好了CentOS 乖乖连wget都没有安装,先安装wget吧 sudo yum install wget

  5. POJ 1107

    水题一道,注意取模时不能为0 #include <iostream> #include <algorithm> #include <cstring> #includ ...

  6. 安全风控的CAP原理和BASE思想

    CAP原理最多实现两个,需要牺牲一个来满足其他两个:

  7. 数据结构 - 树形选择排序 (tree selection sort) 具体解释 及 代码(C++)

    树形选择排序 (tree selection sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy 算法逻辑: 依据节点的大小, ...

  8. 解决Myeclipse在调试(debug)时无法显示变量值问题

    解决Myeclipse在调试(debug)时无法显示变量值问题 突然发现myeclipse在调试时当鼠标放在变量上面时无法显示变量值了 ctrl+shift+D居然提示cannot be resolv ...

  9. 用exp命令按用户导出的DMP文件缺少表,某些表是空表

    1.用以下这句查找空表并生成执行命令 select 'alter table '||table_name||' allocate extent;' from user_tables where num ...

  10. vuejs2.0 文档

    http://vuejs.org/   vuejs2.0 英文文档 https://vuefe.cn/    vuejs2.0 中文文档