我对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);
当我进入我机器上的“回复”目录时,没有任何内容。
请让我知道我哪里出错了。
答案 0 :(得分:0)
您将变量$replyXML
视为字符串。删除双引号,以便在
curl_setopt($ch, CURLOPT_POSTFIELDS, $replyXML);