2011-08-31 7 views
2

컬링을 사용하여 XML 데이터를 게시하려고합니다. 나는이 코드 라인을 사용하고 있습니다 : 나는 응답을받을 때XML을 컬링으로 전달하는 방법

  $data = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n"; 
    $data.= "<contacts>\r\n"; 
    $data.= "<contact>\r\n"; 
    $data.= "<firstName>$firstName</firstName>\r\n"; 
    $data.= "<lastName>$lastName</lastName>\r\n"; 
    $data.= "<email>$Email_Address</email>\r\n"; 
    $data.= "<status>normal</status>\r\n"; 
    $data.= "<contact>\r\n"; 
    $data.= "</contacts>\r\n"; 

    $url = "https://app.sandbox.icontact.com/icp/a/".$account_id."/c/".$client_folder_id."/contacts"; 
     $handle = curl_init(); 
     curl_setopt($handle, CURLOPT_URL, $url); 
     curl_setopt($handle, CURLOPT_HTTPHEADER, $headers); 
     curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($handle, CURLOPT_POST, true); 
     curl_setopt($handle, CURLOPT_POSTFIELDS,$data); 
     $response = curl_exec($handle); 

, 그것은 나에게이 메시지를 보여줍니다

  <?xml version="1.0" encoding="UTF-8"?> 
      <response> 
     <errors> 
    <error>The XML that was passed in your request was malformed. Please provide valid XML.</error> 
     </errors> 
      </response> 

내가 XML 입력에 변경할 필요가있는 무엇. 일반적으로

감사

+0

위해 RESTClient –

답변

0

그것의 당신이 당신이 그것을 보내기 전에 인코딩을 XML을 URL에 필요한 문제. $data = urlencode($data)

이는 등 %3C?xml version="1.0" encoding="UTF-8"?%3E

+0

에서 잘 작동이 XML 코드를 같이 출력을 줄 것이다 시도하지만 XML로 다른 점은 여전히 ​​같은 문제 –

+0

는 \ 연구 \ n뿐만 아니라 제거하려고 점점. urlencoding과 함께 시도해보십시오. – ghostJago

+1

해결책을 찾았습니다. http://www.xmlvalidation.com/index.php?id=1&L=0 및 fount 오류를 사용하여 연락처 태그를 닫는 중이었습니다 –

관련 문제