Author: dkulp
Date: Wed Dec 5 18:32:10 2012
New Revision: 1417575
URL: http://svn.apache.org/viewvc?rev=1417575&view=rev
Log:
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.6.x-fixes/rt/core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
cxf/branches/2.6.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
Modified:
cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java?rev=1417575&r1=1417574&r2=1417575&view=diff
==============================================================================
---
cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
(original)
+++
cxf/branches/2.6.x-fixes/rt/core/src/main/java/org/apache/cxf/service/factory/ReflectionServiceFactoryBean.java
Wed Dec 5 18:32:10 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/branches/2.6.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.6.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java?rev=1417575&r1=1417574&r2=1417575&view=diff
==============================================================================
---
cxf/branches/2.6.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
(original)
+++
cxf/branches/2.6.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
Wed Dec 5 18:32:10 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());