2011-09-02 7 views
0

컬링을 사용하여 XML에 게시 할 때이 문제를 해결하기 위해 제 머리카락을 당기는 중이며 잘못된 요청 오류가 발생합니다. 내 코드 :컬링을 사용하여 XML을 게시 할 때 잘못된 요청 오류가 발생했습니다.

$post_string = '<XML DATA>'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HTTPHEADER, 
      array('Content-Type: text/xml; charset=utf-8', 'SOAPAction: ""')); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$data = curl_exec($ch); 

var_dump($data); 

잘못된 아이디어가 있습니까? 는 XML이 유효한 XML이 아닙니다 때문에 아래

내 XML 문자열

<?xml version="1.0" encoding="utf-8"?> 
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 
<soap:Body> 
<SubmitLead xmlns=""> 
<xmlLead> 
<Lead> 
<General> 
<dealer type="CMH">273</dealer> 
<source ref="stockid">3256</source> 
<enquiry></enquiry> 
<subtype></subtype> 
<comment></comment> 
</General> 
<Prospect> 
<title>n.a</title> 
<name>j</name> 
<surname>m</surname> 
<email>[email protected]</email> 
<home>home</home> 
<work>n.a</work> 
<mobile>4545</mobile> 
<idnumber>n.a</idnumber> 
<comment>4545</comment> 
<area>n.a</area> 
</Prospect> 
<Item> 
<id>25DLC61717</id> 
<makeAsked></makeAsked> 
<modelAsked></modelAsked> 
<yearAsked></yearAsked> 
<mileageAsked></mileageAsked> 
<priceAsked></priceAsked> 
<colourAsked></colourAsked/> 
<registration></registration> 
<vin></vin> 
<purchaseDate/></purchaseDate> 
</Item> 
</Lead> 
</xmlLead> 
</SubmitLead> 
</soap:Body> 
</soap:Envelope> 

답변

0

아마 잘못된 요청입니다? 내 루비 코드

+0

xml을 soapclient.com에서 테스트했습니다. ok입니다. 헤더와 관련이 있으며 IIS가 헤더를 거부하는 이유는 무엇입니까? –

0

나는 그런 식으로

resp = http.post("/soap/service", xml, { 'Content-Type' => 'application/soap+xml; charset=utf-8', 'SOAPAction' => "/soap/service/Request" }) 

를하고는 차이가 머리글 만

또한

URL이 HTTPS는 계획이 있다면 아마 당신은 보안 연결을 사용해야에 너무

작동?

관련 문제