Author: dkulp Date: Wed Dec 5 18:37:44 2012 New Revision: 1417580 URL: http://svn.apache.org/viewvc?rev=1417580&view=rev Log: Merged revisions 1417575 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes
........ r1417575 | dkulp | 2012-12-05 13:32:10 -0500 (Wed, 05 Dec 2012) | 10 lines Merged revisions 1417571 via git cherry-pick from https://svn.apache.org/repos/asf/cxf/trunk ........ r1417571 | dkulp | 2012-12-05 13:29:13 -0500 (Wed, 05 Dec 2012) | 2 lines [CXF-4301] Fix a couple issues when using out of band headers ........ ........ Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java cxf/branches/2.5.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java?rev=1417580&r1=1417579&r2=1417580&view=diff ============================================================================== --- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java (original) +++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java Wed Dec 5 18:37:44 2012 @@ -170,6 +170,10 @@ public class WrapperClassOutInterceptor } for (MessagePartInfo p : messageInfo.getMessageParts()) { + if (p.getTypeClass() == null) { + //WSDL part wasn't mapped to a parameter + continue; + } ensureSize(partNames, p.getIndex()); ensureSize(elTypeNames, p.getIndex()); ensureSize(partClasses, p.getIndex()); Modified: cxf/branches/2.5.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?rev=1417580&r1=1417579&r2=1417580&view=diff ============================================================================== --- cxf/branches/2.5.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java (original) +++ cxf/branches/2.5.x-fixes/rt/frontend/simple/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java Wed Dec 5 18:37:44 2012 @@ -787,6 +787,13 @@ public class ReflectionServiceFactoryBea } if (part == null && isHeader && o.isUnwrapped()) { part = ((UnwrappedOperationInfo)o).getWrappedOperation().getInput().getMessagePart(name); + if (part == null) { + QName name2 = this.getInParameterName(o, method, i); + part = o.getInput().getMessagePart(name2); + if (part != null) { + name = name2; + } + } if (part != null) { //header part in wsdl, need to get this mapped in to the unwrapped form MessagePartInfo inf = o.getInput().addMessagePart(part.getName()); @@ -820,12 +827,16 @@ public class ReflectionServiceFactoryBea } else if (isIn && isOut) { QName name = getInPartName(o, method, i); part = o.getInput().getMessagePart(name); + if (part == null && isHeader && o.isUnwrapped()) { + QName name2 = this.getInParameterName(o, method, i); + part = o.getInput().getMessagePart(name2); + if (part != null) { + name = name2; + } + } if (part == null && this.isFromWsdl()) { part = o.getInput().getMessagePartByIndex(i); } - if (part == null && isHeader && o.isUnwrapped()) { - part = o.getUnwrappedOperation().getInput().getMessagePart(name); - } if (part == null) { return false; }
