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 2009/09/28 17:57:32 UTC
svn commit: r819616 - in /cxf/branches/2.2.x-fixes: ./
rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java
rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
Author: dkulp
Date: Mon Sep 28 15:57:31 2009
New Revision: 819616
URL: http://svn.apache.org/viewvc?rev=819616&view=rev
Log:
Merged revisions 819599 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r819599 | dkulp | 2009-09-28 11:44:07 -0400 (Mon, 28 Sep 2009) | 2 lines
[CXF-2448] With provider/dispatch services, only the first part should
be mapped (since invoke only has a single param)
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java
cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.2.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java?rev=819616&r1=819615&r2=819616&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java (original)
+++ cxf/branches/2.2.x-fixes/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/interceptor/SoapHeaderInterceptor.java Mon Sep 28 15:57:31 2009
@@ -89,31 +89,32 @@
boolean supportsNode = this.supportsDataReader(message, Node.class);
for (SoapHeaderInfo header : headers) {
MessagePartInfo mpi = header.getPart();
- Header param = findHeader(message, mpi);
-
- Object object = null;
- if (param != null) {
- message.getHeaders().remove(param);
+ if (mpi.getTypeClass() != null) {
+
+ Header param = findHeader(message, mpi);
- if (param.getDataBinding() == null) {
- Node source = (Node)param.getObject();
- if (supportsNode) {
- object = getNodeDataReader(message).read(mpi, source);
+ Object object = null;
+ if (param != null) {
+ message.getHeaders().remove(param);
+
+ if (param.getDataBinding() == null) {
+ Node source = (Node)param.getObject();
+ if (supportsNode) {
+ object = getNodeDataReader(message).read(mpi, source);
+ } else {
+ W3CDOMStreamReader reader = new W3CDOMStreamReader((Element)source);
+ try {
+ reader.nextTag(); //advance into the first tag
+ } catch (XMLStreamException e) {
+ //ignore
+ }
+ object = getDataReader(message, XMLStreamReader.class).read(mpi, reader);
+ }
} else {
- W3CDOMStreamReader reader = new W3CDOMStreamReader((Element)source);
- try {
- reader.nextTag(); //advance into the first tag
- } catch (XMLStreamException e) {
- //ignore
- }
- object = getDataReader(message, XMLStreamReader.class).read(mpi, reader);
+ object = param.getObject();
}
- } else {
- object = param.getObject();
+
}
-
- }
- if (mpi.getTypeClass() != null) {
parameters.put(mpi, object);
}
}
Modified: cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java?rev=819616&r1=819615&r2=819616&view=diff
==============================================================================
--- cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java (original)
+++ cxf/branches/2.2.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java Mon Sep 28 15:57:31 2009
@@ -280,6 +280,7 @@
}
for (MessagePartInfo inf : o.getInput().getMessageParts()) {
inf.setTypeClass(c);
+ break;
}
}
if (o.getOutput() != null) {
@@ -291,6 +292,7 @@
}
for (MessagePartInfo inf : o.getOutput().getMessageParts()) {
inf.setTypeClass(c);
+ break;
}
}
getMethodDispatcher().bind(o, invoke);