【发布时间】:2010-05-31 21:48:54
【问题描述】:
我正在尝试使用基于 Java 的 web 服务并有肥皂请求:
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body xmlns:NS1="http://something/">
<NS1:getRequest id="1">
<sessionId xsi:type="xsd:string"></sessionId>
<reportType xsi:type="NS1:reportType">ALL</reportType>
<xsd:dateFrom xsi:type="xsd:dateTime">2010-05-30T23:29:43.088+02:00</xsd:dateFrom>
<xsd:dateTo xsi:type="xsd:dateTime">2010-05-31T23:29:43.728+02:00</xsd:dateTo>
</NS1:getRequest>
<parameters href="#1" />
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
它不起作用,因为 web 服务不将日期识别为参数。当我改变时
<xsd:dateFrom xsi:type="xsd:dateTime">2010-05-30T23:29:43.088+02:00</xsd:dateFrom>
<xsd:dateTo xsi:type="xsd:dateTime">2010-05-31T23:29:43.728+02:00</xsd:dateTo>
到
<dateFrom xsi:type="xsd:dateTime">2010-05-30T23:29:43.088+02:00</xsd:dateFrom>
<dateTo xsi:type="xsd:dateTime">2010-05-31T23:29:43.728+02:00</xsd:dateTo>
一切正常,但 Delphi(无需更改 Delphi 源代码)不允许更改生成的 XML,它只有一些选项。是否可以设置转换选项,使TSXDateTime 转换为<dateFrom,而不是<xsd:dateFrom 标记?你遇到过这个问题吗?
【问题讨论】:
标签: delphi datetime soap xsd delphi-7