Hello,
I've noticed subtle differences between the classes generated by wsimport
and the codegen plugin.
In particular:

JAX-WS RI 2.1.1 in JDK 6
and
CXF 2.2.1

Consider this meteo web-service :
http://www.webservicex.net/globalweather.asmx?WSDL

It defines only 1 service, GlobalWeather. According to JaxWs specs, a
factory class with the same name must be generated.
This class has notable differences when generated by wsimport and codegen
plugin.

- constructors:
* the wsimport only defines 2 constructors:
public GlobalWeather(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }
    public GlobalWeather() {
        super(GLOBALWEATHER_WSDL_LOCATION, new QName("
http://www.webserviceX.NET";, "GlobalWeather"));
    }
* the codegen defines 3 constructors:
    public GlobalWeather(URL wsdlLocation) {
        super(wsdlLocation, SERVICE);
    }
    public GlobalWeather(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }
    public GlobalWeather() {
        super(WSDL_LOCATION, SERVICE);
    }

- methods: the cxf-codegen generated class provides several more methods:
getGlobalWeatherHttpPost()
getGlobalWeatherHttpPost(WebServiceFeature... features)
getGlobalWeatherSoap12()
getGlobalWeatherSoap12(WebServiceFeature... features)
getGlobalWeatherHttpGet()
getGlobalWeatherHttpGet(WebServiceFeature... features)

My question is: is cxf 'richer' than jaxws 'reference' (??) implementation
for pratical reasons ?
Is it correct to rely on those cxf-only methods to implement particular
features ?

thanks
valerio
-- 
http://www.linkedin.com/in/vschiavoni
http://jroller.com/vschiavoni

Reply via email to