[CXF-6523] Fix issues if part names of out-of-band headers match the name of 
the wrapper part


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/ab38f647
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/ab38f647
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/ab38f647

Branch: refs/heads/3.0.x-fixes
Commit: ab38f6471405fbd34360b947d21a59e34cb7578d
Parents: 5187969
Author: Daniel Kulp <[email protected]>
Authored: Mon Mar 27 15:15:58 2017 -0400
Committer: Daniel Kulp <[email protected]>
Committed: Mon Mar 27 15:53:25 2017 -0400

----------------------------------------------------------------------
 .../cxf/jaxws/interceptors/WrapperClassInInterceptor.java     | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/ab38f647/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
----------------------------------------------------------------------
diff --git 
a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
 
b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
index 9e29115..f6a46ff 100644
--- 
a/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
+++ 
b/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
@@ -138,7 +138,12 @@ public class WrapperClassInInterceptor extends 
AbstractPhaseInterceptor<Message>
                 int count = 0;
                 for (MessagePartInfo part : messageInfo.getMessageParts()) {
                     if 
(Boolean.TRUE.equals(part.getProperty(ReflectionServiceFactoryBean.HEADER))) {
-                        MessagePartInfo mpi = 
wrappedMessageInfo.getMessagePart(part.getName());
+                        MessagePartInfo mpi = null;
+                        for (MessagePartInfo mpi2 : 
wrappedMessageInfo.getMessageParts()) {
+                            if 
(mpi2.getConcreteName().equals(part.getConcreteName())) {
+                                mpi = mpi2;
+                            }
+                        }
                         if (mpi != null && lst.hasValue(mpi)) {
                             count++;
                             newParams.put(part, lst.get(mpi));

Reply via email to