使用已知但无法访问的 wsdl 创建 Web 服务客户端

2023-11-27

与我们合作的一家公司通过电子邮件向我们提供了 wsdl 和 xsd 架构。我们所连接的 Web 服务是通过 IPsec 隧道访问的。已发布的 WSDL 中有本地引用(在其末尾),这意味着我们无法使用它。

第一个问题:这是常见的设置吗?我认为拥有 WSDL 的目的不仅是定义契约,而且还向消费者公开服务。

我可以使用 wsimport、wsconsume 等轻松地根据提供的 WSDL 生成客户端/服务器代码。我知道当我生成的客户端调用我生成的服务时,它会生成我需要的正确消息。

第二个问题:有没有一种简单的方法可以将其路由到不同的肥皂地址?

我只想能够做类似的事情:

SalesTaxService svc = new SalesTaxService();
SalesTax tax = svc.getSalesTaxPort()
tax.getRate("NY");

但不使用 WSDL 中定义的肥皂地址。我想避免为每个方法编写一堆调度客户端。

我错过了什么吗?

*回复斯卡夫曼: 这就是生成的内容。默认为 wsdlLocation 作为名称shrug

   @WebServiceClient(name = "SomeService")
   public class SomeService_Service extends Service {

    public SomeService_Service(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);            
    }

    public SomeService_Service(URL wsdlLocation) {
        super(wsdlLocation, new QName("urn:some_service", "SomeService"));   
    }
  }

我认为拥有 WSDL 的意义 不仅仅是定义合同 但也将服务公开给 消费者。

不,WSDL 纯粹是一个描述性工具,它没有真正的运行时角色。 Web 服务完全独立于 WSDL 运行。 WSDL 不公开的情况并不罕见。

有没有一种简单的方法可以将其路由到 不同的肥皂地址?

这完全取决于您正在使用的 Web 服务实现,而且您没有说,尽管我猜测是 JAX-WS。如果是这种情况,我认为 JAX-WS 工具生成的工件允许您将 URL 传递给客户端存根构造函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用已知但无法访问的 wsdl 创建 Web 服务客户端 的相关文章

  • 如何为最终用户方便地启动Java GUI程序

    用户想要从以下位置启动 Java GUI 应用程序Windows 以及一些额外的 JVM 参数 例如 javaw Djava util logging config file logging properties jar MyGUI jar
  • Java Swing:从 JOptionPane 获取文本值

    我想创建一个用于 POS 系统的新窗口 用户输入的是客户拥有的金额 并且窗口必须显示兑换金额 我是新来的JOptionPane功能 我一直在使用JAVAFX并且它是不同的 这是我的代码 public static void main Str
  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • Java - 将节点添加到列表的末尾?

    这是我所拥有的 public class Node Object data Node next Node Object data Node next this data data this next next public Object g
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 列出jshell中所有活动的方法

    是否有任何命令可以打印当前 jshell 会话中所有新创建的方法 类似的东西 list但仅适用于方法 您正在寻找命令 methods all 它会打印所有方法 包括启动 JShell 时添加的方法 以及失败 被覆盖或删除的方法 对于您声明的
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • 磁模拟

    假设我在 n m 像素的 2D 表面上有 p 个节点 我希望这些节点相互吸引 使得它们相距越远吸引力就越强 但是 如果两个节点之间的距离 比如 d A B 小于某个阈值 比如 k 那么它们就会开始排斥 谁能让我开始编写一些关于如何随时间更新
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • Android 中麦克风的后台访问

    是否可以通过 Android 手机上的后台应用程序 服务 持续监控麦克风 我想做的一些想法 不断聆听背景中的声音信号 收到 有趣的 音频信号后 执行一些网络操作 如果前台应用程序需要的话 后台应用程序必须能够智能地放弃对麦克风的访问 除非可
  • 如何从指定日期获取上周五的日期? [复制]

    这个问题在这里已经有答案了 如何找出上一个 上一个 星期五 或指定日期的任何其他日期的日期 public getDateOnDay Date date String dayName 我不会给出答案 先自己尝试一下 但是 也许这些提示可以帮助
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • 玩!框架:运行“h2-browser”可以运行,但网页不可用

    当我运行命令时activator h2 browser它会使用以下 url 打开浏览器 192 168 1 17 8082 但我得到 使用 Chrome 此网页无法使用 奇怪的是它以前确实有效 从那时起我唯一改变的是JAVA OPTS以启用
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分

