Jaki byłby ten kod w ColdFusion?Przetłumacz PHP PUT żądanie HTTP na ColdFusion
protected function httpPut($url, $params = null, $data = null)
{
$fh = fopen('php://memory', 'rw');
fwrite($fh, $data);
rewind($fh);
$ch = curl_init($url);
$this->addOAuthHeaders($ch, $url, $params['oauth']);
curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_INFILE, $fh);
curl_setopt($ch, CURLOPT_INFILESIZE, strlen($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$resp = $this->curl->addCurl($ch);
fclose($fh);
return $resp;
}
Mam coś podobnego, ale wygląda na to, że nie działa.
<cffile action="write" file="d:\my\directory\path\test.xml" output="#arguments.requestXML#">
<cfhttp url="#oaAccessTokenURL#" method="#arguments.requestType#" charset="UTF-8">
<cfheader name="Authorization" value="#oauthheader#">
<cfhttpparam type="file" name="Course" file="d:\my\directory\path\test.xml">
</cfhttp>
nie wiem wystarczająco dużo o PHP, aby zrozumieć, jak zmienna $ dane (który jest po prostu ciąg danych XML) jest coraz wprowadzone do żądania HTTP i jak powielić że w ColdFusion.
Nie jestem guru albo php. Ale zgaduję, że to jest wysyłanie XML-a w "ciele" żądania. Spróbuj użyć cfhttpparam type = "body" i użyj # requestXML # jako wartości. – Leigh
W instalacji Coldfusion jest już biblioteka http Apache, sprawdź, jak można to zrobić w Javie, prawdopodobnie najszybszym i najbardziej konfigurowalnym rozwiązaniu, jakie mogłem teraz wymyślić. –
@Leigh - Właśnie próbowałem tego i wciąż dostaję błąd. Jeśli to pomaga, otrzymuję błąd: Nieobsługiwany typ mediów "application/octet-stream" – Jason