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/08/13 17:39:11 UTC
svn commit: r1372470 - in /cxf/branches/2.5.x-fixes/rt:
core/src/main/java/org/apache/cxf/interceptor/
frontend/jaxws/src/main/java/org/apache/cxf/jaxws/
frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/
Author: dkulp
Date: Mon Aug 13 15:39:10 2012
New Revision: 1372470
URL: http://svn.apache.org/viewvc?rev=1372470&view=rev
Log:
Merged revisions 1372458 via git cherry-pick from
https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes
........
r1372458 | dkulp | 2012-08-13 11:15:36 -0400 (Mon, 13 Aug 2012) | 10 lines
Merged revisions 1372455 via git cherry-pick from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1372455 | dkulp | 2012-08-13 11:02:14 -0400 (Mon, 13 Aug 2012) | 2 lines
Split handling of validation of parts from doc-lit-bare forcing as they are two separate things.
........
........
Modified:
cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java
cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java
cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
Modified: cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java?rev=1372470&r1=1372469&r2=1372470&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java (original)
+++ cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/DocLiteralInInterceptor.java Mon Aug 13 15:39:10 2012
@@ -194,13 +194,15 @@ public class DocLiteralInInterceptor ext
p = findMessagePart(exchange, operations, elName, client, paramNum, message);
}
- //Make sure the elName found on the wire is actually OK for
- //the purpose we need it
- validatePart(p, elName, message);
+ boolean dlb = Boolean.TRUE.equals(si.getProperty("soap.force.doclit.bare"));
+ if (!dlb) {
+ //Make sure the elName found on the wire is actually OK for
+ //the purpose we need it
+ validatePart(p, elName, message);
+ }
o = dr.read(p, xmlReader);
- if (MessageUtils.getContextualBoolean(message, "soap.force.doclit.bare", false)
- && parameters.isEmpty()) {
+ if (dlb && parameters.isEmpty()) {
// webservice provider does not need to ensure size
parameters.add(o);
} else {
@@ -240,13 +242,16 @@ public class DocLiteralInInterceptor ext
}
}
- if (MessageUtils.getContextualBoolean(m, "soap.force.doclit.bare", false)) {
+ if (MessageUtils.getContextualBoolean(m, "soap.no.validate.parts", false)) {
// something like a Provider service or similar that is forcing a
// doc/lit/bare on an endpoint that may not really be doc/lit/bare.
// we need to just let these through per spec so the endpoint
// can process it
synth = true;
}
+ if (synth) {
+ return;
+ }
if (p.isElement()) {
if (p.getConcreteName() != null
&& !elName.equals(p.getConcreteName())
Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java?rev=1372470&r1=1372469&r2=1372470&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java Mon Aug 13 15:39:10 2012
@@ -49,6 +49,7 @@ import org.apache.cxf.service.invoker.In
import org.apache.cxf.service.invoker.SingletonFactory;
import org.apache.cxf.service.model.BindingInfo;
import org.apache.cxf.service.model.BindingOperationInfo;
+import org.apache.cxf.service.model.EndpointInfo;
/**
* Bean to help easily create Server endpoints for JAX-WS.
@@ -183,6 +184,9 @@ public class JaxWsServerFactoryBean exte
if (implInfo.isWebServiceProvider()) {
bindingInfo.getService().setProperty("soap.force.doclit.bare", Boolean.TRUE);
if (this.getServiceFactory().isPopulateFromClass()) {
+ for (EndpointInfo ei : bindingInfo.getService().getEndpoints()) {
+ ei.setProperty("soap.no.validate.parts", Boolean.TRUE);
+ }
//Provider, but no wsdl. Synthetic ops
for (BindingOperationInfo op : bindingInfo.getOperations()) {
op.setProperty("operation.is.synthetic", Boolean.TRUE);
Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java?rev=1372470&r1=1372469&r2=1372470&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/ServiceImpl.java Mon Aug 13 15:39:10 2012
@@ -290,6 +290,11 @@ public class ServiceImpl extends Service
configureObject(dispatchService);
for (ServiceInfo si : dispatchService.getServiceInfos()) {
si.setProperty("soap.force.doclit.bare", Boolean.TRUE);
+ if (null == wsdlURL) {
+ for (EndpointInfo ei : si.getEndpoints()) {
+ ei.setProperty("soap.no.validate.parts", Boolean.TRUE);
+ }
+ }
}
return serviceFactory;
}
Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java?rev=1372470&r1=1372469&r2=1372470&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java Mon Aug 13 15:39:10 2012
@@ -324,6 +324,11 @@ public class JaxWsServiceFactoryBean ext
// Bind every operation to the invoke method.
for (ServiceInfo si : getService().getServiceInfos()) {
si.setProperty("soap.force.doclit.bare", Boolean.TRUE);
+ if (!isFromWsdl()) {
+ for (EndpointInfo ei : si.getEndpoints()) {
+ ei.setProperty("soap.no.validate.parts", Boolean.TRUE);
+ }
+ }
for (BindingInfo bind : si.getBindings()) {
for (BindingOperationInfo bop : bind.getOperations()) {
OperationInfo o = bop.getOperationInfo();