cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jasonmp...@gmail.com
Subject Re: recent changes with CXF 2.6.0 - missing import on generated WSDL and Spring JAR question
Date Tue, 24 Apr 2012 09:03:53 GMT
Oops - the class in that package ServiceWSDLBuilder ....
On Apr 24, 2012 7:02 PM, <jasonmpell@gmail.com> wrote:

> 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" <mcs130@gmail.com> 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, <jasonmpell@gmail.com> wrote:
>>
>> > Does schema1 or schema2 import schema3 now?can you check
>> > On Apr 23, 2012 12:56 PM, "Mark Streit" <mcs130@gmail.com> 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
>> > > *
>> > >
>> >
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message