Hi from an XSD point of view, it is possible to forbid certain kinds of date-formatting by using patterns. of course, those patterns would have to be applied to the original xml-content. Cheers Wolfgang
--- Jozef Krssak <[EMAIL PROTECTED]> wrote: > Hi > > We have several wsdl and xsd files from customer and > we are using > Axis2 v1.3WSDL2Java task to create client part of > Java classes to call > Web Services. > > One problematic part of generated code commes from > XSD code: > > <xsd:simpleType name="WSTypeDate"> > <xsd:restriction base="xsd:date"> > <xsd:pattern > value='[0-9]{4}-[0-9]{2}-[0-9]{2}'/> > </xsd:restriction> > </xsd:simpleType> > > <xsd:simpleType name="WSTypeTime8"> > <xsd:restriction base="xsd:string"> > <xsd:maxLength value="6"/> > <xsd:pattern > value='[0-9]{2}:[0-9]{2}:[0-9]{2}'/> > </xsd:restriction> > </xsd:simpleType> > > <xsd:simpleType name="WSTypeDateTime"> > <xsd:restriction base="xsd:dateTime"> > <xsd:pattern > value='[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}'/> > </xsd:restriction> > </xsd:simpleType> > > <xsd:simpleType name="WSTypeUID38"> > <xsd:restriction base="xsd:string"> > <xsd:pattern > value='\{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\}'/> > </xsd:restriction> > </xsd:simpleType> > > > > Created classes WSTypeDate, WSTypeTime8, > WSTypeDateTime, WSTypeUID38 have > setter methods like: > > public void setWSTypeDate(java.util.Date param) > { > if > (java.lang.String.valueOf(param).matches("[0-9]{4}-[0-9]{2}-[0-9]{2}")) > { > this.localWSTypeDate = param; > } else { > throw new java.lang.RuntimeException(); > } > } > > public void setWSTypeTime8(java.lang.String > param) { > if > (java.lang.String.valueOf(param).matches("[0-9]{2}:[0-9]{2}:[0-9]{2}")) > { > this.localWSTypeTime8 = param; > } else { > throw new java.lang.RuntimeException(); > } > } > > public void setWSTypeDateTime(java.util.Calendar > param) { > if (java.lang.String.valueOf(param) > > .matches("[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}")) > { > this.localWSTypeDateTime = param; > } else { > throw new java.lang.RuntimeException(); > } > } > > public void setWSTypeUID38(java.lang.String > param) { > if (java.lang.String.valueOf(param) > > .matches("\\{[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}\\}")) > { > this.localWSTypeUID38 = param; > } else { > throw new java.lang.RuntimeException(); > } > } > > > When given parameter is String, then the matching of > pattern is OK, BUT if > it is Date or Calendar then it is problem due to > used String.valueOf(param) > because Date.toString() and Calendar.toString() > alaways use same String > pattern which never match given pattern and > furthermore in that case there > is no sense to check any pattern. > > My question is: Is it a bug of WSDL2Java task to > create this part of code > when XSD use restriction base xsd:date or > xsd:dateTime or is it a feature? I > think it is a bug. > > Thank you > Regards > > -- > Jozef Krššák > ____________________________________________________________________________________ Need a vacation? Get great deals to amazing places on Yahoo! Travel. http://travel.yahoo.com/ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]