Я пытаюсь общаться с SOAP-сервером, и я отправляю данные на сервер, но он отклоняет формат даты, который я использую. Я буквально пробовал все в течение последних двух дней, и, насколько я вижу, формат верен. Это код, который я использую для создания даты. Я прочитал подобные вопросы, но я не могу найти ответа ни в одном из них.
$_dateTo=date('Y-m-d');
Output
2015-01-28
Это ошибка, которую он генерирует.
SoapFault Object ( [message:protected] => Date to is in wrong format, should be: 'YYYY-MM-DD' [string:Exception:private]
Это XML
<message name="webrequestRequest">
<part name="studentId" type="xsd:integer"/>
<part name="type" type="xsd:string"/>
<part name="dateFrom" type="xsd:date"/>
<part name="dateTo" type="xsd:date"/>
<part name="description" type="xsd:string"/>
<part name="extraField1" type="xsd:string"/>
<part name="extraField2" type="xsd:string"/>
<part name="extraField3" type="xsd:string"/>
</message>
Попробуйте следующее и посмотрите, не дают ли вам каких-либо ошибок
$dateFrom = new DateTime();
$dateTo = new DateTime();
$writer = new XMLWriter();
$writer->openMemory();
$writer->startDocument('1.0', 'UTF-8');
$writer->startElement('message');
$writer->startElement('part');
$writer->writeAttribute('name', 'studentId');
$writer->writeAttribute('type', 'xsd:integer');
$writer->Text();
$writer->endElement($studentId);
$writer->startElement('part');
$writer->writeAttribute('name', 'type');
$writer->writeAttribute('type', 'xsd:string');
$writer->Text($type);
$writer->endElement();
$writer->startElement('part');
$writer->writeAttribute('name', 'dateFrom');
$writer->writeAttribute('type', 'xsd:date');
$writer->Text($dateFrom->format('Y-m-d'));
$writer->endElement();
$writer->startElement('part');
$writer->writeAttribute('name', 'dateTo');
$writer->writeAttribute('type', 'xsd:date');
$writer->Text($dateTo->format('Y-m-d'));
$writer->endElement();
$writer->startElement('part');
$writer->writeAttribute('name', 'description');
$writer->writeAttribute('type', 'xsd:string');
$writer->Text($description);
$writer->endElement();
$writer->startElement('part');
$writer->writeAttribute('name', 'extraField1');
$writer->writeAttribute('type', 'xsd:string');
$writer->Text($extraField1);
$writer->endElement();
$writer->startElement('part');
$writer->writeAttribute('name', 'extraField2');
$writer->writeAttribute('type', 'xsd:string');
$writer->Text($extraField2);
$writer->endElement();
$writer->startElement('part');
$writer->writeAttribute('name', 'extraField3');
$writer->writeAttribute('type', 'xsd:string');
$writer->Text($extraField3);
$writer->endElement();
$writer->endElement(); // /message
$writer->endDocument();
$message = $writer->outputMemory(true);
Не забудьте сначала задать свои значения.