0

使用 post 方法提交 xml 数据,但它给出以下错误

ASP 500 Error

An error occurred processing the page you requested.
Please see the details below for more information.
COM Error Number    -2146827864 (0x800A01A8)
File Name   /vm/VM_jeune/includes/partenaires_calcul_primes.asp
Line Number     110
Brief Description   Object required: 'objDOMXPCML.selectSingleNode(...)'

 

<?php
/* 
Online PHP Examples with Source Code
website: http://4evertutorials.blogspot.in/
*/
$xml_data ='<aatavailreq1>'.
    '<agency>'.
        '<iata>1234567890</iata>'.
        '<agent>lgsoftwares</agent>'.
        '<password>mypassword</password>'.
        '<brand>phpmind.com</brand>'.
    '</agency>'.
    '<passengers>'.
        '<adult age="" id="1"></adult>'.
        '<adult age="" id="2"></adult>'.
    '</passengers>'.
'<hotelavailreq1>'.
'<destcode>JHM</destcode>'.
        '<hotelcode>OGGSHE</hotelcode>'.
        '<checkindate>101009</checkindate>'.
        '<checkoutdate>101509</checkoutdate>'.
        '<usefield>1</usefield>'.
  '</hotelavailreq1>'.  
  '</aatavailreq1>';


$URL = "http://www.example.com/vm/makessense/calcul_primes.asp";

   $ch = curl_init($URL);
 //  curl_setopt($ch, CURLOPT_MUTE, 1);
   curl_setopt($ch, CURLOPT_URL, $URL );
   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, "$xml_data");
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   $output = curl_exec($ch);
   curl_close($ch);

 print_r($output);
?>

它给出了 500 错误,不接受任何数据,请告诉我此代码中的错误是什么。

4

1 回答 1

0

错误 500 表示接收 XML 文件的程序已崩溃。我们可以看到它有一个错误,因为它没有优雅地处理错误条件,但是我们看不到那个错误是什么,也看不到它是如何受您的输入数据影响的,因为 ASP 崩溃消息没有足够的信息来处理它出去。

所以你的问题的基本答案是:我们不知道,我们也不能说。唯一能告诉你问题出在哪里的人是已经崩溃的网站的所有者。

您可以使用Fiddler之类的工具来检查 HTTP 流量。这将帮助您证明您的代码正确地发送了 XML 字符串。您还可以使用 XML 验证工具来证明 XML 是有效的。

但是,如果这些测试证明您的结果是可以的(我怀疑他们会的),那么除了询问接收 XML 的人他们的软件有什么问题以及如何解决问题之外,您无能为力;它可能需要他们方面的代码修复,或者他们可能能够帮助您解决该问题。无论哪种方式,我们都无法帮助您。

于 2013-03-04T12:17:50.447 回答