Author: jliu
Date: Wed Jul 11 23:17:22 2007
New Revision: 555504
URL: http://svn.apache.org/viewvc?view=rev&rev=555504
Log:
CXF-773: Logical/Soap handlers does not work on the Provider side.
Added:
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchInDatabindingInterceptor.java
- copied, changed from r555461,
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchInInterceptor.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchOutDatabindingInterceptor.java
- copied, changed from r555461,
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchOutInterceptor.java
Removed:
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchInInterceptor.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchOutInterceptor.java
Modified:
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
Modified:
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java?view=diff&rev=555504&r1=555503&r2=555504
==============================================================================
---
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java
(original)
+++
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/DispatchImpl.java
Wed Jul 11 23:17:22 2007
@@ -64,8 +64,8 @@
import org.apache.cxf.interceptor.MessageSenderInterceptor;
import org.apache.cxf.jaxws.handler.logical.DispatchLogicalHandlerInterceptor;
import org.apache.cxf.jaxws.handler.soap.DispatchSOAPHandlerInterceptor;
-import org.apache.cxf.jaxws.interceptors.DispatchInInterceptor;
-import org.apache.cxf.jaxws.interceptors.DispatchOutInterceptor;
+import org.apache.cxf.jaxws.interceptors.DispatchInDatabindingInterceptor;
+import org.apache.cxf.jaxws.interceptors.DispatchOutDatabindingInterceptor;
import org.apache.cxf.jaxws.support.ContextPropertiesMapping;
import org.apache.cxf.jaxws.support.JaxWsEndpointImpl;
import org.apache.cxf.message.Exchange;
@@ -250,7 +250,7 @@
chain.add(new MessageSenderInterceptor());
- chain.add(new DispatchOutInterceptor(mode));
+ chain.add(new DispatchOutDatabindingInterceptor(mode));
return chain;
}
@@ -281,7 +281,7 @@
}
List<Interceptor> inInterceptors = new ArrayList<Interceptor>();
- inInterceptors.add(new DispatchInInterceptor(cl, mode));
+ inInterceptors.add(new DispatchInDatabindingInterceptor(cl, mode));
chain.add(inInterceptors);
// execute chain
Copied:
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchInDatabindingInterceptor.java
(from r555461,
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchInInterceptor.java)
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchInDatabindingInterceptor.java?view=diff&rev=555504&p1=incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchInInterceptor.java&r1=555461&p2=incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchInDatabindingInterceptor.java&r2=555504
==============================================================================
---
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchInInterceptor.java
(original)
+++
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchInDatabindingInterceptor.java
Wed Jul 11 23:17:22 2007
@@ -60,13 +60,13 @@
import org.apache.cxf.service.model.BindingOperationInfo;
import org.apache.cxf.staxutils.W3CDOMStreamWriter;
-public class DispatchInInterceptor extends AbstractInDatabindingInterceptor {
+public class DispatchInDatabindingInterceptor extends
AbstractInDatabindingInterceptor {
- private static final Logger LOG =
Logger.getLogger(DispatchInInterceptor.class.getName());
+ private static final Logger LOG =
Logger.getLogger(DispatchInDatabindingInterceptor.class.getName());
private Class type;
private Service.Mode mode;
- public DispatchInInterceptor(Class type, Mode mode) {
+ public DispatchInDatabindingInterceptor(Class type, Mode mode) {
super(Phase.READ);
this.type = type;
Copied:
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchOutDatabindingInterceptor.java
(from r555461,
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchOutInterceptor.java)
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchOutDatabindingInterceptor.java?view=diff&rev=555504&p1=incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchOutInterceptor.java&r1=555461&p2=incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchOutDatabindingInterceptor.java&r2=555504
==============================================================================
---
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchOutInterceptor.java
(original)
+++
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/interceptors/DispatchOutDatabindingInterceptor.java
Wed Jul 11 23:17:22 2007
@@ -54,15 +54,15 @@
import org.apache.cxf.staxutils.W3CDOMStreamWriter;
import org.apache.cxf.wsdl.WSDLConstants;
-public class DispatchOutInterceptor extends AbstractOutDatabindingInterceptor {
- private static final Logger LOG =
LogUtils.getL7dLogger(DispatchOutInterceptor.class);
- private DispatchOutEndingInterceptor ending;
+public class DispatchOutDatabindingInterceptor extends
AbstractOutDatabindingInterceptor {
+ private static final Logger LOG =
LogUtils.getL7dLogger(DispatchOutDatabindingInterceptor.class);
+ private DispatchOutDatabindingEndingInterceptor ending;
private Service.Mode mode;
- public DispatchOutInterceptor(Mode mode) {
+ public DispatchOutDatabindingInterceptor(Mode mode) {
super(Phase.WRITE);
- ending = new DispatchOutEndingInterceptor();
+ ending = new DispatchOutDatabindingEndingInterceptor();
this.mode = mode;
}
@@ -153,8 +153,8 @@
message.getInterceptorChain().add(ending);
}
- private class DispatchOutEndingInterceptor extends
AbstractOutDatabindingInterceptor {
- public DispatchOutEndingInterceptor() {
+ private class DispatchOutDatabindingEndingInterceptor extends
AbstractOutDatabindingInterceptor {
+ public DispatchOutDatabindingEndingInterceptor() {
super(Phase.WRITE_ENDING);
}
Modified:
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java?view=diff&rev=555504&r1=555503&r2=555504
==============================================================================
---
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java
(original)
+++
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsEndpointImpl.java
Wed Jul 11 23:17:22 2007
@@ -34,10 +34,12 @@
import org.apache.cxf.jaxws.binding.http.HTTPBindingImpl;
import org.apache.cxf.jaxws.binding.soap.SOAPBindingImpl;
//import org.apache.cxf.jaxws.handler.StreamHandlerInterceptor;
+import org.apache.cxf.jaxws.handler.logical.DispatchLogicalHandlerInterceptor;
import org.apache.cxf.jaxws.handler.logical.LogicalHandlerFaultInInterceptor;
import org.apache.cxf.jaxws.handler.logical.LogicalHandlerFaultOutInterceptor;
import org.apache.cxf.jaxws.handler.logical.LogicalHandlerInInterceptor;
import org.apache.cxf.jaxws.handler.logical.LogicalHandlerOutInterceptor;
+import org.apache.cxf.jaxws.handler.soap.DispatchSOAPHandlerInterceptor;
import org.apache.cxf.jaxws.handler.soap.SOAPHandlerFaultInInterceptor;
import org.apache.cxf.jaxws.handler.soap.SOAPHandlerFaultOutInterceptor;
import org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor;
@@ -47,6 +49,7 @@
import org.apache.cxf.jaxws.interceptors.SwAOutInterceptor;
import org.apache.cxf.jaxws.interceptors.WrapperClassInInterceptor;
import org.apache.cxf.jaxws.interceptors.WrapperClassOutInterceptor;
+import org.apache.cxf.phase.Phase;
import org.apache.cxf.service.Service;
import org.apache.cxf.service.model.EndpointInfo;
@@ -78,12 +81,14 @@
List<Interceptor> out = super.getOutInterceptors();
if (implInfo != null && implInfo.isWebServiceProvider()) {
- in.add(new LogicalHandlerInInterceptor(jaxwsBinding));
- out.add(new LogicalHandlerOutInterceptor(jaxwsBinding));
+ DispatchLogicalHandlerInterceptor slhi = new
DispatchLogicalHandlerInterceptor(jaxwsBinding,
+ Phase.USER_LOGICAL);
+ in.add(slhi);
+ out.add(new DispatchLogicalHandlerInterceptor(jaxwsBinding));
if (getBinding() instanceof SoapBinding) {
- in.add(new SOAPHandlerInterceptor(jaxwsBinding));
- out.add(new SOAPHandlerInterceptor(jaxwsBinding));
+ in.add(new DispatchSOAPHandlerInterceptor(jaxwsBinding));
+ out.add(new DispatchSOAPHandlerInterceptor(jaxwsBinding));
}
} else {
// Inbound chain
Modified:
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
URL:
http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java?view=diff&rev=555504&r1=555503&r2=555504
==============================================================================
---
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
(original)
+++
incubator/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java
Wed Jul 11 23:17:22 2007
@@ -42,8 +42,8 @@
import org.apache.cxf.frontend.SimpleMethodDispatcher;
import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.jaxws.JAXWSMethodDispatcher;
-import org.apache.cxf.jaxws.interceptors.DispatchInInterceptor;
-import org.apache.cxf.jaxws.interceptors.DispatchOutInterceptor;
+import org.apache.cxf.jaxws.interceptors.DispatchInDatabindingInterceptor;
+import org.apache.cxf.jaxws.interceptors.DispatchOutDatabindingInterceptor;
import org.apache.cxf.jaxws.interceptors.WebFaultOutInterceptor;
import org.apache.cxf.service.factory.AbstractServiceConfiguration;
import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
@@ -116,8 +116,8 @@
Class<?> type = implInfo.getProviderParameterType();
Mode mode = implInfo.getServiceMode();
- getService().getInInterceptors().add(new
DispatchInInterceptor(type, mode));
- getService().getOutInterceptors().add(new
DispatchOutInterceptor(mode));
+ getService().getInInterceptors().add(new
DispatchInDatabindingInterceptor(type, mode));
+ getService().getOutInterceptors().add(new
DispatchOutDatabindingInterceptor(mode));
}
}