我正在尝试与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>
答案 0 :(得分:0)
尝试以下操作,看看它是否会给您带来任何错误
$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);
不要忘记先设置你的价值。