问题标签 [soap-client]

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 投票
3 回答
40964 浏览

php - 在发送请求之前/不发送请求之前检查由 PHP SoapClient 调用创建的 XML

问题:在您实际发送请求之前,有没有办法查看将使用 PHP SoapClient 函数调用创建的 XML?

背景:

我是 WSDL 通信的新手,我有一个客户希望我用 PHP 进行开发,这是一种与用 ASP.NET 编写的 WSDL 服务进行通信的方法。我已经走了很远,但是在传递复杂类型时遇到了问题。到目前为止,我已经尝试了几种不同的方法。

1)设置单个数组,例如$params->Person->name $params->Person->address

2) 设置单个数组$Person = array('name'=>"joe",'address' = "123");

然后作为参数 "Person" => $Person; 传入调用 和其他一些人。但每次我得到错误

SoapException:服务器无法处理请求---> System.Exception:人员是必需的。在服务名称处。

为了进一步排除故障,我想查看正在发送的 XML 文档,以查看它是否正在按照我期望的方式创建复杂类型。我正在使用$client = new SoapClient('wsdldoc.asmx?WSDL');调用它来创建服务$client->CreateUser($params);,然后尝试使用该函数查看它,$client->__getLastRequest(); 但它从未到达 __getLastRequest,因为它在调用 CreateUser($params) 时遇到致命错误。

再次提出问题:有什么方法可以查看由 CreateUser($params) 调用创建的 XML,而无需实际发送它并导致致命错误

0 投票
1 回答
335 浏览

soap - 这是 SOAP 请求的标准编码还是通用编码?

我正在使用 Web 服务,其中 WSDL 描述了每个请求和响应中的单个字符串元素。

该字符串中嵌入了许多带有转义标签的普通 XML 元素。

这是来自服务的响应格式,也是传入请求的预期格式。

这在 SOAP 接口中很常见吗?实际上,它会导致我正在使用的 SOAP 库无法访问内部参数。(soap4r) 感谢 SOAP 资深人士的任何反馈。

0 投票
6 回答
47000 浏览

php - 如何生成 PHP 肥皂客户端代码?

有没有办法从 WSDL 文件生成 PHP Soap 客户端?

我的意思是类似wsdl.exesvcutil.exe在.net中的东西,它为可以成为服务客户端的类生成代码,而不是类似:

我的问题是我希望 PHP 客户端能够使用服务,即使该服务没有公开其 WSDL。

0 投票
4 回答
6601 浏览

c# - 如何拦截来自 C# 客户端 Web 代理的出站和入站 Soap 消息

我正在编写 UI 来测试 asmx Web 服务。服务器和客户端是.NET。客户端代理已使用 wsdl.exe 生成。

我想截获并存储由于在 Web 代理上调用方法而生成的传出和传入SOAP消息的字符串表示形式,因此我可以向 UI 添加一个功能,该功能将显示刚刚发送/接收的消息。

我依稀记得有两对扩展点可以添加代码来拦截消息,但我不记得这是如何完成的。我认为我想到的示例涉及在客户端压缩消息的某些部分并在服务器上压缩消息,即使在我的场景中,我想存储而不是更改消息。

感激地收到任何提示和帮助。

