如何在php中接收xml请求并发送响应xml?
因此,我需要构建一个接收xml请求的应用程序,并在此基础上返回响应xml。我知道如何发送请求和接收响应,但我从未用其他方式发送请求和接收响应。我将发送如下请求:如何在php中接收xml请求并发送响应xml?,php,xml,api,Php,Xml,Api,因此,我需要构建一个接收xml请求的应用程序,并在此基础上返回响应xml。我知道如何发送请求和接收响应,但我从未用其他方式发送请求和接收响应。我将发送如下请求: private function sendRequest($requestXML) { $server = 'http://www.something.com/myapp'; $headers = array( "Content-type: text/xml" ,"Content-length: ".st
private function sendRequest($requestXML)
{
$server = 'http://www.something.com/myapp';
$headers = array(
"Content-type: text/xml"
,"Content-length: ".strlen($requestXML)
,"Connection: close"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $server);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 100);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestXML);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data = curl_exec($ch);
if(curl_errno($ch)){
print curl_error($ch);
echo " something went wrong..... try later";
}else{
curl_close($ch);
}
return $data;
}
我的问题是-接收端的代码是什么?如何捕获传入的请求?
谢谢。总体思路是读入POST值,将其解析为XML,对其做出业务决策,根据您决定的API构建XML响应,并将其写入响应中 读入POST值:
$dataPOST = trim(file_get_contents('php://input'));
解析为XML:
$xmlData = simplexml_load_string($dataPOST);
然后,您将构建一个XML字符串(或者文档树,如果您愿意的话),并将其打印到响应中。print()或echo()就可以了。接收端需要做的就是创建一个“普通”PHP脚本。根据端点和请求服务之间的协议,您需要从正确的位置获取数据,该位置很可能是$\u GET或$\u POST阵列 你可能必须阅读原始的帖子数据,如果它没有在$u POST中通过,请阅读本文