api — микроинтеграция Ingram с использованием переполнения стека

Я пытаюсь отправить XML-запрос на встроенный микро-URL код, показанный ниже

 <?php

$url = "https://newport.ingrammicro.com/mustang";

$post_string = '<BaseRateRequest>
<Version1.0></Version1.0>
<TransactionHeader>
<CountryCode>FT</CountryCode>
<LoginID>username</LoginID>
<Password>password</Password>
<TransactionID>TESTAIC12356</TransactionID>
</TransactionHeader>
<BaseRateInformation>
<BranchOrderNumber>4066000</BranchOrderNumber>
<PostalCode>L5R1V4</PostalCode>
<Suffix />
</BaseRateInformation>
</BaseRateRequest>';


$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "XML=".$post_string);

$data = curl_exec($ch);
print_r($data);
?>

Но я не знаю, как запрашивать и отвечать в XML. Я получаю ошибку: Invalid Inbound XML Document,

Что это значит и как это решить?

0

Решение

Вы должны удалить «XML =»

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);

и, возможно, также добавьте заголовок XML:

<?xml version="1.0" encoding="UTF-8"?>
<BaseRateRequest>
...
</BaseRateRequest>
1

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

Других решений пока нет …

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