问题标签 [soap-rpc-encoded]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4556 浏览

c# - 在 .NET 中使用 RPC/编码的 SOAP Web 服务时出错

调用 Web 服务方法时收到以下错误。

无法将 System.Xml.XmlNode[] 类型的对象分配给 System.String 类型的对象。

Web 服务是 PHP 服务。我使用此处定义的 wsdl 文档中的 wsdl.exe 创建了代理类 - http://webservice.intelecast.com.au/traffic/PublicSoap/server.php?wsdl

下面是我正在调用的代理客户端方法。

代理类似乎无法处理 wsdl 中定义的复杂类型/数组......我现在不确定如何继续无法在任何地方的网络上找到解决方案。

下面是我收到的 SOAP 响应。这一切似乎都是有效的。

0 投票
1 回答
3502 浏览

c# - 如何使用 WCF 使用 PHP SOAP 服务

我是网络服务的新手,所以如果我在这里犯了一些重大错误,请向我道歉,呵呵。

我已经使用 PHP 构建了 SOAP 服务。服务与 SOAP 1.2 兼容,并且我有可用的 WSDL。我启用了会话,以便我可以跟踪登录状态等。

我在这里不需要一些超级安全性(即消息级安全性),我只需要传输安全性(HTTPS),因为该服务将不经常使用,并且性能不是什么大问题。

我很难让它工作。C# 抛出了一些不清楚的异常(“服务器返回了一个无效的 SOAP 错误。有关更多详细信息,请参阅 InnerException。”,这反过来又说“在限定名称 'rpc:ProcedureNotPresent' 中使用的未绑定前缀。”),但使用 PHP SOAP 客户端使用服务表现如预期(包括会话和所有)。

到目前为止,我有以下代码。注意:由于真实代码的数量,我发布了最少的代码配置

PHP SOAP 服务器(使用 Zend Soap Server 库),包括通过服务公开的类:

WSDL:

最后,WCF C# 消费者代码:

有任何想法吗?我在这里做错了什么?

0 投票
1 回答
4107 浏览

c# - 如何使用 WCF 服务引用来使用 RPC 样式的 Web 服务?

我正在编写一个调用 Web 服务对客户端进行身份验证的 C# 客户端。我使用添加服务引用将 wsdl 文件添加到我的项目中,并且成功生成了代理类。

我正在创建将像这样使用的对象的新实例:

当用户需要进行身份验证时,这是我的代码:

我的肥皂响应如下所示:

returnResults 在生成的代理类中看起来像这样:

我不断收到错误:对象引用未设置为对象的实例,returnResult 为空。

0 投票
2 回答
8061 浏览

java - 如何使用 Java 使用 rpc 编码的 SOAP Web 服务

有没有办法通过使用 java 来使用 SOAP Web 服务:

  • 所需的 SOAPaction(例如名为“find”的方法名)
  • Web 服务的 URL
  • 标头身份验证(用户名和密码)
  • 最后输出结果

我通过 php 成功使用了一个示例请求 xml 文件,但我找不到在 java 上执行此操作的正确方法。

[更新:Web 服务的 WSDL 样式是 RPC/编码的]

