Delphi 2007 未正确使用 JAX-WS Web 服务

2023-12-07

当我尝试使用我使用 JAX-WS 在 Java 中设置的 Web 服务时,我遇到了 Delphi 2007 的问题。该 Web 服务可以从另一个 Java 程序和 C# / ASP.NET 2.0 网站正常使用。但是,当我尝试使用 Delphi 2007 中的 WSDL 导入程序(2007 年 12 月 17 日补丁)访问相同的服务时,JAX-WS Web 服务无法识别我传递给它的任何参数,并将它们置为空。

我检查了 Delphi 传递的 SOAP 消息,并将其与其他消息进行比较,发现它们几乎相同(除了一些可忽略的命名空间 dec 和来自 .NET 的大量视图状态!)

我也浏览过网络(最有用的链接是鲍勃博士的http://www.bobswart.nl/Weblog/Blog.aspx?RootId=5:798)但没有喜悦。

以前有人遇到过这个吗?

TIA.


传奇还在继续!

在尝试使用 HTTPRIO 对象并使其正常工作后,我最终放弃并尝试通过 HTTP 进行直接 XML 传输。失败。

好的,所以我用 C# 构建了一个简单的测试器并进行了尝试。工作没问题。

使用 Fiddler 查看来回发送的内容,似乎唯一的区别在于名称空间。我更改了 Delphi 中发送的 XML 中的名称空间,并且...它有效!

这是 WSDLImporter 生成的原始 XML 的示例:

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
        <version xmlns="http://path.to.service.com/">
            <input>test</input>
        </version>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

这是实际有效的:

<?xml version="1.0"?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
    <S:Body>
        <ns2:version xmlns:ns2="http://path.to.service.com/">
            <input>test</input>
        </ns2:version>
    </S:Body>
</S:Envelope>

那么,既然我知道了这一点,我是否应该更改 WSDLImporter 代码的命名空间值?我在 HTTPRIO 属性上看不到任何明显的内容。

TIA


哈哈,它还活着!

基本上我不得不拿出推荐的

InvRegistry.RegisterInvokeOptions(TypeInfo(ActivityService), ioDocument);

并强制它使用秒。 5 编码。根据需要生成命名空间,并将参数传递给 Java Web 服务。

是的,需要啤酒,很多啤酒:)

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

Delphi 2007 未正确使用 JAX-WS Web 服务 的相关文章

