Hi all! I use Axis 1.1 as a WS provider for Java classes. The WSDL file is generated on-the-fly by Axis. I want to map java.util.Date parameters to "xsd:date" to get rid of timezone shiftings, as WiKi recommends (http://wiki.apache.org/ws/FrontPage/Axis/DotNetInterop) inside WSDL (the default mapping is "xsd:dateTime"), and placed following typeMapping under <deployment>:
<typeMapping qname="xsd:date" xmlns:xsd="http://www.w3.org/2001/XMLSchema" languageSpecificType="java:java.util.Date" serializer="org.apache.axis.encoding.ser.CalendarSerializerFactory" deserializer="org.apache.axis.encoding.ser.CalendarDeserializerFactory" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/> But this didn't change anything in generated WSDL. Is there any right way to do this? Looking into Axis code I found that <typeMapping> is used for WSDL generation only if no default mapping exists, e.g. for custom types. May be latest version (1.2rc3) does it? I cannot find out because 1.2rc3 doesn't work at all with our classes. So my solution was to change JavaProvider.initServiceDesc() (just give serviceDescription the mapping from WSDD), but I don't like it beacause it will be eventually washed out by new Axis version.. And the mapping-to-WSDL still doesn't work for those <typemapping> elements under <service> elements. I guess this would be useful feature, what do you think? --- With best regards, Artem Vasiliev Senior software developer DB RDC, Luxoft, IBS group of companies
