Author: dkulp
Date: Mon Oct 22 14:29:37 2007
New Revision: 587268
URL: http://svn.apache.org/viewvc?rev=587268&view=rev
Log:
Merged revisions 587171 via svnmerge from
https://svn.apache.org/repos/asf/incubator/cxf/trunk
........
r587171 | dkulp | 2007-10-22 13:51:55 -0400 (Mon, 22 Oct 2007) | 3 lines
[CXF-1129] Fix issues with out of band headers causing marshalling issues
Re-add asm jars to distribution
........
Modified:
incubator/cxf/branches/2.0.x-fixes/ (props changed)
incubator/cxf/branches/2.0.x-fixes/api/src/main/java/org/apache/cxf/message/MessageContentsList.java
incubator/cxf/branches/2.0.x-fixes/distribution/manifest/pom.xml
incubator/cxf/branches/2.0.x-fixes/distribution/pom.xml
incubator/cxf/branches/2.0.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelper.java
Propchange: incubator/cxf/branches/2.0.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
incubator/cxf/branches/2.0.x-fixes/api/src/main/java/org/apache/cxf/message/MessageContentsList.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/api/src/main/java/org/apache/cxf/message/MessageContentsList.java?rev=587268&r1=587267&r2=587268&view=diff
==============================================================================
---
incubator/cxf/branches/2.0.x-fixes/api/src/main/java/org/apache/cxf/message/MessageContentsList.java
(original)
+++
incubator/cxf/branches/2.0.x-fixes/api/src/main/java/org/apache/cxf/message/MessageContentsList.java
Mon Oct 22 14:29:37 2007
@@ -59,7 +59,7 @@
private void ensureSize(int idx) {
while (idx >= size()) {
- add(null);
+ add(REMOVED_MARKER);
}
}
@@ -69,6 +69,9 @@
}
public boolean hasValue(MessagePartInfo key) {
+ if (key.getIndex() >= size()) {
+ return false;
+ }
return super.get(key.getIndex()) != REMOVED_MARKER;
}
Modified: incubator/cxf/branches/2.0.x-fixes/distribution/manifest/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/distribution/manifest/pom.xml?rev=587268&r1=587267&r2=587268&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/distribution/manifest/pom.xml (original)
+++ incubator/cxf/branches/2.0.x-fixes/distribution/manifest/pom.xml Mon Oct 22
14:29:37 2007
@@ -217,6 +217,10 @@
<artifactId>jettison</artifactId>
<version>1.0-RC2</version>
</dependency>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ </dependency>
</dependencies>
<build>
Modified: incubator/cxf/branches/2.0.x-fixes/distribution/pom.xml
URL:
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/distribution/pom.xml?rev=587268&r1=587267&r2=587268&view=diff
==============================================================================
--- incubator/cxf/branches/2.0.x-fixes/distribution/pom.xml (original)
+++ incubator/cxf/branches/2.0.x-fixes/distribution/pom.xml Mon Oct 22 14:29:37
2007
@@ -224,6 +224,10 @@
<version>1.0-RC2</version>
</dependency>
<dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ </dependency>
+ <dependency>
<groupId>${pom.groupId}</groupId>
<artifactId>cxf-bundle</artifactId>
<version>${pom.version}</version>
Modified:
incubator/cxf/branches/2.0.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java?rev=587268&r1=587267&r2=587268&view=diff
==============================================================================
---
incubator/cxf/branches/2.0.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java
(original)
+++
incubator/cxf/branches/2.0.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java
Mon Oct 22 14:29:37 2007
@@ -97,8 +97,9 @@
}
}
-
- parameters.put(mpi, object);
+ if (object != null && mpi.getTypeClass() != null) {
+ parameters.put(mpi, object);
+ }
}
if (parameters.size() > 0) {
message.setContent(List.class, parameters);
Modified:
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java?rev=587268&r1=587267&r2=587268&view=diff
==============================================================================
---
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
(original)
+++
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassInInterceptor.java
Mon Oct 22 14:29:37 2007
@@ -21,6 +21,7 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.logging.Logger;
@@ -120,10 +121,25 @@
try {
newParams = new
MessageContentsList(helper.getWrapperParts(wrappedObject));
+ List<Integer> removes = null;
for (MessagePartInfo part : messageInfo.getMessageParts()) {
if
(Boolean.TRUE.equals(part.getProperty(ReflectionServiceFactoryBean.HEADER))) {
MessagePartInfo mpi =
wrappedMessageInfo.getMessagePart(part.getName());
- newParams.put(part, lst.get(mpi));
+ if (lst.hasValue(mpi)) {
+ newParams.put(part, lst.get(mpi));
+ } else if (mpi.getTypeClass() == null) {
+ //header, but not mapped to a param on the method
+ if (removes == null) {
+ removes = new ArrayList<Integer>();
+ }
+ removes.add(mpi.getIndex());
+ }
+ }
+ }
+ if (removes != null) {
+ Collections.sort(removes, Collections.reverseOrder());
+ for (Integer i : removes) {
+ newParams.remove(i.intValue());
}
}
} catch (Exception e) {
Modified:
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java?rev=587268&r1=587267&r2=587268&view=diff
==============================================================================
---
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
(original)
+++
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperClassOutInterceptor.java
Mon Oct 22 14:29:37 2007
@@ -109,7 +109,9 @@
for (MessagePartInfo p : messageInfo.getMessageParts()) {
if
(Boolean.TRUE.equals(p.getProperty(ReflectionServiceFactoryBean.HEADER))) {
MessagePartInfo mpi =
wrappedMsgInfo.getMessagePart(p.getName());
- newObjs.put(mpi, objs.get(p));
+ if (objs.hasValue(p)) {
+ newObjs.put(mpi, objs.get(p));
+ }
}
}
Modified:
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelper.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelper.java?rev=587268&r1=587267&r2=587268&view=diff
==============================================================================
---
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelper.java
(original)
+++
incubator/cxf/branches/2.0.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/WrapperHelper.java
Mon Oct 22 14:29:37 2007
@@ -268,6 +268,9 @@
Object ret = wrapperType.newInstance();
for (int x = 0; x < setMethods.length; x++) {
+ if (setMethods[x] == null && fields[x] == null) {
+ continue;
+ }
Object o = lst.get(x);
if (jaxbObjectMethods[x] != null) {
o = jaxbObjectMethods[x].invoke(objectFactory, o);