随机推荐

  • Cargo 是否支持自定义配置文件?

    我经常想在发布模式下编译debug true这样我就可以更轻松地读取生成的程序集 我目前正在这样做 profile release debug true 但我不希望在最终版本中出现任何调试符号 我想做这样的事情 profile custom
  • 我如何使用Python发送Windows 10通知,通知上有一个按钮

    如何使用python发送支持按钮的通知 并停留在操作 通知中心 我正在尝试制作一个应用程序来提醒我做某事 并且通知将有一个完成按钮和一个贪睡按钮 我尝试使用win10toast包 但通知没有停留在操作中心 并且不支持在其上放置按钮 该通知应
  • Android 上的 SQLite 是否使用支持 FTS 的 ICU 标记生成器构建?

    就像标题说的 我们可以使用 USING fts3 tokenizer icu th TH 如果可以的话 有谁知道支持哪些区域设置 以及它是否因平台版本而异 不 只有 tokenizer porter 当我指定 tokenizer icu 时
  • Android:禁用网络视图中的文本选择

    我正在使用网络视图在我的应用程序中呈现一些格式化的内容 对于某些交互 特定于某些 dom 元素 我使用 javascript 和WebView addJavascriptInterface 现在 我想识别长触摸 很遗憾 onLongTouc
  • 在 Cuda 中实现 MaxReduce

    我一直在学习 Cuda 并且仍在掌握并行性 我目前遇到的问题是对值数组实施最大减少 这是我的内核 global void max reduce const float const d array float d max const size
  • Put 方法出现 405 JSP 错误

    我遇到了有关 JSP 不接受 PUT 请求的问题 所以我想知道如何解决它 我已经在堆栈溢出中阅读了此相关问题 但它没有解释如何修复它 HTTP 状态 405 JSP 只允许 GET POST 或 HEAD 来自 Rails 背景 我试图做到
  • iOS 8 自定义键盘

    我正在尝试构建一个自定义键盘 它就像表情符号键盘 但键盘的数据来自 json 文件 解析这个json文件并获取数据后 如何让自定义键盘使用它并显示在键盘视图中 就像内置的表情符号键盘一样 现在 我遵循应用程序扩展键盘 自定义键盘指南 这里只
  • 使用php向oracle数据库插入数据

    下面的代码正在生成这个 Warning oci execute function oci execute ORA 00911 invalid character in F wamp www SEarch Engine done php on
  • 绑定 SelectedItem 与 SelectedIndex - 我什么时候应该选择其中之一?

    假设您有一个对象类型 Foo 的可观察集合 并且有一个用户将从中进行选择的自定义 ListView 您绑定的数据对象 property with getter setter INotifyPropertyChanged Observable
  • 如何列出所有未更改(跟踪)的文件?

    我将旧的 git image 解压缩到我的 git 存储库中 大部分文件已更改 我想知道哪些文件保持不变 如何列出这些文件 我没有找到任何纯粹的 git 内容 但使用一些 bash 是可能的 git ls files modified gi
  • 如何在一秒内计算任意 n <= 600 的最短加法链?

    你如何计算最短加成链 sac 对于一秒内任意 n Notes 这是编程竞赛codility这个月 加法链在数值上非常重要 因为它们是计算 x n 通过连续乘法 的最经济的方法 Knuth s 计算机编程艺术 第 2 卷 半数值算法对加法链和
  • (如何)我可以增加Android WebView中LocalStorage的配额限制

    我需要增加 Android WebView 中 LocalStorage 的默认配额限制 目前我只能使用大约2 5MB 当尝试存储更多数据时 quota exceeded err dom exception 22 被提出 有什么想法或者我必
  • 无法使用 ruby​​ selenium webdriver 连接到浏览器

    我尝试使用 ruby selenium webdriver 运行一些基本的自动化测试 相同的代码在我的家庭计算机上完美运行 但在位于代理 不需要身份验证 后面的工作计算机上失败 驱动程序 Selenium WebDriver for fir
  • mongo-go-driver 通过 _id 查找文档

    我试图通过自动生成的 id 字段查找文档 下面的代码不返回任何内容 var documentID bson RawValue documentID Type 7 documentID Value byte 5c7452c7aeb4c97e0
  • JList 项目中的自动换行

    我有一个JList项目名称很长 导致水平滚动条出现在滚动窗格中 无论如何 我可以自动换行 以便整个项目名称显示在两行中 但可以一键选择吗 I E它仍然应该behave作为一个单一的项目 但显示的分成两排 这是我在看到下面的例子后所做的 我向
  • 如何使用networkx绘制子图

    我尝试根据节点名称列表从 networkx 中的 karate club graph 绘制子图 但失败了 如何绘制我想要显示的子图 import networkx as nx from matplotlib import pylab as
  • jQuery 获取选择选项 ID 并更改隐藏输入值

    我有一个带有选择列表的表单 每个选项还包含一个动态 ID 我需要捕获该 ID 然后使用它来更改隐藏输入的值 因此 基本上采用选定的选项 id 并更改隐藏输入值的值 我的选择和隐藏输入如下所示
  • 有人可以向我解释一下 Java 中通过“值”而不是“引用”传递的原因是什么吗?

    我对 Java 相当陌生 多年来一直在写其他东西 除非我遗漏了一些东西 并且我很高兴在这里犯了错误 否则以下是一个致命的缺陷 String foo new String thisDoesntWork foo System out print
  • Hibernate:hbm2ddl 反转列顺序[重复]

    这个问题在这里已经有答案了 我让 hbm2ddl 为我创建表 出于开发目的 并且列的顺序与类中字段的顺序相反 我怎样才能让它以与类相同的顺序创建列 我认为 Java 类不存储字段的顺序 因此 Hibernate 根本不知道源中的顺序是什么
  • 使用已知但无法访问的 wsdl 创建 Web 服务客户端

    与我们合作的一家公司通过电子邮件向我们提供了 wsdl 和 xsd 架构 我们所连接的 Web 服务是通过 IPsec 隧道访问的 已发布的 WSDL 中有本地引用 在其末尾 这意味着我们无法使用它 第一个问题 这是常见的设置吗 我认为拥有