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

Reply via email to