XML 응답을 반환하는 외부 사이트 (API)를 호출하려고합니다. 이 작업을 수행하는 여러 가지 방법을 시도하고 동일한 응답으로 끝납니다 : Premature end of file
. 불행히도 다른 사이트에서 어떤 긍정적 인 피드백도 얻을 수 없습니다. 아래는 내가 시도한 PHP 명령어와 그 결과이다. 다른 사이트에 문제가 있다는 것을 알게됩니다. URL을 복사하여 브라우저에 붙여 넣기 만하면됩니다. 에코 명령에서XML 쿼리에서 API로 '조기 종료'가 반환됩니다.
$url = "https://cli-cert.emdeon.com/servlet/XMLServlet?request=<?xml version='1.0'?>";
$url .= "<REQUEST userid='p_panda1' password='practice00' facility='3003154010'>";
$url .= "<OBJECT name='clinicalreport' op='search_filedelivery'>";
$url .= "<receivingorganization>3003154010</receivingorganization>";
$url .= "<creation_datetime_from>09/01/2014</creation_datetime_from>";
$url .= "<creation_datetime_to>10/10/2014</creation_datetime_to>";
$url .= "<is_downloaded>n</is_downloaded></OBJECT></REQUEST>";
$myXML = simplexml_load_file($url);
echo "<pre>";
print_r($myXML);
$postdata = file_get_contents($url);
echo "<pre>";
print_r($postdata);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo "<pre>";
echo $response,"<br>";
출력 :
SimpleXMLElement Object
(
[0] => Premature end of file.
)
Premature end of file.
Premature end of file.
이것은 효과가 있습니다. url_encode를 urlencode로 변경해야했습니다. – user3861385
위대한 :) 나는 그것을 실제로 urlencode()로 변경했습니다. – vrijdenker