PHP以XML格式发送回复

时间:2016-01-14 23:36:45

标签: php xml

我对php很新,所以要善待。

我从客户端收到一个XML文件,我正在解析数据库。我有这个部分,但我的问题是我想以XML格式发送回复。我正在尝试在我的本地机器上进行测试但它无法正常工作。这是我的代码:

<?php
//create and send XML confirmation

    $replyXML = '<Order><Action>UPDATE</Action><OrderType>DEPOT</OrderType><Message>UPDATE</Message><OrderNumber>'.$orderNumber.'</OrderNumber><OrderId>'.$orderID.'</OrderId><OrderCreatedDate>'.$orderCreatedDate.'</OrderCreatedDate><StoreNumber>'.$storeNumber.'</StoreNumber><OrderDetails><OrderDetail><OrderDetailId>'.$orderDetailID.'</OrderDetailId><OrderDetailStatus>'.$orderDetailStatus.'</OrderDetailStatus><OrderDetailCreatedDate>'.$orderDetailCreatedDate.'</OrderDetailCreatedDate><SKUData><SKUNumber>'.$skuNumber.'</SKUNumber><SKUDescription>'.$skuDescription.'</SKUDescription><SKUMessage>'.$skuMessage.'</SKUMessage></SKUData></OrderDetail></OrderDetails></Order>';



$URL = "http://localhost:8888/staples/reply";

        $ch = curl_init($URL);
        curl_setopt($ch, CURLOPT_MUTE, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
        curl_setopt($ch, CURLOPT_POSTFIELDS, "$replyXML");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        curl_close($ch);

当我进入我机器上的“回复”目录时,没有任何内容。

请让我知道我哪里出错了。

1 个答案:

答案 0 :(得分:0)

您将变量$replyXML视为字符串。删除双引号,以便在

中提取XML
curl_setopt($ch, CURLOPT_POSTFIELDS, $replyXML);