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
> > > *
> > >
> >
>

Reply via email to