我有一个噩梦,理解为什么这不起作用。
我需要将数据库中的潜在客户发布到潜在客户服务器。
这是使用
的代码 $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);
当我发布到服务器上的转储文件时,它会创建一个格式正确的xml字符串,当直接发布到Web服务时,它可以正常工作。
问题是,当我尝试直接发帖时,我们没有得到任何猜测我发送帖子的问题
任何帮助都会很棒
感谢
答案 0 :(得分:0)
你应该在POST中urlencode数据发送。
更改以下行:
$xmltext="xmlText=".urlencode("$xmlcontent$xmldetals$xmlt$xmls$xmlend")."&RequestID=54345456";