Исходящий API-запрос разработчика efax с использованием EHttpClient Yii не работает

Я использую расширение EHttpClient yii.
Мой код:

$file = file_get_contents($path, true);

Yii::import('ext.EHttpClient.*');

$client = new EHttpClient('https://secure.efaxdeveloper.com/EFax_WebFax.serv', array(
'maxredirects' => 3,
'timeout'      => 30,
'Content-Type' => 'application/x-www-form-urlencoded',
'adapter'      => 'EHttpClientAdapterCurl'));

$client->setParameterPost(array('id'=>urlencode("2313125942"), 'xml'=>urlencode($file)));SiteHelper::printShow($client);

$response = $client->request("POST");

var_dump($response->isSuccessful());
SiteHelper::printShow($response);

Мои данные XML:

<?xml version="1.0"?>
<OutboundRequest>
<AccessControl>
<UserName>b23s2323</UserName>
<Password>b23s2323</Password>
</AccessControl>
<Transmission>

<TransmissionControl>
<Resolution>STANDARD</Resolution>
</TransmissionControl>

<DispositionControl>
<DispositionLevel>BOTH</DispositionLevel>
<DispositionEmails>
<DispositionEmail>
<DispositionAddress>[email protected]</DispositionAddress>
</DispositionEmail>
</DispositionEmails>
</DispositionControl>

<Recipients>
<Recipient>
<RecipientFax>8189790412</RecipientFax>
</Recipient>
</Recipients>

<Files>
<File>
<FileContents>Base64 pdf here</FileContents>
<FileType>pdf</FileType>
</File>
</Files>

</Transmission>
</OutboundRequest>

Информация моего запроса:

EHttpClient Object
(
[config:protected] => Array
(
[maxredirects] => 3
[strictredirects] =>
[useragent] => EHttpClient
[timeout] => 30
[adapter] => EHttpClientAdapterCurl
[httpversion] => 1.1
[keepalive] =>
[storeresponse] => 1
[strict] => 1
[output_stream] =>
[encodecookies] => 1
[rfc3986_strict] =>
[content-type] => application/x-www-form-urlencoded
)

[adapter:protected] =>
[uri:protected] => EUriHttp Object
(
[_username:protected] =>
[_password:protected] =>
[_host:protected] => secure.efaxdeveloper.com
[_port:protected] => 443
[_path:protected] => /EFax_WebFax.serv
[_query:protected] =>
[_fragment:protected] =>
[_regex:protected] => Array
(
[alphanum] => [^\W_]
[escaped] => (?:%[\da-fA-F]{2})
[mark] => [-_.!~*'()\[\]]
[reserved] => [;\/?:@&=+$,]
[unreserved] => (?:[^\W_]|[-_.!~*'()\[\]])
[segment] => (?:(?:(?:[^\W_]|[-_.!~*'()\[\]])|(?:%[\da-fA-F]{2})|[:@&=+$,;])*)
[path] => (?:\/(?:(?:(?:[^\W_]|[-_.!~*'()\[\]])|(?:%[\da-fA-F]{2})|[:@&=+$,;])*)?)+
[uric] => (?:[;\/?:@&=+$,]|(?:[^\W_]|[-_.!~*'()\[\]])|(?:%[\da-fA-F]{2}))
)

[_scheme:protected] => https
)

[headers:protected] => Array
(
)

[method:protected] => GET
[paramsGet:protected] => Array
(
)

[paramsPost:protected] => Array
(
[id] => 2313125942
[xml] => The%encoded%url%xml%data
)

[cookiejar:protected] =>
[last_request:protected] =>
[last_response:protected] =>
[redirectCounter:protected] => 0
[_unmaskStatus:protected] =>
[_queryBracketsEscaped:protected] => 1
)

Я уже прочитал документацию от https://secure.efaxdeveloper.com/downloads.jsp Исходящие уже установили все обязательные поля в данных xml и посте запроса. Но я всегда получаю эту ошибку от efax developer API:

Post Unsuccessful!
Your request has failed due to invalid data.
Please refer to our documentation prior to resubmitting.

Error Level: User
Error Message: XML data argument was not passed.

Please contact us at 888-278-8666 if you continue to encounter errors.

Сообщение об ошибке: аргумент данных XML не передан Что не так с моими данными XML?

(* Обратите внимание, что по моему запросу в качестве параметра xml post указывается кодированное содержимое файла моего xml).

0

Решение

я использовал PHP efax вместо.

PHP eFax — это класс PHP, в который входит API разработчика eFax®. Использовать PHP
eFax для автоматизации задачи отправки и получения факсов
в электронном виде с вашего веб-сервера на основе PHP.

1

Другие решения

Не используйте urlencode. Просто установите тип содержимого для application / x-www-form-urlencoded.

0

По вопросам рекламы [email protected]