草庐IT

PHP SOAP 过程 'functionName' 不存在

我正在Symfony中编写一个SOAP应用程序,对于我的所有请求,我收到一个错误Procedure'getClusterName'notpresent。奇怪的是,当我用纯PHP创建一个测试SOAP应用程序时,它工作正常,但在Symfony中相同的代码返回错误。另一个奇怪的事情是,当我在SOAP服务器代码中使用$server->getFunctions()列出可用的服务函数时,它返回服务函数的数组和getClusterName在那个数组中。所以服务器知道该函数,但它不能调用它。在Symfony中编写服务时,我遵循了thisarticle这是我的代码:客户:namespacePrj\Soa

php - 如何通过 SOAP API 在 magento 中获取自定义属性的值

我正在尝试通过SOAPapi获取magento产品自定义属性的值。但是我只能获得标准属性值。我正在尝试使用下面的代码,但它似乎不起作用。$user='user';$password='pass';$proxy=newSoapClient('http://asd.com.au/api/v2_soap?wsdl');$sessionId=$proxy->login($user,$password);//method1Itried$ebayStock=newstdClass();$ebayStock->key='ebay_available_qty';$additionalAttribute

php - 为什么使用 NuSOAP 而不是 PHP SOAP?有什么好处吗?

就我在网上搜索而言,我可以看到大量关于如何设置NuSOAP并使用它在PHP中设置SOAP服务器和客户端的文章。但是,它们似乎都没有指出使用它比PHP自己的本地SOAP库有任何优势。之间的优缺点是什么:核皂PHPSOAP梨::香皂Zend香皂 最佳答案 NuSOAP生成WSDL。PHP的SoapServer没有。这就是我决定使用NuSOAP的原因。对于客户端,我使用原生客户端,它有更好的错误报告。 关于php-为什么使用NuSOAP而不是PHPSOAP?有什么好处吗?,我们在StackOv

php - 使用 xDebug 调试 SOAP 服务

有没有一种方法可以调试我们理想地发布的SOAP服务,并集成到IDE中,让我可以单步执行代码。 最佳答案 灵感来自thisarticle我想出了一个解决方案,允许我从SoapUI调用服务并在我的IDE(PhpStorm)中逐步执行代码。关键是改变生成的WSDL的一部分,特别是节点。这有一个location我附加?XDEBUG_SESSION_START=netbeans-xdebug的属性.显然netbeans-xdebug需要是您在调试环境中设置的任何IDEkey。我通过在渲染之前捕获WSDL并执行preg_replace()来实现

php - 我可以在发送之前预览 PHP SOAP 要发送的 XML 吗?

根据标题,是否可以在尝试运行__soapCall()之前输出newSoapClient创建的XML,以确保在实际发送之前它是正确的它到SOAP服务器? 最佳答案 您可以使用派生类并覆盖__doRequest()methodSoapClient类。sendRequest=false;$client->printRequest=true;$client->formatXML=true;$res=$client->ConversionRate(array('FromCurrency'=>'USD','ToCurrency'=>'EUR')

php - Soap - PHP 中的 base64 二进制数据

我有一个PHP中的SOAP客户端,它调用WSDL服务。其中一个函数返回base64binary数据。我一直在尝试解码它,但没有任何运气。base64_decode($encoded_base64data)将不起作用。我尝试使用带有各种参数的base_convert()和mv_convert_encoding(),但无法获得正确的结果。编码后的结果数据以:��`I�%&/m�{J�J��t��`$ؐ@�������iG#)�*��eVe]f@�흼��{����{����;�N'���?\fdl��J�ɞ!���?~|?"(数据比较长,这只是字符串的一小部分)知道怎么做吗?谢谢编辑我用新的

php - 从 PHP SOAP 服务器获取接收到的 XML

我在symfony2应用程序中使用内置的SOAP-Server,除了处理StdClass-Object之外,我还需要读取接收到的完整xml以进行调试和记录。有没有办法简单地捕获传输的xml?它应该在请求header中的某处,但我就是找不到它。 最佳答案 我一直在找同样的东西,终于找到了。希望这对您或其他人有所帮助。$postdata=file_get_contents("php://input");$postdata变量将包含原始XML。通过以下两个链接找到:http://php.net/manual/en/reserved.var

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

有没有办法从WSDL文件生成PHPSoap客户端?我的意思是.net中类似wsdl.exe或svcutil.exe的东西,它为可以作为服务客户端的类生成代码,而不是类似:$WSDL=newSOAP_WSDL($wsdl_url);$client=$WSDL->getProxy();我的问题是我希望PHP客户端能够使用服务,即使该服务不公开其WSDL。 最佳答案 我发现生成器真的很有用https://github.com/wsdl2phpgenerator/wsdl2phpgenerator说明(来自github):下载wsdl2ph

php - 将数组传递给 PHP 中的 SOAP 函数

问候,我似乎无法找到一种方法来创建以数组作为参数的函数请求。例如,我如何使用PHPSoapClient发出这种请求:stringstringstringstring是否可以在不创建任何额外类(仅使用数组)的情况下调用此函数?如果不是,最紧凑的调用方式是什么? 最佳答案 您可以使用此-v函数将数组转换为对象树:functionarray_to_objecttree($array){if(is_numeric(key($array))){//BecauseFilters->Filtershouldbeanarrayforeach($ar

php - FedEx express 网络服务 (SOAP) : Pickup Service

我正在尝试使用取件服务安排取件。首先,我发送PickupAvailability请求以获取截止时间,然后使用我在PickupRequest中获得的结果。但在那之后,对于明显在截止时间之前的时间,我收到错误“截止时间后的就绪时间”。在我的示例中,返回的截止时间是16:00,但我可以安排取件的最晚时间是11:00。取货可用性响应的一部分:SAME_DAYtrue2013-04-0216:00:00产生错误的计划取件请求部分:2013-04-02T13:00:0020:00:00这是两个请求的完整请求/响应代码:http://pastebin.com/jqtfsRFcUPD:更多细节根据评论