не допустимое значение AllXsd

Я получил это от клиентского запроса Мыла:

Исключение: исключение SoapFault: [soap:Client] Сервер не мог считать запрос.---> существует ошибка в XML-документе (2, 273).---> строка '2010-5-24' не является допустимым значением AllXsd. в/path/filinet.php:21 Отслеживании стека: № 0 [внутренняя функция]: SoapClient-> __ вызов ('SubIdDetailsByO...', Массив) № 1/path/filinet.php (21): SoapClient-> SubIdDetailsByOfferId (Массив) {основной} № 2

Кажется, что я отправляю неправильное значение, как я форматирую свое значение в AllXsd в php?

Вот мой код:

<?php       
$start = isset($_GET['start']) ? $_GET['start'] : date("Y-m-d");
$end = isset($_GET['end']) ? $_GET['end'] : date("Y-m-d");

//define parameter array
$param = array('userName'=>'user', 'password'=>'pass', 'startDate' => $start, 'endDate' => $end, 'promotionId' => '');

//Get wsdl path
$serverPath = "https://webservices.filinet.com/affiliate/reports.asmx?WSDL";

 //Declare Soap client
 $client = new SoapClient($serverPath);
 try {
        //make the call
        $result = $client->SubIdDetailsByOfferId($param);
        //If error found display error
        if(isset($fault))
        {
            echo "Error: ". $fault;
        }
        //If no error display response
        else
        {
            //Used to display raw XML in the Web Browser
            header("Content-Type: text/xml;");
            //SubIdDetailsResult = XML results
            echo $result->SubIdDetailsByOfferIdResult;
        }
    }
    catch(SoapFault $ex) {
        echo "<b>Exception:</b> ". $ex;
    }
unset($client);
?>
13
задан Tyler Benzing 22 June 2016 в 02:03
поделиться

2 ответа

Значения AllXsd выглядят примерно так: IIRC

2010-05-24T18: 13: 00

29
ответ дан 1 December 2019 в 18:49
поделиться

Проблема заключается в формате даты $ start или $ end. Вместо того, чтобы просто извлекать данные из строки запроса с помощью $ _GET и отправлять их, вам нужно выполнить некоторую проверку целостности, чтобы убедиться, что дата соответствует требуемому формату

2010-05-24T13:46:00

Вместо использования даты ("Ymd") попробуйте использовать:

$startDate = date("Y-m-d") . 'T' . date("H:i:s");
0
ответ дан 1 December 2019 в 18:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: