I have a couple of questions re: the recently released CXF 2.6.0

We have a baseline code-first project (used for examples/testing) where we
would use the Java2WS tool from within an Ant build to generate the
WSDL/XSDs - *when using CXF 2.5.2,* this worked flawlessly.  We would get
the WSDL with the 3 generated XSDs imported into the WSDL.  We would deploy
the packaged WAR into /webapps under Tomcat and it deployed and started and
worked without issue.

Upon switching over to point the the newer 2.6.0 distribution....We use the
exact same baseline code-first project and use Java2WS tool from within an
Ant build to generate the WSDL/XSDs - HOWEVER, now *only 2 of the 3 XSDs
are being imported*.  Source classes/packages HAVE NOT been altered in any
way  and in fact, the CORRECT 3 XSDs for the expected namespace and types *ARE
created* - but the 3rd one is missing from the <import> element list in the
resulting WSDL.

*with 2.6.0 - ONLY 2 of 3 expected imports are present (but all 3 XSD are
created):*

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="BookOrderManagerService" targetNamespace="
http://webservices.book.acme.com/"; xmlns:ns1="http://util.book.acme.com/";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:tns="
http://webservices.book.acme.com/"; xmlns:xsd="
http://www.w3.org/2001/XMLSchema"; xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/";>
  <wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema";>

*<import namespace="http://webservices.book.acme.com/";
schemaLocation="BookOrderManagerService_schema1.xsd"/>
<import namespace="http://util.book.acme.com/";
schemaLocation="BookOrderManagerService_schema2.xsd"/>*

</schema>
 ...
...
SNIP
  <wsdl:service name="BookOrderManagerService">
    <wsdl:port name="BookOrderManagerServicePort"
binding="tns:BookOrderManagerServiceSoapBinding">
      <soap:address location="
http://localhost:8080/CXFTest11_26WS/services/BookOrderManagerServicePort"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>


*with 2.5.2 - all 3 expected imports are present:*

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="BookOrderManagerService" targetNamespace="
http://webservices.book.acme.com/"; xmlns:ns1="http://util.book.acme.com/";
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:tns="
http://webservices.book.acme.com/"; xmlns:xsd="
http://www.w3.org/2001/XMLSchema"; xmlns:soap="
http://schemas.xmlsoap.org/wsdl/soap/";>
  <wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema";>

*<import namespace="http://webservices.book.acme.com/";
schemaLocation="BookOrderManagerService_schema1.xsd"/>
<import namespace="http://util.book.acme.com/";
schemaLocation="BookOrderManagerService_schema2.xsd"/>
<import namespace="http://dvo.services.book.acme.com/";
schemaLocation="BookOrderManagerService_schema3.xsd"/>*

</schema>
 ...
...
SNIP
  <wsdl:service name="BookOrderManagerService">
    <wsdl:port name="BookOrderManagerServicePort"
binding="tns:BookOrderManagerServiceSoapBinding">
      <soap:address location="
http://localhost:8080/CXFTest11WS/services/BookOrderManagerServicePort"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
*
The content of the XSDs created, are IDENTICAL with either version
however.*Is this a possible JIRA candidate item?


*Second issue/item* (and I am sure I missed this somewhere in the
announcement) - it appears 2 Spring related JARs are not included any
longer - in particular:

>From the 2.5.2 distribution: *spring-web-3.0.6.RELEASE.jar *WAS included
but NO such equivalent appears in the 2.6.0 distribution (those that are,
are labeled with ..3.0.7.RELEASE...).

Having *had a web.xml in the original WAR file (based on 2.5.2)  that
looked like this*:

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="
http://java.sun.com/xml/ns/javaee"; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";>
    <display-name>CXFTest11WS</display-name>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/cxf-beans.xml</param-value>
    </context-param>
    <listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <description>
        Apache CXF Endpoint</description>
        <display-name>cxf</display-name>
        <servlet-name>cxf</servlet-name>

<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>cxf</servlet-name>
        <url-pattern>
        /services/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>60</session-timeout>
    </session-config>
</web-app>

... of course now no longer works since the referenced *ContextLoaderListener
*cannot be found using the JARs of the 2.6.0 distribution.  The WAR file
created and defined this way (web.xml) worked perfectly under 2.5.2.  The
same won't deploy under Tomcat at the moment (until I can figure out what
to change).  However, I assume we have to change how this is done now
because 2.6.0 has itself undergone some changes requiring a different
approach be taken?  As I prefaced my question - perhaps I am missing where
this was mentioned in the migration notes?

Thanks in advance for any insight.

*Mark
*

Reply via email to