Sergey, Yep, we figured this out yesterday. wget was not passing application/xml in the Accept header, and hence json was used in the output. However Firefox does and XML is returned as expected. I then found myself puzzling to why this:
<ns1:XMLFault><ns1:faultstring> .No operation matching request path /configuration/get/moo/ is found, ContentType : */*, Accept : text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5. </ns1:faultstring></ns1:XMLFault> is returned when I try and setup the service through Spring (see post at 15:18 GMT yesterday). Could you have a look at this particular problem? Thanks, John Baker -- Web SSO IT Infrastructure Deutsche Bank London URL: http://websso.cto.gt.intranet.db.com "Sergey Beryozkin" <[EMAIL PROTECTED]> 29/04/2008 17:24 Please respond to [email protected] To <[email protected]> cc <[email protected]> Subject Re: CXF 2.1, Rest and Spring configuration Hi In JAX-RS it's media/mime types which dictate what provider is selected on input/output. In CXF there're 2 default providers which can deal with JAXB - JAXBElementProvider and JSONProvider, they're chosen based on the value of HTTP Accept header and the value of the ProduceMime annotation on a particular method (on output in this case). Most likely you haven't specified the value of HTTP Accept header or ProduceMime (application/xml in this case) and as such the first provider capable of dealing with JAXB (JSON one happens to be the first in the list) has been selected. That said, I think this needs to be fixed so that a JAXB provider is checked first by default...If you nedd it fixed then you might want to consider applyinga apcth, it should a one line fixer to the provider factory (where the relevant code currently lives) Thanks, Sergey ----- Original Message ----- From: "John-M Baker" <[EMAIL PROTECTED]> To: <[email protected]> Cc: <[email protected]> Sent: Tuesday, April 29, 2008 3:19 PM Subject: Re: CXF 2.1, Rest and Spring configuration > Sergey, > > So I've now got a system running fine with jaxrs and the standalone server > option works as expected. However I've used the example at the bottom of > this page: > > http://cwiki.apache.org/CXF20DOC/jax-rs-jsr-311.html > > and produced this Spring context: > > <?xml version="1.0" encoding="UTF-8"?> > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:jaxrs="http://cxf.apache.org/jaxrs" > xsi:schemaLocation=" > http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd > http://cxf.apache.org/jaxrs > http://cxf.apache.org/schemas/jaxrs.xsd"> > > <import resource="classpath:META-INF/cxf/cxf.xml"/> > <import > resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml"/> > <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/> > > <jaxrs:server id="cxf.server.ApplicationConfigurationService" > address="/"> > <jaxrs:serviceBeans> > <bean > class="com.db.websso.rest.server.ApplicationConfigurationServiceImpl" /> > </jaxrs:serviceBeans> > </jaxrs:server> > > </beans> > > which results in this exception: > > org.apache.cxf.BusException: No binding factory for namespace > http://apache.org/cxf/binding/jaxrs registered. > at > org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory( > BindingFactoryManagerImpl.java:91) > at org.apache.cxf.jaxrs.JAXRSServerFactoryBean.createBindingInfo( > JAXRSServerFactoryBean.java:208) > > Is the webpage out of date? > > > John Baker > -- > Web SSO > IT Infrastructure > Deutsche Bank London > > URL: http://websso.cto.gt.intranet.db.com > > > > > "Sergey Beryozkin" <[EMAIL PROTECTED]> > 29/04/2008 11:50 > Please respond to > [email protected] > > > To > <[email protected]> > cc > > Subject > Re: CXF 2.1, Rest and Spring configuration > > > > > > > Hi John, > > In your bean.xml you can do something like : > > <beans> > <!-- your service class --> > <bean name="ServiceClass" class="com.Service"> > > <!-- JAXWS SOAP--> > <jaxws:endpoint implementor="#ServiceClass" address="/Greeter"/> > > <!-- JAXRS --> > <jaxrs:server address="/jaxrsgreeter"> > <jaxrs:serviceBeans> > <bean ref="#ServiceClass" /> > </jaxrs:serviceBeans> > </jaxrs:server> > > <!-- JAXWS HTTP Binding --> > <jaxws:endpoint implementor="#ServiceClass" > address="/GreeterHttpBinding"/> > > </beans> > > and then have both JAX-WS and JAX-RS annotations applied to the > com.Service class at will... > > By the way, as far as writing RESTful services is concerned, I do > encourage you to migrate your HTTP Binding service to JAX-RS. > JAX-RS is a standard and in the end of the day you should be able to run > the same code with different JAX-RS implementations > > Cheers, Sergey > > ---------------------------- > IONA Technologies PLC (registered in Ireland) > Registered Number: 171387 > Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland > > > > --- > > This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. > > Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures. ---------------------------- IONA Technologies PLC (registered in Ireland) Registered Number: 171387 Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. Please refer to http://www.db.com/en/content/eu_disclosures.htm for additional EU corporate and regulatory disclosures.
