php - 如何在 php 中接收 xml 请求并发送响应 xml?

标签 php xml api

所以我需要构建一个应用程序来接收 xml 请求,并基于它返回响应 xml。我知道如何发送请求和接收响应,但我从来没有用其他方式做过。我会像这样发送请求:

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 - 如何在 php 中接收 xml 请求并发送响应 xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9374224/

相关文章:

php - 有没有办法在 Wordpress 上创建重复的子类别 slug?

php - 使用单个表单 Laravel 将数据添加到多个表

php - 在 MySQL 中使用 "signed"INT?

c++ - 使用 QXmlStreamReader 读取 XML 标签内的值

windows - 如何使用 127.0.0.1 从 Windows 主机访问在 WSL2 中运行的服务?

python - Django REST API 创建 URL 组合

php - 使用php用户定义函数连接多个数据库

javascript - 我可以在 PHP 或 javascript 中使用一些函数将所有 HTML 实体转换为其十进制等效值吗?

以编程方式添加到 LinearLayout 的单个 View 上的 Android 数据绑定(bind)?

node.js - 如何将 nginx 与 adonis 一起使用?