[ 
https://issues.apache.org/jira/browse/CXF-5995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Beryozkin resolved CXF-5995.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: 3.1.0
                   3.0.2
                   2.7.13
         Assignee: Sergey Beryozkin

thanks for debugging it

> ClientProxyImpl problem with handling @BeanParams with null headers/cookies.
> ----------------------------------------------------------------------------
>
>                 Key: CXF-5995
>                 URL: https://issues.apache.org/jira/browse/CXF-5995
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 3.0.0, 3.0.1
>            Reporter: MichaƂ P
>            Assignee: Sergey Beryozkin
>             Fix For: 2.7.13, 3.0.2, 3.1.0
>
>
> Problem occures when my @BeanParam object has String @HeaderParam values that 
> are null.
> On client side inside ClientProxyImpl#getValuesFromBeanParam always returns 
> full Map<String, BeanPair> even when BeanPair has null values.
> {code:title=ClientProxyImpl.java|borderStyle=solid}
> // line 481
> String propertyName = m.getName().substring(3);
> Method getter = bean.getClass().getMethod("get" + propertyName, new 
> Class[]{});
> // Object value is null
> Object value = getter.invoke(bean, new Object[]{});
> String annotationValue = AnnotationUtils.getAnnotationValue(annotation);
> values.put(annotationValue, new BeanPair(value, 
> m.getParameterAnnotations()[0]));
> {code}
> Methods such handleHeaders, handleCookies has useless condition that is
> always true (BeanPair is never null)
> {code:title=ClientProxyImpl.java|borderStyle=solid}
> // line 585
> for (Map.Entry<String, BeanPair> entry : values.entrySet()) {
>     if (entry.getValue() != null) {
>         headers.add(entry.getKey(), 
> convertParamValue(entry.getValue().getValue(), entry.getValue().getAnns()));
>     }
> }
> {code}
> That couses unintended behaviour on server side when server receives 
> BeanParam objects with fields with String value equal to "null".
> I've sent no headers but servers received header with "null" String.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to