随机推荐

  • 我可以将关联数组作为参数传递给 ReflectionMethod::invokeArgs 吗?

    是否可以将参数作为关联数组传递ReflectionMethod invokeArgs 这将允许我以与声明不同的顺序传递参数 例如 class A public function someMethod a b return sprintf a
  • iOS6 上的 IOHIDEventSystemCreate 失败

    IOHIDEventSystemCreate 在 iOS6 上始终返回 NULL 在 iOS5 上工作正常 有人知道为什么吗 iPhoneDevWiki 上的示例 include
  • 带管道的 Perl 正则表达式

    我不完全是一个 Perl 僧侣 所以如果你能帮助我理解这个正则表达式 如果它是一个 的作用是什么 my pathHere some path to file my pathThere some path pathHere s pathThe
  • 客户端-服务器同步模式/算法?

    我有一种感觉 一定存在客户端 服务器同步模式 但我完全没能在谷歌上找到一个 情况非常简单 服务器是中心节点 多个客户端连接并操作相同的数据 数据可以被分割成原子 如果发生冲突 服务器上的任何内容都具有优先权 以避免让用户陷入冲突解决 由于可
  • Keras模型输入形状错误

    我有一个 keras 模型 其布局如下 def keras model x train y train x test y test model Sequential model add Dense 128 input dim x train
  • Wordpress XML-RPC 和特色图像

    我目前正在为客户端开发一个插件 该插件每小时获取一个 xml feed 并将其发布到 wordpress 中 但我在将特色图像发送到帖子时遇到问题 我可以很好地发布到 WordPress 但我发布特色图像的所有尝试都失败了
  • 使用 GeoTools 计算两点之间的大距离

    GeoTools 和 GIS 新手 我正在尝试使用 GeoTools 库计算孟买和德班之间的距离 我正在接近小距离的准确结果 但是当我去更大的距离时 计算结果偏离了 2000 公里 我不完全理解 CRS 系统 下面是我计算孟买和德班之间距离
  • 使用 Google Maps API 获取旅行时间数据 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我使用 Google Maps API 遇到的所有示例似乎都显示了某种地图 当您向网站询问从 A 到 B 的道路描述时 我想将他们提供的有关预计乘车
  • Spacy 自定义句子分割

    我使用 Spacy 进行自定义句子分割 并且我需要参数化 custom delimeter word 来进行句子吐痰 但我没有找到如何作为参数传递 这里是函数 Manual or Custom Based def mycustom boun
  • 使用 ASP.Net MVC 将图像上传到 SQL Server 2005?

    我知道有一种方法可以将图像作为图像类型或 varbinary 类型上传到数据库 但是 我搜索了整整一周 我找不到任何可以帮助我的东西 所以这确实是我的最后手段 如果有人知道的话如何将图像上传到数据库 我使用的是SQL Server 2005
  • C 标准库头文件的 Eclipse CDT 出现“未解决的包含”错误

    我为eclipse设置了CDT并编写了一个简单的hello world C程序 include
  • git update remote 之后,新的上游分支可见,但原始分支不可见

    首先我的术语 上游 是原始的 apache 存储库 在 github 上 origin 是我的 apache repo 的分支 也在 github 上 执行以下命令后 git remote update git fetch 我看到 apac
  • 将集合复制到自身中

    如何将 mongodb 集合复制到自身中并发生冲突 id由一个新的解决 id 使用复制单个文档答案在这里对于大型集合来说是不可行的 我想这样做是为了人为地增加测试样本的大小 这只是为了测试可扩展性 所以我想 我可以将集合复制到自身中几次来达
  • onAuthStateChanged 更改 Firebase 3.0.0 后参考不会重新运行

    下面的代码附加了一个观察者users 路径并在值更改时记录用户 在火力基地上 这users 树的门控取决于当前经过身份验证的用户的访问权限 firebase auth onAuthStateChanged function user if
  • 如何正确终止信号处理程序中的线程?

    我想为 SIGSEGV SIGILL 和可能的其他一些信号设置一个信号处理程序 这些信号不是终止整个进程 而是终止有问题的线程 并且可能在某处设置一个标志 以便监视线程可以抱怨并启动另一个线程 我不确定是否有安全的方法来做到这一点 Pthr
  • 将日期数据从 SAS 传输到 R

    我将 sas7 数据集应用到 R 中 问这个问题很奇怪 我的变量之一是访问日期 现在看起来像这样 我想知道在哪里可以将它们转换回 MM DD YYYY 因为我需要排除小于 MDY 08 01 2010 的数据 gt chris visit
  • 添加 Web 引用将 IList 更改为 Array[]

    当我向客户端应用程序添加 Web 引用时 Web 引用类属性将从 IList 更改为数组 下面是片段 这其中有什么理由吗 我只是更喜欢使用 IList 因为它们非常动态 我可以在客户端将其更改为 ILists 吗 服务器端 DataMemb
  • 根据第一个下拉列表的结果填充第二个下拉列表

    目前我使用动态选择来填充下拉列表 我想做的是显示第二个下拉列表 其中包含基于第一个选择的结果 我不知道如何解决这个问题并寻找答案但无济于事 我已经包含了用于填充第一个菜单的代码 如果您需要任何进一步的代码 请告诉我 如果有人可以帮助编写代码
  • 在 Docpad 中仅显示部分博客文章,并带有“阅读更多”链接

    我只需要显示部分博客文章 以及完整博客文章的 阅读更多 链接 主页 列出最后 5 篇部分 介绍帖子 并附有 阅读更多 这在 Docpad 中可能吗 Thanks May by getCuttedContent content gt i co
  • Delphi 2007 未正确使用 JAX-WS Web 服务

    当我尝试使用我使用 JAX WS 在 Java 中设置的 Web 服务时 我遇到了 Delphi 2007 的问题 该 Web 服务可以从另一个 Java 程序和 C ASP NET 2 0 网站正常使用 但是 当我尝试使用 Delphi