Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel空请求_Php_Xml_Laravel_Rpc_Xml Rpc - Fatal编程技术网

Php Laravel空请求

Php Laravel空请求,php,xml,laravel,rpc,xml-rpc,Php,Xml,Laravel,Rpc,Xml Rpc,我正试图弄清楚如何在Laravel5.4中使用XMLRPC 我使用OpenHttpRequester向Laravel发送xml请求, 它返回200 OK状态代码,但我无法处理请求数据 我已使用一个方法(testMethod)将请求路由到控制器,该方法包含以下内容: public function testMethod(Request $request) { $req = xmlrpc_decode_request($request, $method); print

我正试图弄清楚如何在Laravel5.4中使用XMLRPC 我使用OpenHttpRequester向Laravel发送xml请求, 它返回200 OK状态代码,但我无法处理请求数据

我已使用一个方法(testMethod)将请求路由到控制器,该方法包含以下内容:

public function testMethod(Request $request) {        
    $req = xmlrpc_decode_request($request, $method);
    print_r($req);
    print_r($request->toArray());           
}
我的XML如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
    <methodName>testMethod</methodName>
    <params>
        <param>
            <value>
                <string>Test value 1</string>
            </value>
        </param>
    </params>
</methodCall>
原始请求:

POST http://localhost/laratest/public/index.php/request
User-Agent: /
Host: localhost
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
    <methodName>testMethod</methodName>
    <params>
        <param>
            <value>
                <string>Test value 1</string>
            </value>
        </param>
    </params>
</methodCall>
POSThttp://localhost/laratest/public/index.php/request
用户代理:/
主机:本地主机
内容类型:text/xml
测试方法
测试值1
答复: (我正在使用Open HttpRequester查看响应) 浏览器模式:[]

纯文本模式:

Sfdump=window.Sfdump | | |(函数(doc){var refStyle=doc.createElement('style'),rxEsc=/([.+?^${}()|[]/\]/g,idRx=/\bsf dump-\d+-ref[012]\w+\b/,keyHint=0选项。maxDepth){toggle(a)}如果('sf-dump-ref'==elt-name&&(a=elt.getAttribute('href'){)a=a=a.r(1);subselt.name;如果[+/.test]/(elt.previousSibling.nodeValue)){a=a!=elt.nextSibling.id&&doc.getElementById(a);尝试{s=a.nextSibling;elt.appendChild(a);s.parentNode.insertBefore(a,s);if(/^[@#]/.test(elt.innerHTML)){elt.innerHTML+='▶'; } else{elt.innerHTML=▶'; elt.className='sf dump ref';}elt.className+='sf dump toggle';}catch(e){if('&'==elt.innerHTML.charAt(0)){elt.innerHTML=''.';elt.className='sf dump ref';}}}}}if(0>=options.maxStringLength){return;len=t.length;for(i=0;iSfdump(“sf-dump-2001561441”)

我认为您可以使用
$request->getContent()
如果您发布原始数据

-此函数的使用风险应由您自己承担。您对此功能有何期望?如果您使用SOAP,您可以使用SOAP库。如果您使用JSON-JSON解码etcI,我真的是web服务的新手,正准备解决它。我必须使用xml rpc,因为这是我的雇主希望的我知道xml_rpc_decode_请求和xml_rpc_encode_请求都是实验性的,但是如果这是问题,那么print_r($request->toArray)会正常工作,但它不会;使用
dd($request)
而不是
print_r
dd($request)返回某种脚本,生成一个空数组。在
dd中有什么($request->all())
POST http://localhost/laratest/public/index.php/request
User-Agent: /
Host: localhost
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
    <methodName>testMethod</methodName>
    <params>
        <param>
            <value>
                <string>Test value 1</string>
            </value>
        </param>
    </params>
</methodCall>