[更新 #2:您可以在下面找到我是如何解决问题的(通过使用 IDE 生成的 java 存根)]

0 投票
1 回答
1819 浏览

web-services - Apache Axis 1.4 生成的类与 JBoss 7 兼容?

我们正在将应用程序从 JBoss AS 5.1 迁移到 JBoss AS 7.4 (EAP 6.3)。在那里,我们使用 RPC 编码的 Web 服务。

我们使用 Sun XML RPC 库从 WSDL 自动生成 Java 源代码,这在当时已经非常陈旧了,并且发生了一些与 SAAJ 版本相关的冲突,这些冲突在 JBoss 环境中是可以解决的。所以我们排除了在 JBoss 7 环境中使用 Sun RPC 库的可能性。

有人建议我们使用 Axis 1.4 从 WSDL 生成类。但是,它也很古老(2006 年),所以恐怕我们最终会遇到与 Sun RPC 类似的冲突。

所以我想知道是否有人在 JBoss 7(在 Java 7 上)中成功部署了从 Axis 1.4 自动生成的类,以及他们是否遇到了库冲突?

0 投票
1 回答
4464 浏览

web-services - 使用 Apache Camel 和 CXF 端点调用 RPC/编码的 Web 服务

有很多关于 Apache Camel + CXF-Endpoint 和 RPC/encoded legacy webservices 的信息。但是直到现在我还没有找到解决问题的方法。

我想通过 CXF 端点从 Apache Camel 调用 RPC/编码的 Web 服务。CXF 不支持 RPC/编码的 Web 服务。所以我尝试了两种方法来解决这个问题。

  1. 将 wsdl 从 RPC/encoded 转换为 RPC/literal 并生成源文件。以 CXF 支持的 RPC/literal 样式调用 Web 服务。以下文章建议这种方法可以解决我的问题:使用 RPC/编码 Web 服务的最佳方式?

  2. 发送完整的 SOAP 消息而不映射到对象(无 JAXB)。

方法 1 和方法 2 都不起作用。在接下来的部分中,我将更详细地解释我的方法和问题。

先决条件

第一种方法:将 wsdl RPC/encoded 转换为 RPC/literal 并生成源

在 RCP/encoded wsdl 中,我进行了以下更改:

WSDL 绑定:

对象数组:

简单类型的数组:

未定义类型(anyType)的数组:

之后,我使用 IntelliJ Webservice 插件(通过 CXF wsdl2java)生成了源文件

在 Camel 中,我配置了以下端点:

Camel路由中CXF-Endpoint的使用:

我想调用webservice的以下功能:

骆驼路由中的计时器仅用于触发Web服务。

这种方法的问题:

在运行时,部署时会出现以下消息:

运行时发生以下异常:

第二种方法:发送 SOAP 消息而不映射到对象。

Camel中的端点定义:

路线使用:

但是http://localhost:9000/myfunctionalmock上的网络服务永远不会被调用。我在日志文件中发现了以下日志消息:

两种方法都不起作用。是否有可能在 Camel 中通过 CXF 调用 RPC/编码的 Web 服务?

提前致谢。

问候,

最大限度

0 投票
1 回答
1648 浏览

java - Java、RPC/编码的 Axis 1.4 客户端无法发送空参数

我正在处理使用 RPC/编码的 WSDL 文件将 Web 服务连接到我的 Java/Spring 服务的问题。我无法更改此 WSDL。

我发现我必须使用 Apache Axis 1.4 来创建客户端(根据这个问题:https ://dzone.com/articles/wsdltojava-error-rpcencoded )。

然后我在登录/密码/api_key 参数上遇到了这样的消息:

错误Element 'api_key': '' is not a valid value of the atomic type 'xs:int'

我通过添加解决了这个问题:

现在我可以登录并从该服务中获取一些数据,但我无法推送带有空参数的消息,例如:

其中报价定义为:

现在我遇到了这样的异常:

我已经尝试过设置

在 Offer.java 中。

我正在通过以下方式创建优惠消息:

我将非常感谢找到解决此错误的方法。我不需要坚持使用轴 1.4 - 任何其他让我通过 SOAP 连接到此服务的解决方案对我有用。非常感谢您的帮助!

0 投票
0 回答
587 浏览

java - Axis 客户端,从(RPC/编码样式)SOAP 请求 xml 中省略空标签

我们有一个来自供应商的 SOAP Web 服务(我们无法更改),它使用“RPC/编码”样式。我们使用 Apache Axis(1.4 版)来生成和使用客户端。

其中一个方法的请求中有一个元素,如下所示:

所以它是“可省略的”,但不是“可空的”。因此,当我将此参数留空时(当我们根本不调用setCRD_EXPIRY时),我希望请求 XML 中根本没有CRD_EXPIRY标记。

但是 Axis 引擎,仍然把这个标签放在请求中,带有nil="true"属性:

此外,我已经深入研究了源代码,并在org.apache.axis.encoding.ser.BeanSerializer课堂上发现了这些行,这似乎可以解决问题:

看起来对于“编码”样式的 Web 服务,空参数始终存在于带有nil值的请求 XML 中。即使它们不是“可空的”。

我是真的吗?如果是,为什么会这样(看起来不像是错误)?

主要是,我怎样才能实现请求 XML 中不出现空参数?

谢谢

0 投票
1 回答
109 浏览

web-services - 为 MODIS Web 服务生成 WCF 客户端

我想为这个网站上提供的 MODIS Web 服务创建一个 WCF 客户端:http: //daac.ornl.gov/MODIS/MODIS-menu/modis_webservice.html有一个指向 WSDL 文件的链接,我可以使用它来生成代理班级。问题是,该文件格式不正确,我无法使用添加服务引用、wsdl.exe 或 svcutil.exe 等 .NET 工具创建客户端。当我尝试通过网站生成代理类时,我得到以下响应:

在此处输入图像描述

我尝试下载 WSDL 文件并从本地副本创建代理类,但随后出现此错误:

在此处输入图像描述

这些错误对于添加服务参考和 wsdl.exe 和 svcutil.exe 实用程序的控制台输出是相同的。有没有其他方法可以为此服务创建 WCF 客户端,或者在 .NET 中是不可能的?

编辑-----我已经解决了问题的发生,因为 WSDL 是 RPC/Endoded 标准,而 .NET 工具无法正确处理它。我试图将其转换为文档/文字标准,但它仍然无法正常工作。有人可以查看我的 WSDL 文件并检查我有什么问题吗?可在此链接下获得:https ://wklej.to/67rR7

0 投票
1 回答
130 浏览

soap-rpc-encoded - 黑客、脚本、恶意、解码器?

我在我网站的每个页面的开头都有这个......问题,如何解码它以知道它的作用?

这是代码: