Author: dkulp
Date: Mon Oct 19 21:07:55 2009
New Revision: 826812
URL: http://svn.apache.org/viewvc?rev=826812&view=rev
Log:
Merged revisions 826811 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r826811 | dkulp | 2009-10-19 17:06:40 -0400 (Mon, 19 Oct 2009) | 1 line
[CXF-2478] Fix problem of wrong part being removed
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
svn:mergeinfo = /cxf/trunk:826811
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java?rev=826812&r1=826811&r2=826812&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
Mon Oct 19 21:07:55 2009
@@ -146,7 +146,7 @@
if (removes == null) {
removes = new ArrayList<Integer>();
}
- removes.add(mpi.getIndex());
+ removes.add(part.getIndex());
}
} else {
++count;
@@ -157,7 +157,9 @@
} else if (removes != null) {
Collections.sort(removes, Collections.reverseOrder());
for (Integer i : removes) {
- newParams.remove(i.intValue());
+ if (i < newParams.size()) {
+ newParams.remove(i.intValue());
+ }
}
}
@@ -179,13 +181,15 @@
for (MessagePartInfo p : messageInfo.getMessageParts()) {
if
(Boolean.TRUE.equals(p.getProperty(ReflectionServiceFactoryBean.HEADER))) {
- int idx = p.getIndex();
- ensureSize(elTypeNames, idx);
- ensureSize(partClasses, idx);
- ensureSize(partNames, idx);
- elTypeNames.set(idx, null);
- partClasses.set(idx, null);
- partNames.set(idx, null);
+ if (p.getTypeClass() != null) {
+ int idx = p.getIndex();
+ ensureSize(elTypeNames, idx);
+ ensureSize(partClasses, idx);
+ ensureSize(partNames, idx);
+ elTypeNames.set(idx, null);
+ partClasses.set(idx, null);
+ partNames.set(idx, null);
+ }
} else {
String elementType = null;
if (p.getTypeQName() == null) {