Oi,
Tenho um serviço no Axis que está retornando um xsd:date, e quero que ele retorne um xsd:dateTime. O retorno:
<ns1:getVpnSpecialNumbersReturn xsi:type="soapenc:Array" soapenc:arrayType="ns1:SpecialNumber[3]" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<item>
<creationTime xsi:type="xsd:date">2005-01-03</creationTime>
<number xsi:type="xsd:string">12</number>
<prefix xsi:type="xsd:boolean">true</prefix>
<specialNumberGuid xsi:type="xsd:string">944CFFDB-6B48-7B3A-35F5-E33E7B499DC8</specialNumberGuid>
<vpnGuid xsi:type="xsd:string" xsi:nil="true"/>
</item>
<item>
<creationTime xsi:type="xsd:date">2005-01-03</creationTime>
<number xsi:type="xsd:string">1743</number>
<prefix xsi:type="xsd:boolean">true</prefix>
<specialNumberGuid xsi:type="xsd:string">8290096B-AB86-AC48-FB01-6621ED77CDB0</specialNumberGuid>
<vpnGuid xsi:type="xsd:string" xsi:nil="true"/>
</item>
<item>
<creationTime xsi:type="xsd:date">2005-01-03</creationTime>
<number xsi:type="xsd:string">1773</number>
<prefix xsi:type="xsd:boolean">true</prefix>
<specialNumberGuid xsi:type="xsd:string">599B4C30-B8D3-4536-EDAE-D7989C2AA5C0</specialNumberGuid>
<vpnGuid xsi:type="xsd:string" xsi:nil="true"/>
</item>
</ns1:getVpnSpecialNumbersReturn>
Um outro serviço que retorna o mesmo objeto (mas sem array) retorna:
<ns1:getSpecialNumberReturn xsi:type="ns1:SpecialNumber">
<ns1:creationTime xsi:type="xsd:dateTime">2005-01-03T18:08:41.000Z</ns1:creationTime>
<ns1:number xsi:type="xsd:string">11</ns1:number>
<ns1:prefix xsi:type="xsd:boolean">true</ns1:prefix>
<ns1:specialNumberGuid xsi:type="xsd:string">32572072-124A-774D-5B44-6002DD91E7BF</ns1:specialNumberGuid>
<ns1:vpnGuid xsi:type="xsd:string">CFB6D4A5-C7D7-0F90-8F3D-37417C40F4F7</ns1:vpnGuid>
</ns1:getSpecialNumberReturn>
Não tenho idéia de onde posso alterar isso. O wsdl está assim para o que não funciona:
<wsdl:operation name="getVpnSpecialNumbers">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getVpnSpecialNumbersRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://abcd.webservice.abcd.com" use="encoded"/>
</wsdl:input>
<wsdl:output name="getVpnSpecialNumbersResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://abcd.webservice.abcd.com" use="encoded"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
E assim para o que funciona:
<wsdl:operation name="getSpecialNumber" parameterOrder="specialNumberGuid">
<wsdl:input message="impl:getSpecialNumberRequest" name="getSpecialNumberRequest"/>
<wsdl:output message="impl:getSpecialNumberResponse" name="getSpecialNumberResponse"/>
<wsdl:fault message="impl:OvpnBusinessException" name="OvpnBusinessException"/>
</wsdl:operation>
Tudo isso foi gerado pelo Axis quando acrescentei métodos na classe de implementação do WebService.
Alguém?
[]s
As outras classes que envolvem tempo possuem Dates e não Calendars, e mesmo assim retornam xsd:dateTime