[英]Using REST to Send XML in PHP using Httpful
我設法讓一個SOAP客戶端為客戶端工作,但我現在正嘗試將REST用於稍微不同的項目。 我正在使用Httpful。 從我所讀到的,我需要的是為了做我被問過的事情。
到目前為止這是我的代碼。
/* MAIN RESTFUL */
$xml_file = './Project.xml';
$xsd_file = './Project.xsd';
$end_uri = 'https://****.com/Service.svc/CreateProject';
/* TEMP TEXTAREA FIELD */
if(!isset($_POST['submit']))
$_xml = file_get_contents($xml_file);
else
$_xml = $_POST['xml_input'];
echo '<form method="post" action=""><textarea name="xml_input" rows="10" cols="100">' . $_xml . '</textarea><br /><input type="submit" name="submit" value="Send"></form><br /><a href="./">Reset Form</a><br /><br />';
/* END TEMP TEXTAREA FIELD */
if(isset($_POST['submit']))
$xml_file = $_POST['xml_input'];
if(isset($_POST['submit']))
{
$xsd_validate = new DOMDocument();
$xsd_validate->loadXML($xml_file);
if($xsd_validate->schemaValidate($xsd_file))
$sendXML = true;
if($sendXML == true)
{
require('./httpful-master/bootstrap.php');
$request = \Httpful\Request::post($end_uri)
->body($xml_file)
->sendsXml()
->send();
if($request)
echo 'SENT!';
}
}
我正在與之合作的人對REST也不是很了解,但顯然有一種方法可以從發送的請求中檢索響應。 有誰知道,或者至少可以指出我正確的方向,來解決這個問題?
謝謝。
編輯:對不起,只是詳細說明。 XML被放入textarea字段,然后根據XSD文件進行驗證。 如果成功,則會將該XML發布到REST端點。
發送調用的返回值(代碼中名為$ request)實際上是一個Httpful :: Response對象,包含來自http-call的響應。
嘗試echo $ request-> body; 而不是echo'SENT!';
並且記得總是為if-expressions編寫塊,你可以通過跳過它來創建很難找到bug :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.