You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/10/19 23:10:59 UTC

[jira] Resolved: (CXF-2478) Incorrectly removing a parameter from the Message

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

Daniel Kulp resolved CXF-2478.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.2.5
                   2.1.8
         Assignee: Daniel Kulp

> Incorrectly removing a parameter from the Message
> -------------------------------------------------
>
>                 Key: CXF-2478
>                 URL: https://issues.apache.org/jira/browse/CXF-2478
>             Project: CXF
>          Issue Type: Bug
>          Components: Core, JAX-WS Runtime, Service Model, Soap Binding
>    Affects Versions: 2.2.3, 2.1.7, 2.2.4
>         Environment: Tomcat 6.0.18, Windows Server 2003. CXF 2.2.4.
>            Reporter: Bozhidar Bozhanov
>            Assignee: Daniel Kulp
>            Priority: Critical
>             Fix For: 2.1.8, 2.2.5
>
>         Attachments: roc_remedy_service.wsdl, SOAPMessage.txt
>
>
> I've been having the following issue for a whole day already, and I'm debugging it: http://www.coderanch.com/t/466933/Web-Services/java/CXF-fails-serve-WebService
> I've got further ahead:
> in WrapperClassInInterceptor there is this code:
> (line 135 onwards)
> newParams = new MessageContentsList(helper.getWrapperParts(wrappedObject));
>                 List<Integer> removes = null;
>                 int count = 0;
>                 for (MessagePartInfo part : messageInfo.getMessageParts()) {
>                     if (Boolean.TRUE.equals(part.getProperty("messagepart.isheader"))) {
>                         MessagePartInfo mpi = wrappedMessageInfo.getMessagePart(part
>                                 .getName());
>                         if (lst.hasValue(mpi)) {
>                             newParams.put(part, lst.get(mpi));
>                         } else if (mpi.getTypeClass() == null) {
>                             if (removes == null) {
>                                 removes = new ArrayList();
>                             }
>                             removes.add(Integer.valueOf(mpi.getIndex()));
>                         }
>                     } else {
>                         ++count;
>                     }
>                 }
> The parameters in "newParams" before the removes are removed are the correct params + one null at the end.
> Then index "1" is removed. BUT the param at Index 1 is correct. So perhaps the index is wrongly calculated. I don't have any more time to dig further into the generation of the index, so I'm just patching my version by commenting-out the removal part. I hope you can give me an update no this. Thanks

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.