Author: dkulp Date: Mon Oct 19 21:10:15 2009 New Revision: 826813 URL: http://svn.apache.org/viewvc?rev=826813&view=rev Log: Merged revisions 826812 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.2.x-fixes
................ r826812 | dkulp | 2009-10-19 17:07:55 -0400 (Mon, 19 Oct 2009) | 9 lines 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.1.x-fixes/ (props changed) cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java Propchange: cxf/branches/2.1.x-fixes/ ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Mon Oct 19 21:10:15 2009 @@ -0,0 +1,2 @@ +/cxf/branches/2.2.x-fixes:826812 +/cxf/trunk:826811 Propchange: cxf/branches/2.1.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java URL: http://svn.apache.org/viewvc/cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java?rev=826813&r1=826812&r2=826813&view=diff ============================================================================== --- cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java (original) +++ cxf/branches/2.1.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java Mon Oct 19 21:10:15 2009 @@ -145,7 +145,7 @@ if (removes == null) { removes = new ArrayList<Integer>(); } - removes.add(mpi.getIndex()); + removes.add(part.getIndex()); } } else { ++count; @@ -156,7 +156,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()); + } } } @@ -178,13 +180,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) {
