Unsure, but JAXB binding AFAIK does not support that restrictions that
you are doing below, if you're using that it might be stripping it out
of the WSDL.
It might be useful to see what Metro's wsimport does to your WSDL, and
compare the two:
http://www.jroller.com/gmazza/entry/web_service_tutorial
Glen
On 10/01/2011 04:08 AM, Bengt Rodehav wrote:
Hello,
We're using CXF 2.4.2 to provide a web service API to a legacy application.
We are in the process of increasing the quality of the API in a number of
ways.
First, we are typing the interface more strictly. E g instead of specifying
that a value is a string, we say that it's exactly one character long and
also enumerate it's valid values. We also try to add documentation to the
WSDL. The following is a typical case:
<xs:simpleType name="MyType">
<xs:annotation>
<xs:documentation>
A = ...
B = ...
C = ...
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="A|B|C" />
</xs:restriction>
</xs:simpleType>
However, even if we feed the above WSDL to CXF (we use WSDL first), in
runtime when asking for the WSDL (using ...?wsdl), the above information is
gone. The type is simply a string and the documentation is gone.
Why is this? Is it a bug? What is best practice regarding strict interfaces
and documentation using CXF?
/Bengt
--
Glen Mazza
Talend - http://www.talend.com/products/tsf
Blog - http://www.jroller.com/gmazza
Twitter - glenmazza