axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Bunzli" <David_Bun...@health.qld.gov.au>
Subject WSDL element restrictions
Date Thu, 06 Mar 2008 00:51:01 GMT
Hi all,
 
I haven't been able to get restrictions to consistently work - enumerations work, but not
length restrictions. I've tried both Axis2 v1.1.1 (my production version) and Axis2 v1.3 (just
in case v1.3 fixed this) with no success. Does anyone have any ideas why?
 
To help, here are the relevant types...
 
   <!-- This restriction works. The generated class checks for these values -->
   <xsd:simpleType name="CrlChecking">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Not required" />
     <xsd:enumeration value="Desirable" />
     <xsd:enumeration value="Mandatory" />
    </xsd:restriction>
   </xsd:simpleType>
 
   <!-- This restriction doesn't work. The generated class doesn't contain any length checks
-->
   <xsd:simpleType name="EndUserIdentifier">
    <xsd:restriction base="xsd:string">
     <xsd:minLength value="1" />
     <xsd:maxLength value="255" />
    </xsd:restriction>
   </xsd:simpleType>
 
Here is the complete WSDL...
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<wsdl:definitions
 xmlns:eSig="urn:SigningServices_v1_0_0.secureServices.health.qld.gov.au"
 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
 xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
 name="SigningServices_v1_0_0"
 targetNamespace="urn:SigningServices_v1_0_0.secureServices.health.qld.gov.au">
 <wsdl:types>
  <xsd:schema
   targetNamespace="urn:SigningServices_v1_0_0.secureServices.health.qld.gov.au"
   xmlns:eSig="urn:SigningServices_v1_0_0.secureServices.health.qld.gov.au">
   <xsd:import namespace="http://www.w3.org/2005/05/xmlmime" schemaLocation="xmlmime.xsd"
/>
 
   <!-- This restriction works -->
   <xsd:simpleType name="CrlChecking">
    <xsd:restriction base="xsd:string">
     <xsd:enumeration value="Not required" />
     <xsd:enumeration value="Desirable" />
     <xsd:enumeration value="Mandatory" />
    </xsd:restriction>
   </xsd:simpleType>
 
   <!-- This restriction doesn't work -->
   <xsd:simpleType name="EndUserIdentifier">
    <xsd:restriction base="xsd:string">
     <xsd:minLength value="1" />
     <xsd:maxLength value="255" />
    </xsd:restriction>
   </xsd:simpleType>
 
   <xsd:complexType name="Document">
    <xsd:sequence>
     <xsd:element name="ID" type="xsd:string" minOccurs="1" maxOccurs="1" />
     <xsd:element name="File" type="xmime:base64Binary" minOccurs="1" maxOccurs="1" xmime:expectedContentTypes="application/binary"
/>
     <xsd:element name="Filename" type="xsd:string" minOccurs="1" maxOccurs="1" />
    </xsd:sequence>
   </xsd:complexType>
 
   <xsd:complexType name="Certificate">
    <xsd:sequence>
     <xsd:element name="Issuer" type="xsd:string" minOccurs="1" maxOccurs="1" />
     <xsd:element name="Subject" type="xsd:string" minOccurs="1" maxOccurs="1" />
     <xsd:element name="SerialNumber" type="xsd:string" minOccurs="0" maxOccurs="1" />
     <xsd:element name="ValidFrom" type="xsd:dateTime" minOccurs="0" maxOccurs="1" />
     <xsd:element name="ValidTo" type="xsd:dateTime" minOccurs="0" maxOccurs="1" />
    </xsd:sequence>
   </xsd:complexType>
 
   <xsd:element name="VerifyRequest">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="SignID" type="xsd:long" minOccurs="1" maxOccurs="1" />
      <xsd:element name="EndUserIdentifier" type="eSig:EndUserIdentifier" minOccurs="1"
maxOccurs="1" />
      <xsd:element name="Document" type="eSig:Document" minOccurs="1" maxOccurs="2" />
      <xsd:element name="CrlChecking" type="eSig:CrlChecking" minOccurs="0" maxOccurs="1"
/>
      <xsd:element name="SignatoryDetailsRequired" type="xsd:boolean" minOccurs="0" maxOccurs="1"
/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
 
   <xsd:element name="VerifyResponse">
    <xsd:complexType>
     <xsd:sequence>
      <xsd:element name="RequestID" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="isVerified" type="xsd:boolean" minOccurs="1" maxOccurs="1" />
      <xsd:element name="CrlStatus" type="xsd:string" minOccurs="0" maxOccurs="1" />
      <xsd:element name="Certificate" type="eSig:Certificate" maxOccurs="1" minOccurs="0"
