2012-02-28 28 views
0

なぜこれが機能していないのか悪夢を理解していますか?webserviceにcurlでXML文字列を投稿する

私はデータベースからのリードをリードプールサーバーにする必要があります。

は、ここではコードが完璧に動作し、それがウェブサービスに直接投稿正しくフォーマットされたXML文字列を作成する、サーバーを

$xmlcontent = '<?xml version="1.0"?> 
<LeadpoolImport xmlns="http://www.xxxxxx.com/ns/LeadpoolImport/Version2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<Applications>'; 

$xmldetals = '<Application> 
<LeadBatch>1</LeadBatch> 
    <Source>1</Source> 
    <MainApplicant> 
    <Applicant> 
    <Type>Client</Type> 
    <Name>'; 

    $xmlt = "<Title>".$_GET['tit']."</Title>"; 
    $xmls = "<Surname>".$_GET['sname']."</Surname>"; 


     $xmlend = '</Name> 
     <ContactDetails> 
     <ContactTelephone> 
     <TelephoneNumber>00000000000000</TelephoneNumber> 
     </ContactTelephone> 
     </ContactDetails> 
     </Applicant> 
     </MainApplicant> 
     </Application> 
     </Applications> 
     </LeadpoolImport>'; 


    $xmltext = "xmlText=$xmlcontent$xmldetals$xmlt$xmls$xmlend&RequestID=54345456"; 

    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_HEADER, 1); 
    curl_setopt($ch, CURLOPT_URL, "http://xxxxxxxxxx:xx/Leadpool/importleads.asmx?op=sendxxxxxLeadXML"); 
    //curl_setopt($ch, CURLOPT_URL, "http://nxxxxxx.xx.xx/dump.php?"); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER , 0); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, "$xmltext"); 
    $result = curl_exec ($ch); 

私は上のダンプ・ファイルに投稿

をしている使用しています。

おかげ

+0

あなたはSHUREされており、 "XMLTEXT = XMLCONTENT" を探して、そのサーバーは、それが "XMLTEXT =" せずに生のPOSTデータにXMLを期待することができますか? – Electronick

答えて

0

あなたはURLENCODE必要があり、私はそれに直接投稿しようとすると

問題は、我々はどのように私はポストを送信していて何もその問題を推測していますを取得しないで

すべてのヘルプは素晴らしいことですPOSTでデータを送信します。ライン以下

変更: $xmltext="xmlText=".urlencode("$xmlcontent$xmldetals$xmlt$xmls$xmlend")."&RequestID=54345456";

関連する問題