Hi

Generally speaking you do noty have to set up multiple endpoints to get multiple formats supported.

Can you confirm please you have

Accept: application/json

as part of

http://localhost:8080/app/json/user

Sergey

On 22/04/14 04:24, Maxim Solodovnik wrote:
Additional info: CXF version 2.7.11


On Sun, Apr 20, 2014 at 11:27 AM, Maxim Solodovnik <[email protected]>wrote:

Hello All,

I would like to set output format based on URL i.e. if request received at
http://localhost:8080/app/json/user the response should be in JSON format
I have tried to set up 2 jaxrs:server

<bean id="jsonProvider"
class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
  <!-- (writeXsiType=false) -->
<property name="ignoreNamespaces" value="true" />
  </bean>
<bean id="jaxbProvider"
class="org.apache.cxf.jaxrs.provider.JAXBElementProvider"/>
  <jaxrs:server id="serverRest" address="/rest">
<jaxrs:serviceBeans>
<ref bean="userWebService"/>
  </jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="jaxbProvider"/>
  </jaxrs:providers>
</jaxrs:server>
<jaxrs:server id="serverJson" address="/json">
  <jaxrs:serviceBeans>
<ref bean="userWebService"/>
</jaxrs:serviceBeans>
  <jaxrs:providers>
<ref bean="jsonProvider"/>
</jaxrs:providers>
  </jaxrs:server>

Unfortunately no matter what URL am I accessing I get XML response :(

userWebService bean id annotated as follows:

@WebService
@Features(features = "org.apache.cxf.feature.LoggingFeature")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
@Path("/user")
public class UserWebService {
}

Thanks in advance


--
WBR
Maxim aka solomax






Reply via email to