Michał P created CXF-5995:
-----------------------------

             Summary: 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.1, 3.0.0
            Reporter: Michał P


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}
String propertyName = m.getName().substring(3);
Method getter = bean.getClass().getMethod("get" + propertyName, new Class[]{});
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}
for (Map.Entry<String, BeanPair> entry : values.entrySet()) {
    if (entry.getValue() != null) {
    ...
    }
}
{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