You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "tam.sayers" <ta...@jdwilliams.co.uk> on 2008/03/20 17:52:13 UTC

re[jira] stful uri binding value not set to input parameter bean property

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-input-parameter-bean-property-tp16183429p16183429.html
Sent from the cxf-issues mailing list archive at Nabble.com.


Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by "tam.sayers" <ta...@jdwilliams.co.uk>.
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" <ta...@jdwilliams.co.uk>
>>> To: <cx...@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-input-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-parameter-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-parameter-bean-property-tp16183429p16324506.html
Sent from the cxf-issues mailing list archive at Nabble.com.


Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by "tam.sayers" <ta...@jdwilliams.co.uk>.
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" <ta...@jdwilliams.co.uk>
>>> To: <cx...@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-input-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-parameter-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-parameter-bean-property-tp16183429p16324504.html
Sent from the cxf-issues mailing list archive at Nabble.com.


Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by "tam.sayers" <ta...@jdwilliams.co.uk>.
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" <ta...@jdwilliams.co.uk>
>>> To: <cx...@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-input-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-parameter-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-parameter-bean-property-tp16183429p16324507.html
Sent from the cxf-issues mailing list archive at Nabble.com.


Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by "tam.sayers" <ta...@jdwilliams.co.uk>.
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" <ta...@jdwilliams.co.uk>
>>> To: <cx...@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-input-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-parameter-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-parameter-bean-property-tp16183429p16324505.html
Sent from the cxf-issues mailing list archive at Nabble.com.


Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Sergey Beryozkin <se...@iona.com>.
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" <ta...@jdwilliams.co.uk>
>> >>>> To: <cx...@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
> dkulp@apache.org
> http://www.dankulp.com/blog

----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Sergey Beryozkin <se...@iona.com>.
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" <ta...@jdwilliams.co.uk>
>> >>>> To: <cx...@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
> dkulp@apache.org
> http://www.dankulp.com/blog

----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Daniel Kulp <dk...@apache.org>.

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" <ta...@jdwilliams.co.uk>
> >>>> To: <cx...@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
dkulp@apache.org
http://www.dankulp.com/blog

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Daniel Kulp <dk...@apache.org>.

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" <ta...@jdwilliams.co.uk>
> >>>> To: <cx...@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
dkulp@apache.org
http://www.dankulp.com/blog

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Sergey Beryozkin <se...@iona.com>.
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" <ta...@jdwilliams.co.uk>
>>>> To: <cx...@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-input-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-parameter-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-parameter-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

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Sergey Beryozkin <se...@iona.com>.
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" <ta...@jdwilliams.co.uk>
>>>> To: <cx...@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-input-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-parameter-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-parameter-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

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by "tam.sayers" <ta...@jdwilliams.co.uk>.
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" <ta...@jdwilliams.co.uk>
>>> To: <cx...@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-input-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-parameter-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-parameter-bean-property-tp16183429p16324508.html
Sent from the cxf-issues mailing list archive at Nabble.com.


Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Sergey Beryozkin <se...@iona.com>.
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" <ta...@jdwilliams.co.uk>
>> To: <cx...@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-input-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-parameter-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

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Sergey Beryozkin <se...@iona.com>.
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" <ta...@jdwilliams.co.uk>
>> To: <cx...@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-input-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-parameter-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

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by "tam.sayers" <ta...@jdwilliams.co.uk>.
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" <ta...@jdwilliams.co.uk>
> To: <cx...@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-input-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-parameter-bean-property-tp16183429p16298037.html
Sent from the cxf-issues mailing list archive at Nabble.com.


Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Sergey Beryozkin <se...@iona.com>.
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" <ta...@jdwilliams.co.uk>
To: <cx...@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-input-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

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Sergey Beryozkin <se...@iona.com>.
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" <ta...@jdwilliams.co.uk>
To: <cx...@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-input-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

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by "tam.sayers" <ta...@jdwilliams.co.uk>.
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-input-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.


Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Sergey Beryozkin <se...@iona.com>.
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-input-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

Re: re[jira] stful uri binding value not set to input parameter bean property

Posted by Sergey Beryozkin <se...@iona.com>.
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-input-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