如何根据带账号密码的WSDL地址生成JAVA代码

wsdl:

  网络服务描述语言bai是Web Service的描述语言,它包含一系列描述某du个web service的定义。

  一、组成:zhi

  WSDL 文档可以分为两部分。顶部分由抽象定义组成,而底部分则由具体描述组成。

  二、元素:

  •   WSDL 元素基于XML语法描述了与服务进行交互的基本元素:
  •   Type(消息类型):数据类型定义的容器,它使用某种类型系统(如 XSD)。
  •   Message(消息):通信数据的抽象类型化定义,它由一个或者多个 part 组成。
  •   Part:消息参数
  •   Operation(操作):对服务所支持的操作进行抽象描述,WSDL定义了四种操作: 1.单向(one-way):端点接受信息;

  2.请求-响应(request-response):端点接受消息,然后发送相关消息;

  3.要求-响应(solicit-response):端点发送消息,然后接受相关消息;

  4.通知(notification):端点发送消息。

  •   Port Type(端口类型):特定端口类型的具体协议和数据格式规范。
  •   Binding:特定端口类型的具体协议和数据格式规范。
  •   Port:定义为绑定和网络地址组合的单个端点。
  •   Service:相关端口的集合,包括其关联的接口、操作、消息等。

使用jdk里面自带的wsimport工具,具体使用办法如下:

在JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些类文件,就可以像调用本地的类一样调用WebService提供的方。该工具可以用于非Java的服务器,如:用C#编写的WebService,通过wsimport则生成Java的客户端实现。

  在命令提示符中使用如下命令:

wsimport http://localhost:8080/Demo/services/MyService?wsdl

  命令参数说明:

  •   -d:生成客户端执行类的class文件的存放目录
  •   -s:生成客户端执行类的源文件的存放目录
  •   -p:定义生成类的包名

  其他命令参数请参照:http://docs.oracle.com/javase/6/docs/technotes/tools/share/wsimport.html

  使用wsimport命令后,可以得到代码,然后可以将代码拷贝到工程里面,也可以将其编译,打包成jar。

