Hi Tam If it's a blocker for you and you know a java JSON library which handles this case then there's a fairly easy workaround. One can create a custom MessageBodyWriter (copy and paste of the existing JSON provider with minor updates), in your case it can be a CustomJsonWriter, which would delegate to the library which just works, and then it can be registered with the runtime, have a look please on how Barry F. did a BadgerFishJSonProvider in system jaxrs tests...
Cheers, Sergey > > > Yea, Jettison issue. There was a discussion about this on the jettison > list: > > http://archive.jettison.codehaus.org/dev/27326848.1205101828701.JavaMail.haus-jira%40codehaus01.managed.contegix.com > > and JIRA: > > http://jira.codehaus.org/browse/JETTISON-36 > > Dan > > > > On Thursday 27 March 2008, Sergey Beryozkin wrote: >> Hi Tam >> >> I'm afraid I don't know what the issue is here. Looks like it's either >> the problem of missing some JAXB annotation... or more likely the >> problem of Jettison... >> >> Does someone know, is it possible to fix this issue at the JAXB level >> ? Cheers, Sergey >> >> > Hi Sergey >> > >> > I have run into another problem! I am making a GET request to a >> > service and it is returning me some JSON content. The content I am >> > getting is: {"telephoneNo":{"code":161,"number":2382907}} >> > the content I want is: >> > {"telephoneNo":{"code":"0161","number":"2382907"}} >> > I have tried adding an @XmlElement(type = String.class) annotation >> > to the Field of the Object returned by the service but that makes no >> > difference. If I add a non numeric char to the code field value >> > ("0161S") the value is returned in quotes, so it looks like it is >> > determining the value type from the value rather than the Field or >> > annotation?! Is this a bug or is there something I'm not setting >> > somewhere? >> > >> > Cheers, Tam >> > >> > Sergey Beryozkin wrote: >> >> Hi Tam >> >> >> >>> Thanks for that, I have now got it up and running. You also have >> >>> to add the >> >>> @XmlRootElement annotation to the object returned by the service >> >>> otherwise >> >>> you get a NullPointerException. >> >> >> >> The exception is quite poor all-right at the moment. In this case >> >> and exception saying no MessageBodyWriter was found has to be >> >> generated. I actually have a minor patch I did on weekends to >> >> improve on some of the things in this area, including the support >> >> for a standard >> >> WebApplicationException. >> >> >> >>> > Is it possible to specify the @ProduceMime type in the Spring >> >>> > context >> >>> >> >>> file. >> >> >> >> You can do >> >> @GET >> >> @ProduceMime("application/xml", "application/json") >> >> >> >> and then, depending on the value of the Accept type the approproate >> >> MessageBodyWriter will be selected. You can also debug the formats >> >> like this : >> >> GET /yourResource?_contentType=application/xml >> >> or >> >> GET /yourResource?_contentType=xml >> >> >> >> etc, with "xml" in this case defaulting to application/xml. More >> >> shortcuts like 'xml' can be easily added to a system query handler >> >> dealing with this query... >> >> >> >> Cheers, Sergey >> >> >> >>> Hi Sergey >> >>> >> >>> Thanks for that, I have now got it up and running. You also have >> >>> to add the >> >>> @XmlRootElement annotation to the object returned by the service >> >>> otherwise >> >>> you get a NullPointerException. >> >>> Is it possible to specify the @ProduceMime type in the Spring >> >>> context file. >> >>> At the moment if i want a service to return different mime types >> >>> it seems like i need multiple implementations of the method with >> >>> different annotations. >> >>> >> >>> Cheers, Tam >> >>> >> >>> Sergey Beryozkin wrote: >> >>>> Hi Tam, >> >>>> >> >>>> I'm sorry, but I've never got to updating the documentaion but >> >>>> I've created a JIRA to have the docs updated asap, I'll try to >> >>>> update them in the next few days... >> >>>> In meantime have a look please at a basic jaxrs demo, the only >> >>>> difference >> >>>> with what the documentation says is that >> >>>> different annotations are used, for ex @GET instead of >> >>>> @HttpMethod("Get"), >> >>>> @Path instead of @UriTemplate and @PathParam instead of >> >>>> @UriParam... >> >>>> >> >>>> Cheers, Sergey >> >>>> >> >>>> ----- Original Message ----- >> >>>> From: "tam.sayers" <[EMAIL PROTECTED]> >> >>>> To: <cxf-issues@incubator.apache.org> >> >>>> Sent: Tuesday, March 25, 2008 11:05 AM >> >>>> Subject: Re: re[jira] stful uri binding value not set to input >> >>>> parameter bean property >> >>>> >> >>>>> Hi Sergey >> >>>>> >> >>>>> Thanks for the reply. The version of the jax-rs implementation >> >>>>> in the apache-cxf-2.1-incubator-20080321.032844-42.zip seems to >> >>>>> be different than >> >>>>> the one described in >> >>>>> http://cwiki.apache.org/CXF20DOC/jax-rs-jsr-311.html. >> >>>>> Do you know if there is any documentation anywhere for the newer >> >>>>> version? >> >>>>> >> >>>>> Tam >> >>>>> >> >>>>> Sergey Beryozkin wrote: >> >>>>>> Hi >> >>>>>> >> >>>>>> Please try the same with the current JAX-RS implementation in >> >>>>>> CXF. I'm not qute sure why this does not work for the CXF HTTP >> >>>>>> binding, but one >> >>>>>> thing is that >> >>>>>> this binding can be considered depecated...unless someone can >> >>>>>> confirm they're going to mantain it... >> >>>>>> >> >>>>>> Cheers, Sergey >> >>>>>> >> >>>>>>> I have tried calling the following service using the cxf 2.0.4 >> >>>>>>> and 2.1 >> >>>>>>> code >> >>>>>>> and when using both the accountNumber is not set to the >> >>>>>>> GetForAccount bean. >> >>>>>>> When debugging through the code I can see that >> >>>>>>> the values are being read from the URL and an XML element is >> >>>>>>> being generated >> >>>>>>> in the form: >> >>>>>>> >> >>>>>>> <getTelephoneForAccount> >> >>>>>>> <accountNumber>ab123</accountNumber> >> >>>>>>> </getTelephoneForAccount> >> >>>>>>> >> >>>>>>> This is then added to the message but never gets set to the >> >>>>>>> GetForAccount >> >>>>>>> bean. Does anybody know why the property is not being set? >> >>>>>>> >> >>>>>>> Service definition: >> >>>>>>> >> >>>>>>> @WebService(targetNamespace = >> >>>>>>> "http://uk.co.jdwilliams/account") public interface >> >>>>>>> AccountTelephoneNumberService { >> >>>>>>> @Get >> >>>>>>> @HttpResource(location = "/telnos/{accountNumber}") >> >>>>>>> @WebResult(name = "telephoneNo") >> >>>>>>> TelephoneNumberTO getTelephoneForAccount(GetForAccount >> >>>>>>> getForAccount); >> >>>>>>> } >> >>>>>>> >> >>>>>>> input bean: >> >>>>>>> >> >>>>>>> public class GetForAccount { >> >>>>>>> private String accountNumber; >> >>>>>>> >> >>>>>>> /** >> >>>>>>> * @return the accountNumber >> >>>>>>> */ >> >>>>>>> public String getAccountNumber() { >> >>>>>>> return accountNumber; >> >>>>>>> } >> >>>>>>> >> >>>>>>> /** >> >>>>>>> * @param accountNumber the accountNumber to set >> >>>>>>> */ >> >>>>>>> public void setAccountNumber(String accountNumber) { >> >>>>>>> this.accountNumber = accountNumber; >> >>>>>>> } >> >>>>>>> } >> >>>>>>> >> >>>>>>> Spring bean definition: >> >>>>>>> >> >>>>>>> <jaxws:endpoint id="accountTelNoService" >> >>>>>>> implementor="#accountTelephoneNumberService" >> >>>>>>> address="/xml/account" >> >>>>>>> bindingUri="http://apache.org/cxf/binding/http"> >> >>>>>>> <jaxws:serviceFactory> >> >>>>>>> <bean >> >>>>>>> class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean"> >> >>>>>>> <property name="wrapped" value="false" /> >> >>>>>>> </bean> >> >>>>>>> </jaxws:serviceFactory> >> >>>>>>> </jaxws:endpoint> >> >>>>>>> >> >>>>>>> -- >> >>>>>>> View this message in context: >> >>>>>>> http://www.nabble.com/restful-uri-binding-value-not-set-to-inp >> >>>>>>>ut-parameter-bean-property-tp16183429p16183429.html Sent from >> >>>>>>> the cxf-issues mailing list archive at Nabble.com. >> >>>>>> >> >>>>>> ---------------------------- >> >>>>>> IONA Technologies PLC (registered in Ireland) >> >>>>>> Registered Number: 171387 >> >>>>>> Registered Address: The IONA Building, Shelbourne Road, Dublin >> >>>>>> 4, Ireland >> >>>>> >> >>>>> -- >> >>>>> View this message in context: >> >>>>> http://www.nabble.com/restful-uri-binding-value-not-set-to-input >> >>>>>-parameter-bean-property-tp16183429p16273694.html Sent from the >> >>>>> cxf-issues mailing list archive at Nabble.com. >> >>>> >> >>>> ---------------------------- >> >>>> IONA Technologies PLC (registered in Ireland) >> >>>> Registered Number: 171387 >> >>>> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, >> >>>> Ireland >> >>> >> >>> -- >> >>> View this message in context: >> >>> http://www.nabble.com/restful-uri-binding-value-not-set-to-input-p >> >>>arameter-bean-property-tp16183429p16298037.html Sent from the >> >>> cxf-issues mailing list archive at Nabble.com. >> >> >> >> ---------------------------- >> >> IONA Technologies PLC (registered in Ireland) >> >> Registered Number: 171387 >> >> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, >> >> Ireland >> > >> > -- >> > View this message in context: >> > http://www.nabble.com/restful-uri-binding-value-not-set-to-input-par >> >ameter-bean-property-tp16183429p16324508.html Sent from the >> > cxf-issues mailing list archive at Nabble.com. >> >> ---------------------------- >> IONA Technologies PLC (registered in Ireland) >> Registered Number: 171387 >> Registered Address: The IONA Building, Shelbourne Road, Dublin 4, >> Ireland > > > > -- > J. Daniel Kulp > Principal Engineer, IONA > [EMAIL PROTECTED] > http://www.dankulp.com/blog ---------------------------- IONA Technologies PLC (registered in Ireland) Registered Number: 171387 Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland