zoukankan      html  css  js  c++  java
  • Atitit java webservice客户端v2 目录 1.1. 生成stub代码wsimport.exe 1 1.2. Wsimport 2 1.3. clienttest 3 1.1

    Atitit java webservice客户端v2

     

    目录

    1.1. 生成stub代码wsimport.exe 1

    1.2. Wsimport 2

    1.3. clienttest 3

     

     

      1. 生成stub代码wsimport.exe

    D:\jdk1.8.0_31\bin\wsimport.exe -d d:\wsdist  -s  d:\wssrc  -p  com.wspkg http://localhost:8888/service-ws/wsTest?wsdl

     

     

    C:\Users\Administrator>D:\jdk1.8.0_31\bin\wsimport.exe

    缺少 WSDL_URI

     

     

    用法: wsimport [options] <WSDL_URI>

     

    \其中 [options] 包括:

      -b <path>                 指定 jaxws/jaxb 绑定文件或附加模式

                                (每个 <path> 都必须具有自己的 -b)

      -B<jaxbOption>            将此选项传递给 JAXB 模式编译器

      -catalog <file>           指定用于解析外部实体引用的目录文件

                                支持 TR9401, XCatalog 和 OASIS XML 目录格式。

      -d <directory>            指定放置生成的输出文件的位置

      -encoding <encoding>      指定源文件所使用的字符编码

      -extension                允许供应商扩展 - 不按规范

                                指定功能。使用扩展可能会

                                导致应用程序不可移植或

                                无法与其他实现进行互操作

      -help                     显示帮助

      -httpproxy:<host>:<port>  指定 HTTP 代理服务器 (端口默认为 8080)

      -keep                     保留生成的文件

      -p <pkg>                  指定目标程序包

      -quiet                    隐藏 wsimport 输出

      -s <directory>            指定放置生成的源文件的位置

      -target <version>         按给定的 JAXWS 规范版本生成代码

                                默认为 2.2, 接受的值为 2.0, 2.1 和 2.2

                                例如, 2.0 将为 JAXWS 2.0 规范生成兼容的代码

      -verbose                  有关编译器在执行什么操作的输出消息

      -version                  输出版本信息

      -wsdllocation <location>  @WebServiceClient.wsdlLocation 值

      -clientjar <jarfile>      创建生成的 Artifact 的 jar 文件以及

                                调用 Web 服务所需的 WSDL 元数据。

      -generateJWS              生成存根 JWS 实现文件

      -implDestDir <directory>  指定生成 JWS 实现文件的位置

      -implServiceName <name>   生成的 JWS 实现的服务名的本地部分

      -implPortName <name>      生成的 JWS 实现的端口名的本地部分

     

    \扩展:

      -XadditionalHeaders              映射标头不绑定到请求或响应消息不绑定到

                                       Java 方法参数

      -Xauthfile                       用于传送以下格式的授权信息的文件:

                                       http://username:password@example.org/stock?wsdl

      -Xdebug                          输出调试信息

      -Xno-addressing-databinding      允许 W3C EndpointReferenceType 到 Java 的绑定

      -Xnocompile                      不编译生成的 Java 文件

      -XdisableAuthenticator           禁用由 JAX-WS RI 使用的验证程序,

                                       将忽略 -Xauthfile 选项 (如果设置)

      -XdisableSSLHostnameVerification 在提取 wsdl 时禁用 SSL 主机名

                                       验证

     

    \示例:

      wsimport stock.wsdl -b stock.xml -b stock.xjb

      wsimport -d generated http://example.org/stock?wsdl

     

     

      1. Wsimport

    在jdk的bin目录下有一个wsimport.exe的工具,使用该工具可以根据wsdl地址生成java的客户端代码。 常用命令如下: wsimport -keep -d d:\ -s d:\src -p com...

     

     

    用JAVA调用Web service的时候必须要有一个WSDL的URL,也就是http://服务//?WSDL,
    但是现在给的设备是基于ONVIF规范的,例如IPC,不能通过http://服务//?WSDL获取其WSDL,
    那我怎么用JAVA调用其Web service呢?

     

    wsimport  -keep -d d:\ -s d:\src -p com.map -verbose d:\wsdl\devicemgmt.wsdl

    首先要在wsdl文件中添加一下节点:(否则会报它在wsdl中找不到service)

    <wsdl:service name="DeviceService">  
    <wsdl:port name="DevicePort" binding="tds:DeviceBinding">  
    <soap:address location="http://172.16.2.32/onvif/device_service"/>  
    </wsdl:port>  
    </wsdl:service>

    提示【warning】Ignoring SOAP port "DevicePort": it uses non-standard SOAP 1.2 binding.

     

    这个时候生成的Java代码中就没有Device.class和DeviceService.class这两个东西。

    其实加上-extension这个参数就OK了,

    http://www.onvif.org/Documents/Specifications.aspx 下载wsdl

     

      1. clienttest

    package webserviceS0;

     

    import com.wspkg.WsInterfaceImpl;

    import com.wspkg.WsInterfaceImplService;

     

    public class ClientTest {

    public static void main(String[] args) {

    WsInterfaceImpl ws = new WsInterfaceImplService().getWsInterfaceImplPort();

    String name = ws.methodStrBool("mystr", 1, true);

    System.out.println(name);

    }

    }

     基于java jdk1.8 编写的webservice - xcc_2269861428的博客 - CSDN博客.html

  • 相关阅读:
    详解Webpack-dev-server的proxy用法
    .sync修饰符
    [Vue]createElement参数
    ElementUi学习笔记
    A5000项目阅读笔记
    webpack学习-10天搞定webpack4
    bhuilder 采坑日记-大小写问题
    angularjs:$$animateJs is not a function 错误
    webpack4 Cannot find module '@babel/core'
    算法-图论-最短路径-Dijsktra算法
  • 原文地址:https://www.cnblogs.com/attilax/p/15197411.html
Copyright © 2011-2022 走看看