Php 三个请求未提交
我调用了三个使用curl执行xml的方法Php 三个请求未提交,php,curl,Php,Curl,我调用了三个使用curl执行xml的方法 $clientID=$newInvoice->reateClient($name,$organization,$email,$address,$country); $invoiceID=$newInvoice->CreateInvoice($clientID,$invoiceNumber,$itemName,$cost,$quantity); echo $newInvoice->SendInvoice($invoiceID); 当
$clientID=$newInvoice->reateClient($name,$organization,$email,$address,$country);
$invoiceID=$newInvoice->CreateInvoice($clientID,$invoiceNumber,$itemName,$cost,$quantity);
echo $newInvoice->SendInvoice($invoiceID);
当我使用这三个方法时,第一个方法正确执行,但第二个和第三个方法显示错误:字符串不能被解析为XML
如果我通过注释另外两个方法一次调用一个方法,它就可以正常工作。有人能帮忙吗
php代码示例($xml_请求包含xml,看起来还可以,因为如果我通过注释任何其他两个方法一次执行一个方法,我可以执行而不会出现任何错误):
这三种方法使用的是启动curl连接的同一个函数吗?是的,它使用的是一个公共函数。我是否正确理解您的意思:您试图发布某个xml文件的原始内容,但您的API接收器无法解析您的数据?是的。我将xml数据存储到一个变量中,并使用curl将此xml传递给服务器,然后curl返回一个值,使用此值,我使用curl将其他xml数据传递给服务器,对于第三个请求也是如此。但第一个请求提交成功,第二个请求返回“字符串无法解析为XML”。但同样的情况是,如果我发送每个请求(每次执行一个请求),那么这三个请求都会返回成功结果。您能显示解析xml内容的函数的签名吗?
$ch = curl_init($api_url);
curl_setopt($ch, CURLOPT_USERPWD, $token.':123');
curl_setopt($ch, CURLOPT_POSTFIELDS, 'xml_request='.$xml_request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 240);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_USERAGENT, "Invoicera API Test 1.0");
$curl_result = curl_exec($ch);
curl_close ($ch);
return $curl_result;