cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From John Klassa <j...@klassa.com>
Subject Re: pretty printing XML
Date Thu, 19 Nov 2009 14:02:33 GMT

Excellent -- that did it!

Thank you!

On Nov 19, 2009, at 4:43 AM, Sergey Beryozkin wrote:

> Hi John
> 
> You're nearly there, please do
> 
> <jaxrs:server id="defectResource" address="/">
>   <jaxrs:serviceBeans>
>     <ref bean="defectResourceBean"/>
>   </jaxrs:serviceBeans>
>   <jaxrs:providers>
>     <ref bean="jaxbProvider"/>
>   </jaxrs:providers>
> </jaxrs:server>
> <jaxrs:server>
> 
> This way you can associate multiple JAXB providers with slightly different settings with
multiple endpoints in the same context....
> 
> I'm sorry yourself and some other users are havig some hard time in seeing the simple
apps up and running. I think CXF JAXRS docs have plenty of info but a GettingStarted guide
and FAQ are needed urgently...
> 
> thanks, Sergey
> 
> ----- Original Message ----- From: "John Klassa" <john@klassa.com>
> To: <users@cxf.apache.org>
> Sent: Thursday, November 19, 2009 1:10 AM
> Subject: Re: pretty printing XML
> 
> 
> 
> Hi Sergey,
> 
> I found some other sample XML on the web, and it appears to amount to this:
> 
> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.JAXBElementProvider">
>   <property name="marshallerProperties">
>     <map>
>       <entry key="jaxb.formatted.output">
>         <value type="java.lang.Boolean">true</value>
>       </entry>
>     </map>
>   </property>
> </bean>
> 
> Yet, even this doesn't work (nor does "TRUE").  The XML still comes back without whitespace,
when I make a REST call, and with no particular formatting.
> 
> I know it's at least looking at this value because when I try to, e.g., change it to
"marshallerPropertiesx" (to put a typo in it), it complains, and suggests "marshallerProperties"
for me.  So, I think the setting is fine.  Somehow, CXF and JAXB just aren't connecting the
dots.
> 
> I'm using a Spring-based approach now, to my knowledge.  My web.xml says:
> 
> <context-param>
>   <param-name>contextConfigLocation</param-name>
>   <param-value>WEB-INF/beans.xml</param-value>
> </context-param>
> 
> <listener>
>   <listener-class>
>     org.springframework.web.context.ContextLoaderListener
>   </listener-class>
> </listener>
> 
> <servlet>
>   <servlet-name>CDETSWSAPI</servlet-name>
>   <display-name>CDETS Web Services API</display-name>
>   <servlet-class>
>     org.apache.cxf.transport.servlet.CXFServlet
>   </servlet-class>
>   <load-on-startup>1</load-on-startup>
> </servlet>
> 
> <servlet-mapping>
>   <servlet-name>CDETSWSAPI</servlet-name>
>   <url-pattern>/v1/*</url-pattern>
> </servlet-mapping>
> 
> while my beans.xml says:
> 
> <bean id="defectResourceBean" class="com.cisco.cdets.wsapi.resources.DefectResource"/>
> 
> <jaxrs:server id="defectResource" address="/">
>   <jaxrs:serviceBeans>
>     <ref bean="defectResourceBean"/>
>   </jaxrs:serviceBeans>
> </jaxrs:server>
> 
> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.JAXBElementProvider">
>   <property name="marshallerProperties">
>     <map>
>       <entry key="jaxb.formatted.output">
>         <value type="java.lang.Boolean">true</value>
>       </entry>
>     </map>
>   </property>
> </bean>
> 
> Any ideas?
> 
> Thanks!
> 
> On Nov 18, 2009, at 3:36 PM, Sergey Beryozkin wrote:
> 
>> Hi
>> 
>> I'm sorry, that property has to be of type java.lang.Boolean according
>> to the Marshaller docs. I'm not sure right now how to specify from
>> Spring that a given map value should be of Boolean type, does anyone
>> know how to do it ?
>> I'll give it a try tomorrow
>> 
>> Thanks, Sergey
>> 
>> 
>> 
>> -----Original Message-----
>> From: John Klassa [mailto:klassa@cisco.com]
>> Sent: 18 November 2009 18:39
>> To: users@cxf.apache.org
>> Subject: Re: pretty printing XML
>> 
>> 
>> Sorry...  I meant to say that the primary docs (for JAX-RS in CXF) is
>> where I got the same XML from.  It doesn't work for me, though.  So, I
>> went looking online, and found the osdir.com reference to doing it
>> programmatically.
>> 
>> Regardless, just looking to get it to work via a configuration setting.
>> :-)
>> 
>> On Nov 18, 2009, at 1:35 PM, John Klassa wrote:
>> 
>>> 
>>> Saw this thread:
>>> 
>>> http://osdir.com/ml/users-cxf-apache/2009-09/msg00014.html
>>> 
>>> but am wondering how this would be done in a config file.  I saw an
>> example somewhere that says to use:
>>> 
>>> <bean id="jaxbProvider"
>> class="org.apache.cxf.jaxrs.provider.JAXBElementProvider">
>>>  <property name="marshallerProperties" ref="propertiesMap"/>
>>> </bean>
>>> <util:map id="propertiesMap" map-class="java.util.Hashtable">
>>>  <entry key="jaxb.formatted.output" value="true"/>
>>> </util:map>
>>> 
>>> This seems to have no effect, however.
>>> 
>>> Basically, I'm trying to get my JAX-RS resources to come back looking
>> "nice".
>>> 
>> 
> 


Mime
View raw message