So schema3 is not referenced directly by the wsdl, but schema1 does. Your wsdl should still work as schema1 will bring in schema3 anyway.
But yes it is a change in 2.6 and 2.5.3 You can find the code in rt/core/src/main/org/apache/cxf/wsdl11/ The method - buildTypesWithSchemaImports Look for a comment ... // this ensures only the schemas directly referenced by the wsdl are included On Apr 24, 2012 8:57 AM, "Mark Streit" <[email protected]> wrote: > Yes....schema1 does import schema3....but it also does with 2.5.2 ... The > only diff now with 2.6.0 ... It stopped importing that schema3 in the WSDL. > > Mark > On Apr 23, 2012 6:39 PM, <[email protected]> wrote: > > > Does schema1 or schema2 import schema3 now?can you check > > On Apr 23, 2012 12:56 PM, "Mark Streit" <[email protected]> wrote: > > > > > 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 > > > * > > > > > >