(我已经部分实现了 SoapExtension。我不明白 ChainStream 方法是如何工作的,而且我不确定如何通知侦听器肥皂消息已被捕获(因为我无法控制实例化肥皂扩大)。'

0 投票
1 回答
436 浏览

web-services - 如何在 Windows Mobile 客户端上报告 Web 服务的进度?

我尝试使用以下链接中描述的soap扩展来实现进度报告:

stackoverflow
代码项目

但是,我的“ProgressUpdate”方法没有被调用,我相信这是因为我的 Windows Mobile 项目中没有 app.config 文件来告诉 Web 服务调用由 SOAP 扩展处理。如何在 Windows Mobile 中做到这一点?这是本文中使用的示例配置文件:

0 投票
1 回答
2049 浏览

c# - 如何实现 SoapHttpClientProtocol

因为这个问题告诉我 SoapHttpClientProtocol 不是线程安全的。而且,我的真实生活测试告诉我这是真的,因为我的 SoapHeader 属性在调用之间不断混淆。有没有办法确保我可以跨线程使用它并保持我的属性正确?并确保我没有遇到那个问题中给出的示例,即一个线程认为连接已打开,而另一个线程已关闭它?提出请求后,我是否需要担心soap 标头值?在发出请求之前,如何验证属性是否与我设置的一样?

0 投票
2 回答
3284 浏览

delphi - 如何在 Windows XP/Windows 2003 上部署 Delphi Soap 客户端 (.EXE)?

我构建了一个使用一些 Web 服务的 Delphi-7 Windows 应用程序。该应用程序以不需要运行时 DLL 的方式构建。当我将它部署在 Windows 2003 服务器上时,它在调用 Web 服务时失败了。它会导致错误“地址 00c05269 的访问冲突。写入地址 00c05269”。我相信原因是它需要安装一些软件包。有人可以帮我弄清楚吗?

TIA

0 投票
1 回答
2834 浏览

php - PHP中的SOAP错误编码外部引用

我正在尝试使用 SOAP 中的一个函数,该函数将获取有关特定新闻项目的详细信息。问题是我没有得到预期的结果,只是一个奇怪的错误。我在 PHP5 中使用内置的 SOAP 客户端。

我的错误是:

致命错误:未捕获的 SoapFault 异常:[Client] SOAP-ERROR: Encoding: E​​xternal reference ' https://newsclient.omxgroup.com/cdsPublic/viewDisclosure.action?disclosureId=379485&messageId=454590 ' in /home/***** ***/public_html/********/updatenews3.php:15

我的代码是:

找到结果的所有 lastPublicationId 的错误都是相同的。似乎 PHP 正在尝试加载一个链接,该链接位于 XML 回复中的某处(错误消息中的 URL),并且无法访问它。尽管我已经用谷歌搜索了很多,但我找不到任何解决方案。我唯一能找到的是这似乎已被报告为以前版本的 PHP 中的错误,但错误是指 PHP 5.2.2 因为我使用的是 PHP 5.2.9,所以我认为它可以'不是那样。我怀疑 & 字符是导致此错误的原因?

可以在此处找到 WSDL 文件:https ://newsclient.omxgroup.com/wsdl/DisclosureNewsService.wsdl

有人知道这个错误,并且知道任何解决方案吗?

0 投票
3 回答
4532 浏览

php - 如何在 PHP 中使用返回 complexTypes 的 web 服务?

我正在使用PHP 5.2.10,我正在尝试使用一个使用标准 SOAP 扩展返回复杂数据类型的 web 服务。

问题是 SoapClient 不会填充嵌套到其他对象/对象数组中的对象。当我调用 getUtente 方法并指定“my_unique_id”作为参数时,我得到的一个简化示例是:

WDSL 描述的相关部分是:

我发现我不是唯一遇到这个问题的人。特别是我在 PHP 官方文档和其他论坛条目中发现了这条评论,就如何解决这个问题给出了两种不同的想法,但我无法将这两个想法中的任何一个变成一个可行的解决方案:我似乎没有完全理解给出的例子背后的逻辑。

如果有人能在这方面指导我,我将不胜感激:欢迎在另一个 Web 服务上使用一些工作代码,但我主要追求的是真正理解问题和提出的解决方案的逻辑(鱼道,而不是鱼!) . :)

0 投票
2 回答
3751 浏览

php - PHP - 如何创建这个 SOAP XML 请求?

我试图弄清楚如何在 PHP 中正确地构造数据,以便发出这样的 SOAP XML 请求:

PHP 函数如下所示:

如何构建 $dataparams 以适应上述 saveRequest?即,类似: