axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Miguel Sanders1 <miguel.sand...@be.ibm.com>
Subject [Axis2] Question on xsd restriction
Date Wed, 05 Jun 2013 18:46:10 GMT
Hi guys

I've been asked recently to publish some of our existing POJOs as 
webservices using Axis2.
I'm really impressed how easy this is so thanks a lot for this great 
effort.

However, there's one thing I am currently unable to do, concerning the use 
of xsd:restrictions for my string elements (maxLength).
Currently, the generated schema from the WSDL looks like this:

       <xs:schema attributeFormDefault="qualified" 
elementFormDefault="qualified" targetNamespace="http://dps.tsm.ibm.com/xsd
">
            <xs:complexType name="ArchiveRequest">
                <xs:sequence>
                    <xs:element minOccurs="0" name="archiveFileRequest" 
nillable="true" type="ax225:ArchiveFileRequest"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="ArchiveFileRequest">
                <xs:sequence>
                    <xs:element minOccurs="0" name="checksumType" 
nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="checksumValue" 
nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="fileName" 
nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="overwrite" 
type="xs:boolean"/>
                    <xs:element minOccurs="0" name="tsmDescription" 
nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="tsmFileSpaceName" 
nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="tsmHighLevelName" 
nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="tsmLowLevelName" 
nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="tsmManagementClass" 
nillable="true" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="ArchiveResponse">
                <xs:sequence>
                    <xs:element minOccurs="0" name="archiveFileRequest" 
nillable="true" type="ax225:ArchiveFileRequest"/>
                    <xs:element minOccurs="0" name="archiveFileResponse" 
nillable="true" type="ax225:ArchiveFileResponse"/>
                    <xs:element minOccurs="0" name="resultCode" 
type="xs:int"/>
                    <xs:element minOccurs="0" name="resultMessage" 
nillable="true" type="xs:string"/>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="ArchiveFileResponse">
                <xs:sequence>
                    <xs:element minOccurs="0" name="checksumValue" 
nillable="true" type="xs:string"/>
                    <xs:element minOccurs="0" name="tsmObjectArchiveDate" 
nillable="true" type="xs:dateTime"/>
                    <xs:element minOccurs="0" name="tsmObjectID" 
type="xs:long"/>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>

However, for certain string elements in ArchiveFileRequest, I would like 
to enforce a restriction based on the maximum length of the string.
Is there a way for the generated XSD to have this enforced from the POJO 
source?
I have been reading about annotations but it's not really clear if this 
works out of the box with Axis2 or if I need another module to have this.

Any help is appreciated.



Regards,
 
Miguel Sanders
TWS/TSAMP Specialist

Phone: 32-2 339 24 21 | Mobile: 32-478 80 50 23
E-mail: miguel.sanders@be.ibm.com


Avenue Du Bourget, 42
Brussels, 1130
Belgium


International Business Machines of Belgium sprl / bvba
Siège social / Maatschappelijke zetel: Avenue du Bourget 42 Bourgetlaan, 
B-1130 Bruxelles/Brussel
N° d'entreprise / Ondernemingsnr: TVA / BTW BE 0405 912 336
RPM Bruxelles / RPR Brussel

Tenzij hierboven anders aangegeven: / Sauf indication contraire ci-dessus: 
/ Unless otherwise stated above:

International Business Machines of Belgium sprl / bvba
Siège social / Maatschappelijke zetel: Avenue du Bourget 42 Bourgetlaan, 
B-1130 Bruxelles/Brussel
N° d'entreprise / Ondernemingsnr: TVA / BTW BE 0405 912 336
RPM Bruxelles / RPR Brussel
Mime
  • Unnamed multipart/related (inline, None, 0 bytes)
View raw message