我正试图通过curl
与两个zf2
应用程序建立通信。所需响应在xml
中。到目前为止,我可以建立连接,并返回xml
作为响应。在ZF2中实现卷曲
问题
的问题是,我不能在我的xml response
。每当我遍历和的var_dump我$response->getContent
的视图源代码,我得到尽可能
string(142) "<?xml version="1.0" encoding="UTF-8"?>
<myxml>
<login>
<status>success</status>
<Err>None</Err>
</login>
</myxml>
"
,当我只需var_dump
我的$response
,我得到一个object(Zend\Http\Response)#440
。
simplexml_load_string($response->getContent())
给了我一个空白页。
另外print $data->asXML()
给我Call to a member function asXML() on a non-object
错误。我在这里做错了什么?
卷曲请求动作
$request = new \Zend\Http\Request();
$request->getHeaders()->addHeaders([
'Content-Type' => 'application/x-www-form-urlencoded; charset=UTF-8'
]);
$request->setUri('http://localhost/app1/myaction');
$request->setMethod('POST'); //uncomment this if the POST is used
$request->getPost()->set('curl', 'true');
$request->getPost()->set('email', '[email protected]');
$request->getPost()->set('password', '2014');
$client = new Client;
$client->setAdapter("Zend\Http\Client\Adapter\Curl");
$response = $client->dispatch($request);
var_dump($response);//exit;
//$response = simplexml_load_string($response->getContent());
//echo $response;exit;
return $response;
卷曲响应行动
$php_array=array(
'login'=>array(
'status'=>'failed','Err'=>'Unauthorised Access'
)
);
$Array2XML=new \xmlconverter\Arraytoxml;
$xml = $Array2XML->createXML('myxml', $php_array);
$xml = $xml->saveXML();
//echo $xml;exit;
$response = new \Zend\Http\Response();
$response->getHeaders()->addHeaderLine('Content-Type', 'text/xml; charset=utf-8');
$response->setContent($xml);
return $response;
的Array2XML
可以发现here
任何想法?
simplexml_load_string返回一个对象SimpleXMLElement – Hooli
如果你得到一个空白页面,你有关闭显示错误(这是ZF默认值)。检查Web服务器错误日志以查看实际错误。 –
您是否尝试过使用原始CURL而不是zf2适配器? – Conti