/>
     </xsd:sequence>
    </xsd:complexType>
   </xsd:element>
 

   <xsd:complexType name="SigningServiceError">
    <xsd:sequence>
     <xsd:element minOccurs="0" maxOccurs="1" name="RequestID" type="xsd:string" />
     <xsd:element minOccurs="1" maxOccurs="1" name="Fault" type="xsd:string" />
     <xsd:element minOccurs="1" maxOccurs="1" name="Datetime" type="xsd:dateTime" />
    </xsd:sequence>
   </xsd:complexType>
 
   <xsd:element name="ApplicationError" type="eSig:SigningServiceError" />
   <xsd:element name="SystemError" type="eSig:SigningServiceError" />
  </xsd:schema>
 </wsdl:types>
 
 <wsdl:message name="VerifyRequest">
  <wsdl:part name="parameters" element="eSig:VerifyRequest" />
 </wsdl:message>
 <wsdl:message name="VerifyResponse">
  <wsdl:part name="parameters" element="eSig:VerifyResponse" />
 </wsdl:message>
 <wsdl:message name="ApplicationError">
  <wsdl:part element="eSig:ApplicationError" name="appFault" />
 </wsdl:message>
 <wsdl:message name="SystemError">
  <wsdl:part element="eSig:SystemError" name="sysFault" />
 </wsdl:message>
 
 <wsdl:portType name="SigningServices_v1_0_0">
  <wsdl:operation name="Verify">
   <wsdl:input message="eSig:VerifyRequest" />
   <wsdl:output message="eSig:VerifyResponse" />
   <wsdl:fault name="ApplicationError" message="eSig:ApplicationError" />
   <wsdl:fault name="SystemError" message="eSig:SystemError" />
  </wsdl:operation>
 </wsdl:portType>
 
 <wsdl:binding name="SigningServices_v1_0_0SOAP" type="eSig:SigningServices_v1_0_0">
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
  <wsdl:operation name="Verify">
   <soap:operation style="document" soapAction="urn:SigningServices_v1_0_0.secureServices.health.qld.gov.au/Verify"
/>
   <wsdl:input>
    <soap:body use="literal" />
   </wsdl:input>
   <wsdl:output>
    <soap:body use="literal" />
   </wsdl:output>
   <wsdl:fault name="ApplicationError">
    <soap:fault name="ApplicationError" use="literal" />
   </wsdl:fault>
   <wsdl:fault name="SystemError">
    <soap:fault name="SystemError" use="literal" />
   </wsdl:fault>
  </wsdl:operation>
 </wsdl:binding>
 
 <wsdl:service name="SigningServices_v1_0_0">
  <wsdl:documentation>
   This web service facilitates the digital signing and
   verification of content while avoiding the need to implement
   the technical, as well as physical and procedural,
   complexities within user applications.
  </wsdl:documentation>
  <wsdl:port binding="eSig:SigningServices_v1_0_0SOAP" name="SigningServices_v1_0_0SOAP">
   <soap:address location="http://localhost:8080/SecureServices/Services/Signing_v1_0_0"
/>
  </wsdl:port>
 </wsdl:service>
</wsdl:definitions>


>>> "David Bunzli" David_Bunzli@health.qld.gov.au> 25/02/2008 3:51 pm >>
( mailto:David_Bunzli@health.qld.gov.au> )
Hi,
 
Where does Axis2 enforce WSDL element restrictions? For example, if you wish a string element
to have a minLength of 1 and maxLength of 3, are requests rejected by Schema validation if
they don't conform? Or are these restrictions in the generated classes from Wsdl2Java?
 
Regards,
David

*****************************************************************
This email, including any attachments sent with it, is
confidential and for the sole use of the intended recipient(s).
This confidentiality is not waived or lost, if you receive it and
you are not the intended recipient(s), or if it is transmitted/
received in error.

Any unauthorised use, alteration, disclosure, distribution or
review of this email is strictly prohibited.  The information
contained in this email, including any attachment sent with
it, may be subject to a statutory duty of confidentiality if it
relates to health service matters.

If you are not the intended recipient(s), or if you have
received this email in error, you are asked to immediately
notify the sender by telephone collect on Australia
+61 1800 198 175 or by return email.  You should also
delete this email, and any copies, from your computer
system network and destroy any hard copies produced.

If not an intended recipient of this email, you must not copy,
distribute or take any action(s) that relies on it; any form of
disclosure, modification, distribution and/or publication of this
email is also prohibited.

Although Queensland Health takes all reasonable steps to
ensure this email does not contain malicious software,
Queensland Health does not accept responsibility for the
consequences if any person's computer inadvertently suffers
any disruption to services, loss of information, harm or is
infected with a virus, other malicious computer programme or
code that may occur as a consequence of receiving this
email.

Unless stated otherwise, this email represents only the views
of the sender and not the views of the Queensland Government.
****************************************************************


Mime
View raw message