Я отправляю запрос в конечную точку API, которая должна возвращать ответ на основе информации, которую я отправил.
Я получаю подтверждение успеха, но ожидаемая информация не возвращается.
мой запрос cURL указан в приведенном ниже коде, я попытался изменить время ожидания. также проверил tcpdump
на онлайн-сервере: tcpdump имеет ожидаемый ответ, но все еще не может отображаться на странице php.
на локальном хосте я использовал wireshark для отслеживания запроса и ответа, но на Wireshark я не вижу ожидаемых результатов, а также не отображается на странице при печати ответа
Примечание: ответ - это XML, который должен выглядеть следующим образом
$API_endpoint = "http://xxx.xxx.xx.xx:80/api/bill/sigqrequest";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $API_endpoint);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type:application/xml',
'g-Com:default.sp.in',
'g-Code:SP172',
'Content-Length:' . strlen($payload)
));
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
$response = curl_exec($ch);
echo $response;
я ожидаю
<BillSubResp>
<BillTrxInf>
<BillId>MC_2019_27</BillId>
<PayCntrNum>0</PayCntrNum>
<TrxSts>GF</TrxSts>
<TrxStsCode>7223;7201</TrxStsCode>
</BillTrxInf>
</BillSubResp>
<Signature>CT3r/yvVSB9dnbD59LNare2nhwWQq2vCtamcMw==</Signature>
и я получаю
<BillSubReqAck>
<TrxStsCode>7101</TrxStsCode>
</BillSubReqAck>
<Signature>QxabtcSqgr08g</Signature>
это просто подтверждение.
Что я делаю не так?
![Request-Ack](https://i.stack.imgur.com/JsQ46.png)
Я хочу получить ответ, и вместо этого я получаю это подтверждение от удаленной системы. и на tcpdump на моем онлайн-сервере я иногда вижу ответ и все еще не отображается на моей странице, когда я повторяю ответ