You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by gdprao <gd...@yahoo.com> on 2007/10/01 15:54:26 UTC
Re: contract-first with only xsd
Hi,
I have tried contract-first XSD approach in my service. I have generated
JAXB mappings from the XSD and used them in my service. The service is
working fine without specifying <jaxws:schemaLocation>. If I use that, I am
getting the following exception at startup. I am using CXF2.0.1. Any help
is appreciated.
applictionContext-cxf.xml:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<import
resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-xml.xml" />
<jaxws:endpoint id="serviceSoapEndPoint"
implementor="#serviceImplementor" address="/MyService">
<jaxws:schemaLocations>
<jaxws:schemaLocation>
classpath:com/mydomain/schemas/serviceSchema.xsd
</jaxws:schemaLocation>
</jaxws:schemaLocations>
</jaxws:endpoint>
007-10-01 06:34:16,346 - ERROR
(org.apache.catalina.core.StandardContext:listenerStart:3767) - Exception
sending context initialized event to listener instance of class
org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: Cannot locate BeanDefinitionParser for element
[schemaLocation]
Offending resource: ServletContext resource
[/WEB-INF/applicationContext-cxf.xml]
at
org.springframework.beans.factory.parsing.FailFastProblemReporter.fatal(FailFastProblemReporter.java:59)
at
org.springframework.beans.factory.parsing.ReaderContext.fatal(ReaderContext.java:68)
at
org.springframework.beans.factory.parsing.ReaderContext.fatal(ReaderContext.java:55)
at
org.springframework.beans.factory.xml.NamespaceHandlerSupport.findParserForElement(NamespaceHandlerSupport.java:79)
at
org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1114)
at
org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser.getAndRegisterFirstChild(AbstractBeanDefinitionParser.java:175)
at
org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser.setFirstChildAsProperty(AbstractBeanDefinitionParser.java:139)
at
org.apache.cxf.jaxws.spring.EndpointDefinitionParser.doParse(EndpointDefinitionParser.java:112)
at
org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:81)
at
org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:56)
at
org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
at
org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1114)
BigEHokie wrote:
>
> Here's just a quick sample.
>
> I'm not stating this is the proper or correct way to do anything.
> However, this is how we are currently using CXF.
>
> The CXF guys can provide you with better direction on how you SHOULD be
> creating your services. They might tell you this approach is a bad
> approach.
>
> Eric
>
> On Tue, 2007-09-18 at 06:49 -0700, moraleslos wrote:
>> Hi--
>>
>> Having gone through the Spring Web Services (SWS) manifesto about
>> contract-first as well as their sample examples, I wonder how CXF matches
>> up
>> with SWS. I know that CXF allows contract-first development, but is it
>> as
>> simple as SWS? For example, with SWS, all I need to do is define the XSD
>> for my types (the messages and such being passed or returned). I can
>> then
>> have SWS generate the WSDL using basic conventions and the XSDs defined.
>> The
>> only other thing to do is to implement the endpoints (Java) that will
>> handle
>> the service. From looking through the CXF site, it looks that if you do
>> contract-first, you must define the WSDL along with the XSDs and Java
>> service implementations (probably using JSR-181). Is this the case?
>>
>> Thanks in advance!
>>
>> -los
>
>
>
--
View this message in context: http://www.nabble.com/contract-first-with-only-xsd-tf4474467.html#a12979566
Sent from the cxf-user mailing list archive at Nabble.com.
Re: contract-first with only xsd
Posted by Eric Miles <er...@kronos.com>.
Yeah, that's a bug that is fixed in CXF 2.0.2. Upgrade to that version
and you should be good.
On Mon, 2007-10-01 at 06:54 -0700, gdprao wrote:
> Hi,
>
> I have tried contract-first XSD approach in my service. I have generated
> JAXB mappings from the XSD and used them in my service. The service is
> working fine without specifying <jaxws:schemaLocation>. If I use that, I am
> getting the following exception at startup. I am using CXF2.0.1. Any help
> is appreciated.
>
> applictionContext-cxf.xml:
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:jaxws="http://cxf.apache.org/jaxws"
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
>
> <import resource="classpath:META-INF/cxf/cxf.xml" />
> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> <import
> resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml" />
> <import resource="classpath:META-INF/cxf/cxf-extension-xml.xml" />
>
> <jaxws:endpoint id="serviceSoapEndPoint"
> implementor="#serviceImplementor" address="/MyService">
> <jaxws:schemaLocations>
> <jaxws:schemaLocation>
> classpath:com/mydomain/schemas/serviceSchema.xsd
> </jaxws:schemaLocation>
> </jaxws:schemaLocations>
> </jaxws:endpoint>
>
> 007-10-01 06:34:16,346 - ERROR
> (org.apache.catalina.core.StandardContext:listenerStart:3767) - Exception
> sending context initialized event to listener instance of class
> org.springframework.web.context.ContextLoaderListener
> org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
> Configuration problem: Cannot locate BeanDefinitionParser for element
> [schemaLocation]
> Offending resource: ServletContext resource
> [/WEB-INF/applicationContext-cxf.xml]
> at
> org.springframework.beans.factory.parsing.FailFastProblemReporter.fatal(FailFastProblemReporter.java:59)
> at
> org.springframework.beans.factory.parsing.ReaderContext.fatal(ReaderContext.java:68)
> at
> org.springframework.beans.factory.parsing.ReaderContext.fatal(ReaderContext.java:55)
> at
> org.springframework.beans.factory.xml.NamespaceHandlerSupport.findParserForElement(NamespaceHandlerSupport.java:79)
> at
> org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
> at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1114)
> at
> org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser.getAndRegisterFirstChild(AbstractBeanDefinitionParser.java:175)
> at
> org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser.setFirstChildAsProperty(AbstractBeanDefinitionParser.java:139)
> at
> org.apache.cxf.jaxws.spring.EndpointDefinitionParser.doParse(EndpointDefinitionParser.java:112)
> at
> org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:81)
> at
> org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:56)
> at
> org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
> at
> org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1114)
>
>
>
>
>
>
>
> BigEHokie wrote:
> >
> > Here's just a quick sample.
> >
> > I'm not stating this is the proper or correct way to do anything.
> > However, this is how we are currently using CXF.
> >
> > The CXF guys can provide you with better direction on how you SHOULD be
> > creating your services. They might tell you this approach is a bad
> > approach.
> >
> > Eric
> >
> > On Tue, 2007-09-18 at 06:49 -0700, moraleslos wrote:
> >> Hi--
> >>
> >> Having gone through the Spring Web Services (SWS) manifesto about
> >> contract-first as well as their sample examples, I wonder how CXF matches
> >> up
> >> with SWS. I know that CXF allows contract-first development, but is it
> >> as
> >> simple as SWS? For example, with SWS, all I need to do is define the XSD
> >> for my types (the messages and such being passed or returned). I can
> >> then
> >> have SWS generate the WSDL using basic conventions and the XSDs defined.
> >> The
> >> only other thing to do is to implement the endpoints (Java) that will
> >> handle
> >> the service. From looking through the CXF site, it looks that if you do
> >> contract-first, you must define the WSDL along with the XSDs and Java
> >> service implementations (probably using JSR-181). Is this the case?
> >>
> >> Thanks in advance!
> >>
> >> -los
> >
> >
> >
>