• Java与WCF交互(一)补充:用WSImport生成WSDL的Java客户端代码


    《Java与WCF交互(一):Java客户端调用WCF服务》一 文中,我描述了用axis2的一个Eclipse控件生成WCF的Java客户端代理类,后来有朋友建议用Xfire、CXF,一直没有尝试,今天有朋友 指出JDK6可以用java自带的一个WSImport工具,试了下,果然很爽,这是一个exe文件,位于%JAVA_HOME%"in下,它的官方使 用说明,见:http://download-llnw.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html,主要参数:

    Option

    Description

    -d <directory>  

    Specify where to place generated output files

    -b <path>  

    Specify external JAX-WS or JAXB binding files (Each <file> must have its own -b)

    -B <jaxbOption>

    Pass this option to JAXB schema compiler

    -catalog

    Specify catalog file to resolve external entity references, it supports TR9401, XCatalog, and OASIS XML Catalog format. Please read the documentation of catalog and see catalog sample.

    -extension  

    Allow vendor extensions (functionality not specified by the specification). Use of extensions may result in applications that are not portable or may not interoperate with other implementations

    -help  

    Display help

    -httpproxy:<host>:<port>  

    Specify an HTTP proxy server (port defaults to 8080)

    -keep  

    Keep generated files

    -p  
    Specifying a target package via this command-line option, overrides any wsdl and schema binding customization for package name and the default package name algorithm defined in the specification
    -s <directory>  

    Specify where to place generated source files

    -verbose  

    Output messages about what the compiler is doing

    -version  

    Print version information

    -wsdllocation <location> 
    @WebServiceClient.wsdlLocation value
    -target  
    Generate code as per the given JAX-WS specification version. version 2.0 will generate compliant code for JAX-WS 2.0 spec.
    -quiet  
    Suppress wsimport output

    示例:wsimport -s JavaSrc http://stockquote.xyz/quote?wsdl

    将在当前路径的JavaSrc下生成相关的Java类,直接复制到项目的Src目录下即可使用。
    下面还是以上次创建的http://localhost:8000/HelloTimeService?wsdl为类,测试过程如下:
    邀月工作室

    邀月工作室

    新建一java Project,如图:
    邀月工作室

    将上面生成的java文件复制到Src目录下,项目结构如图:
    邀月工作室

    测试代码也很简洁:

    邀月工作室

    小结:这种方式与Axis2生成的Stub方式其实非常类似,只不过没有生成测试代码。结构还算清晰。



    邀月注:本文版权由邀月和博客园(BlogJava)共同所有,转载请注明出处。
    助人等于自助!   3w@live.cn
  • 相关阅读:
    jquery处理鼠标左中右键事件
    bootstrap弹出框
    移动端去掉a标签点击时出现的背景
    sessionStorage
    页面滑动到最下面,执行代码
    判断页面时向上滚动还是向下滚动
    sql 时间查询 /sql中判断更新或者插入/查询一年所有双休日
    求取最大值
    Repeater 获取数据值
    加载完毕后执行计算
  • 原文地址:https://www.cnblogs.com/Alex80/p/5719640.html
Copyright © 2020-2023  润新知