You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/12/05 19:29:14 UTC
svn commit: r1417571 - in /cxf/trunk/rt:
core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
Author: dkulp
Date: Wed Dec 5 18:29:13 2012
New Revision: 1417571
URL: http://svn.apache.org/viewvc?rev=1417571&view=rev
Log:
[CXF-4301] Fix a couple issues when using out of band headers
Modified:
cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?rev=1417571&r1=1417570&r2=1417571&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java Wed Dec 5 18:29:13 2012
@@ -815,6 +815,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());
@@ -848,12 +855,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;
}
Modified: cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java?rev=1417571&r1=1417570&r2=1417571&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java (original)
+++ cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java Wed Dec 5 18:29:13 2012
@@ -171,6 +171,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());