Hi Peter,

Since 3.3.x there is strict requirement for targetNamespace attribute
value[1]: it should be URI; according to [2] only double slash "//"
allowed.

Please update your WSDL with
targetNamespace="http://example.com.au/otherstuff";

1. https://www.w3.org/TR/2001/NOTE-wsdl-20010315#_document-n
2. https://www.w3.org/2002/11/dbooth-names/rfc2396-numbered_clean.htm L666

On 5/17/19, Peter Condick <peter.cond...@digio.com.au> wrote:
> Hi
>
> We're using CXF in our project and we have come across an issue moving from
> 3.2.9 to 3.3.2 (and also affects 3.3.1).
>
> We are replacing old legacy systems with new systems using CXF. This means
> unfortunately that we can not change any of the wsdl files.
>
> Some of the wsdl files we have to use have namespaces declared like
>
> <wsdl:definitions name="ExampleService_v1_0"
> targetNamespace="http:/example.com.au/otherstuff"  ... other name
> spaces defined>
>
>
> Note only one / after the http: in the targetNamespace
>
> With 3.2.x when we generated java classes from a wsdl like this it would be
> put in the package
>
> au.com.example.otherstuff
>
> Now with 3.3.x the classes are generated in the package
>
> au.com.xample.otherstuff
>
> note the e is removed from example
>
> Is this intended behaviour or is this a bug? If it is intended behaviour is
> there a way to make it behave in the old way? If it is a bug is it one you
> are likely to fix?
>
> The code generated in the xample package works fine. But this is a problem
> for us as it means if we upgrade the version of CXF in one of our existing
> repositories all the imports in our code will break. Correcting the wsdl
> files to have http:// rather than http:/ would be the ideal I agree but
> unfortunately we can't do that when we are changing legacy implementations.
>
> Thanks very much. We appreciate all the work you do.
>
> Pete
>

Reply via email to