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]

Reply via email to