比如 javac com/xxx/*.java com/xxx/yyy/*.java

jar cvf dest.jar com/

这样我们就能得到一个dest.jar文件

使用一下webservice的框架自带的一下wsdl4j生成,由于众所周知的原因,java的webservice的jar很多,经常由于版本和实现的不同,会出现一下莫名奇妙的问题,所以这个地方还是推荐使用你所使用的框架的wsdl4j工具生成相应的stub。

wsimport -d E:\data\soap -keep -verbose -Xauthfile E:\data\soap\11.txt http://XXXXXXX

其中11.txt里填写wsdl地址:http://账号:密码@XXXXXXX

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java基于zxing生成二维码矩阵过程解析

    这个例子需要使用google的开源项目zxing的核心jar包 core-3.2.0.jar 可以百度搜索下载jar文件,也可使用maven添加依赖 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.2.0</version> </dependency> 下面是将生成的二维码矩阵写入

  • java WSDL接口webService实现方式

    一.使用JDK生成WSDL的对象类 1.cmd进入JDK的bin文件中 执行命令 wsimport -keep -p com.demo.client http://localhost:8080/Demo/services/MyService?wsdl 比较常用的[options]有: 1). -d <directory> 在指定的目录生成class文件 2). -clientjar <jarfile> 在当前目录生成jar文件,结合-d <directory>可以在指定

  • java唯一字符串ID生成方案详解

    工作中经常会有生成唯一字符串的需求.通常最容易想到的是UUID.UUID的唯一性毋庸置疑,但是32位的长度也容易让人退避三舍.也曾经想过参考<短网址生成方案>来生成一串ID,但是试验了一下发现唯一性不太好. 最终采用的方案是时钟方案,简单来说就是用当前时间戳做唯一ID. 采用时间戳做ID,秒或毫秒都容易产生重复,换成纳秒在单节点上就没问题了.参考百度百科关于纳秒的描述就能清楚为什么纳秒级别的时间戳不会产生重复: 光在真空中一纳秒仅传播0.3米.个人电脑的微处理器执行一道指令(如将两数相加)约需

  • java之TreeUtils生成一切对象树形结构案例

    项目中经常会遇到各种需要以树形结构展示的功能,比较常见的,如菜单树,分类树,部门树等等,如果为每种类型都遍历递归生成树形结构返回给前端,显得有些冗余且麻烦,并且其实逻辑都是一致的,只是遍历的对象不同而已,故其实可以通过面向接口思维,来实现这种通用工具类的实现. TreeNode用来表示每个树节点的抽象,即需要生成树的对象需要实现此接口. /** * 树节点父类,所有需要使用{@linkplain TreeUtils}工具类形成树形结构等操作的节点都需要实现该接口 * * @param <T>

  • java token生成和校验的实例代码

    现在越来越多的登录方式都用到了token作为用户登录令牌,所以实现了一个token生成和校验案例. 缺点:该实现方式token是存储在内存中,不适合分布式项目,如需改为分布式项目部署,可把token存储在redis中,其中的实现原理还是保持不变. 一)token编码工具类 package com.oysept.token.utils; /** * token编码工具类 * @author ouyangjun */ public class TokenEncryptUtils { // 编码密码,

  • Java生成随机姓名、性别和年龄的实现示例

    一.定义实体类Person,封装生成的数据 package net.dc.test; public class Person { private String name; private String sex; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return

  • JAVA如何调用wsdl过程详解

    前提:① 已经提供了一个wsdl接口② 该接口能正常调用 总体分为两种方式: 1.使用cxf的wsdl2java工具生成本地类(使用方式就是本地类的使用). 2.调用远程的web service方法:创建client来远程调用接口. 因为第二种方式,需要熟悉wsdl,没深入了解不太好操作,主要说下第一种方式. 使用cxf的wsdl2java工具生成本地类主要步骤如下: 1.安装JDK环境(jdk版本是1.6的话,后续会报错jdk6最高只支持ws2.1规范版本) 2.下载apache-cxf发布包

  • Apache CXF如何把wsdl生成java代码

    Apache CXF是一个开源的WebService框架,CXF可以用来构建和开发WebService 环境 win10 下载 官网下载:http://cxf.apache.org/download.html 解压后如下所示: 配置环境变量新建变量CXF_HOME path 变量下添加:%CXF_HOME%\bin 验证 cmd中运行wsdl2java -v,忽略提示,显示版本号则证明配置成功 生成java文件 wsdl2java url 或者 wsdl文件 示例 - 手机归属地webServi

  • 如何根据带账号密码的WSDL地址生成JAVA代码

    wsdl: 网络服务描述语言bai是Web Service的描述语言,它包含一系列描述某du个web service的定义. 一.组成:zhi WSDL 文档可以分为两部分.顶部分由抽象定义组成,而底部分则由具体描述组成. 二.元素: WSDL 元素基于XML语法描述了与服务进行交互的基本元素: Type(消息类型):数据类型定义的容器,它使用某种类型系统(如 XSD). Message(消息):通信数据的抽象类型化定义,它由一个或者多个 part 组成. Part:消息参数 Operation

  • 使用cmd根据WSDL网址生成java客户端代码的实现

    windows下使用cmd命令提示符生成java webservice客户端代码,可以使用命令提示符直接生成客户端代码,直接导入到项目中,只需配置jdk即可,在jdk的bin文件夹下,按Shift并点击右键,选中"在此处打开命令窗口" 输入命令如下: wsimport -keep -p com.demo.client -d D:\\(存放的地址) http://XX/Account?wsdl(wsdl地址) 命令参数说明: -d:生成客户端执行类的class文件的存放目录(默认存放在C

  • 正则表达式限制 账号 密码 邮箱 身份证 手机号的相关代码

    废话不多说了,直接给大家贴实现此功能的正则表达式代码了,具体代码如下所示: #import <Foundation/Foundation.h> int main() { // ? == {0,1} // * == {0,无穷} // + == {1,无穷} // \d == [0-9] // \w == [A-Za-z_0-9] // * 的意思是可有可无 // [a|b|c]+ 表示三个至少出现一次或多次 //检测电话号码是否正确 NSString *tel = @"";

  • springboot整合shiro多验证登录功能的实现(账号密码登录和使用手机验证码登录)

    1. 首先新建一个shiroConfig shiro的配置类,代码如下: @Configuration public class SpringShiroConfig { /** * @param realms 这儿使用接口集合是为了实现多验证登录时使用的 * @return */ @Bean public SecurityManager securityManager(Collection<Realm> realms) { DefaultWebSecurityManager sManager

  • 基于Python实现一键获取电脑浏览器的账号密码

    目录 导语 相关文件 开发工具 环境搭建 原理简介 导语 发现很多人在学校图书馆喜欢用电脑占座(以古度今,我好像好多年没去过学校图书馆了),而且出去的时候经常不锁屏,为了让大家养成良好的习惯,我来带大家写个小程序吧,无需输入任何密码就可以快速获取你存储在电脑浏览器中的所有账号和密码,算是通过实践出真知来给大家提个醒了~ 废话不多说,让我们愉快地开始吧~ 相关文件 Github地址 开发工具 Python版本:3.7.8 相关模块: pikachupytools模块: pycryptodome模块

  • 微信小程序账号密码登入和传值的实现方法

    目录 小程序实现账号密码登入和传值显示 要帮学校做一个简单的阅读值登记系统,-1基础的我只能硬着头皮努力学习了!!实现的效果是这样的: 有一个问题:就是登入成功后会显示无此用户名,不知道什么原因,有看出来麻烦说明下. 文章后面有拿去使用后的注意事项 接下来详细的记录下编写过程,方便自己以后查找. 首先是登入页面的login.wxml <!--pages/login/login.wxml--> <view class="content"> <view cla

  • 数据库账号密码加密详解及实例

    数据库账号密码加密详解及实例 数据库中经常有对数据库账号密码的加密,但是碰到一个问题,在使用UserService对密码进行加密的时候,spring security 也是需要进行同步配置的,因为spring security 中验证的加密方式是单独配置的.如下: <authentication-manager> <authentication-provider user-service-ref="userDetailService"> <password

  • django中账号密码验证登陆功能的实现方法

    今天分享一下django的账号密码登陆,前端发送ajax请求,将用户名和密码信息发送到后端处理,后端将前端发送过来的数据跟数据库进行过滤匹配,成功就跳转指定页面,否则就把相对应的错误信息返回,同时增加一个小功能,在规定时间内超过规定的登录次数,就锁住无法登陆,等下一个时间段再允许登陆. 一.通过ORM创建一张历史登陆表 class login_history(models.Model): user = models.CharField(max_length=32, verbose_name='登

  • Django一小时写出账号密码管理系统

    1.环境搭建 需安装: python3.6 Pycharm专业版 django 2.2.6 mysqlclient pip install django==2.2.6 pip install mysqlclient 2.生成django项目 django-admin startproject yourproject 3.修改数据库引擎为mysql并要数据库中创建对应名字的数据库 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.my

随机推荐