如何在'Request'对象中设置XML文件(使用'setFiles'方法) Zend Framework 2



>我正在尝试使用REST API(第三方(,需要发送XML文件和请求。我正在尝试通过以下方式设置文件:

我的代码:

use ZendHttpRequest;
use ZendHttpClient;
use ZendStdlibParameters;
$request = new Request();
$request->getHeaders()->addHeaders(array(
'Content-Type' => 'text/xml; charset=UTF-8'
));
$request->setUri("<third-party-api-url>");
$request->setMethod('POST');
$request->setFiles(new Parameters(array("/path/to/xml/file.xml")));
$client = new Client();
$client->setAuth("<username>", "<password>", ZendHttpClient::AUTH_BASIC);
$response = $client->dispatch($request);
print_r($response->getBody());

执行上述代码时,我得到以下响应:

[解码 xml 正文时出错:org.xml.sax.SAXParseException;过早结束 的文件。

我猜XML正在截断为零长度的文件,这导致了此错误。任何人都可以帮助我指导如何在请求对象中发送文件吗?

提前致谢

迪利普

请改用客户端:

$client = new Client();
$client->setRequest($request);
$client->setFileUpload("/path/to/xml/file.xml", 'file1');
$response = $client->send();

相关内容

最新更新