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

Reply via email to