You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2008/11/06 03:45:50 UTC
svn commit: r711756 - in /activemq/camel/trunk/components/camel-cxf/src:
main/java/org/apache/camel/component/cxf/spring/ main/resources/schema/
test/java/org/apache/camel/component/cxf/
test/java/org/apache/camel/wsdl_first/ test/resources/org/apache/...
Author: ningjiang
Date: Wed Nov 5 18:45:49 2008
New Revision: 711756
URL: http://svn.apache.org/viewvc?rev=711756&view=rev
Log:
CAMEL-1056 Patch applied with thanks to William
Added:
activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/JaxwsTestHandler.java (with props)
Modified:
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBean.java
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java
activemq/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd
activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstProcessorTest.java
activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstTest.java
activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstBeans.xml
activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstProcessor.xml
Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBean.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBean.java?rev=711756&r1=711755&r2=711756&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBean.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBean.java Wed Nov 5 18:45:49 2008
@@ -17,6 +17,8 @@
package org.apache.camel.component.cxf.spring;
+import java.util.List;
+
import org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory;
import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
@@ -24,7 +26,17 @@
*
*/
public class CxfEndpointBean extends AbstractWSDLBasedEndpointFactory {
+ private List handlers;
+
public CxfEndpointBean() {
setServiceFactory(new ReflectionServiceFactoryBean());
}
+
+ public List getHandlers() {
+ return handlers;
+ }
+
+ public void setHandlers(List handlers) {
+ this.handlers = handlers;
+ }
}
Modified: activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java?rev=711756&r1=711755&r2=711756&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/spring/CxfEndpointBeanDefinitionParser.java Wed Nov 5 18:45:49 2008
@@ -55,7 +55,8 @@
setFirstChildAsProperty(el, ctx, bean, "bindingConfig");
} else if ("inInterceptors".equals(name) || "inFaultInterceptors".equals(name)
|| "outInterceptors".equals(name) || "outFaultInterceptors".equals(name)
- || "features".equals(name) || "schemaLocations".equals(name)) {
+ || "features".equals(name) || "schemaLocations".equals(name)
+ || "handlers".equals(name)) {
java.util.List list = (java.util.List)ctx.getDelegate().parseListElement(el, bean.getBeanDefinition());
bean.addPropertyValue(name, list);
} else {
Modified: activemq/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd?rev=711756&r1=711755&r2=711756&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd (original)
+++ activemq/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd Wed Nov 5 18:45:49 2008
@@ -41,6 +41,7 @@
<xsd:element name="inFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
<xsd:element name="outInterceptors" type="xsd:anyType" minOccurs="0"/>
<xsd:element name="outFaultInterceptors" type="xsd:anyType" minOccurs="0"/>
+ <xsd:element name="handlers" type="xsd:anyType" minOccurs="0"/>
<xsd:element name="properties" type="beans:mapType" minOccurs="0"/>
<xsd:element name="schemaLocations" type="schemasType" minOccurs="0"/>
<xsd:element name="serviceBean" type="xsd:anyType" minOccurs="0"/>
Modified: activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstProcessorTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstProcessorTest.java?rev=711756&r1=711755&r2=711756&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstProcessorTest.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstProcessorTest.java Wed Nov 5 18:45:49 2008
@@ -16,22 +16,6 @@
*/
package org.apache.camel.component.cxf;
-import java.net.URL;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.Endpoint;
-import javax.xml.ws.Holder;
-
-import org.apache.camel.CamelContext;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.spring.SpringTestSupport;
-import org.apache.camel.wsdl_first.Person;
-import org.apache.camel.wsdl_first.PersonImpl;
-import org.apache.camel.wsdl_first.PersonService;
-import org.apache.camel.wsdl_first.UnknownPersonFault;
-import org.apache.cxf.endpoint.ServerImpl;
-import org.apache.cxf.frontend.ClientProxy;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class CxfWsdlFirstProcessorTest extends CxfWsdlFirstTest {
@@ -41,4 +25,13 @@
return new ClassPathXmlApplicationContext("org/apache/camel/component/cxf/WsdlFirstProcessor.xml");
}
+ @Override
+ protected int getExpectedJaxwsHandlerMessageCount() {
+ return 4;
+ }
+
+ @Override
+ protected int getExpectedJaxwsHandlerFaultCount() {
+ return 2;
+ }
}
Modified: activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstTest.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstTest.java?rev=711756&r1=711755&r2=711756&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstTest.java (original)
+++ activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstTest.java Wed Nov 5 18:45:49 2008
@@ -21,7 +21,6 @@
import java.util.List;
import javax.xml.namespace.QName;
-import javax.xml.ws.BindingProvider;
import javax.xml.ws.Endpoint;
import javax.xml.ws.Holder;
import javax.xml.ws.WebServiceException;
@@ -31,13 +30,12 @@
import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.spring.SpringTestSupport;
+import org.apache.camel.wsdl_first.JaxwsTestHandler;
import org.apache.camel.wsdl_first.Person;
import org.apache.camel.wsdl_first.PersonImpl;
import org.apache.camel.wsdl_first.PersonService;
import org.apache.camel.wsdl_first.UnknownPersonFault;
import org.apache.cxf.endpoint.ServerImpl;
-import org.apache.cxf.frontend.ClientProxy;
-import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.EndpointImpl;
import org.springframework.context.support.ClassPathXmlApplicationContext;
@@ -86,6 +84,8 @@
public void testInvokingServiceFromCXFClient() throws Exception {
+ JaxwsTestHandler myHandler = getMandatoryBean(JaxwsTestHandler.class, "myJaxwsHandler");
+ myHandler.reset();
URL wsdlURL = getClass().getClassLoader().getResource("person.wsdl");
PersonService ss = new PersonService(wsdlURL, new QName("http://camel.apache.org/wsdl-first", "PersonService"));
Person client = ss.getSoap();
@@ -112,7 +112,18 @@
// Caught expected WebServiceException here
assertTrue("Should get the xml vaildate error!", ex.getMessage().indexOf("MyStringType") > 0);
}
+
+ assertEquals(getExpectedJaxwsHandlerFaultCount(), myHandler.getFaultCount());
+ assertEquals(getExpectedJaxwsHandlerMessageCount(), myHandler.getMessageCount());
+
+ }
+
+ protected int getExpectedJaxwsHandlerMessageCount() {
+ return 11;
+ }
+ protected int getExpectedJaxwsHandlerFaultCount() {
+ return 8;
}
@SuppressWarnings("unchecked")
Added: activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/JaxwsTestHandler.java
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/JaxwsTestHandler.java?rev=711756&view=auto
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/JaxwsTestHandler.java (added)
+++ activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/JaxwsTestHandler.java Wed Nov 5 18:45:49 2008
@@ -0,0 +1,62 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.wsdl_first;
+
+import java.util.Set;
+import javax.xml.namespace.QName;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPHandler;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+
+public class JaxwsTestHandler implements SOAPHandler<SOAPMessageContext> {
+
+ private int faultCount;
+ private int messageCount;
+
+ public Set<QName> getHeaders() {
+ return null;
+ }
+
+ public void close(MessageContext messagecontext) {
+
+ }
+
+ public boolean handleFault(SOAPMessageContext messagecontext) {
+ faultCount++;
+ return true;
+ }
+
+ public boolean handleMessage(SOAPMessageContext messagecontext) {
+ messageCount++;
+ return true;
+ }
+
+ public void reset() {
+ faultCount = 0;
+ messageCount = 0;
+ }
+
+ public int getFaultCount() {
+ return faultCount;
+ }
+
+ public int getMessageCount() {
+ return messageCount;
+ }
+
+
+}
Propchange: activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/JaxwsTestHandler.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/wsdl_first/JaxwsTestHandler.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstBeans.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstBeans.xml?rev=711756&r1=711755&r2=711756&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstBeans.xml (original)
+++ activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstBeans.xml Wed Nov 5 18:45:49 2008
@@ -34,7 +34,10 @@
xmlns:person="http://camel.apache.org/wsdl-first">
<cxf:properties>
<entry key="schema-validation-enabled" value="true" />
- </cxf:properties>
+ </cxf:properties>
+ <cxf:handlers>
+ <ref bean="myJaxwsHandler"/>
+ </cxf:handlers>
</cxf:cxfEndpoint>
@@ -58,5 +61,7 @@
</camelContext>
+ <bean id="myJaxwsHandler" class="org.apache.camel.wsdl_first.JaxwsTestHandler"/>
+
</beans>
Modified: activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstProcessor.xml
URL: http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstProcessor.xml?rev=711756&r1=711755&r2=711756&view=diff
==============================================================================
--- activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstProcessor.xml (original)
+++ activemq/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstProcessor.xml Wed Nov 5 18:45:49 2008
@@ -36,6 +36,9 @@
<cxf:properties>
<entry key="schema-validation-enabled" value="true" />
</cxf:properties>
+ <cxf:handlers>
+ <ref bean="myJaxwsHandler"/>
+ </cxf:handlers>
</cxf:cxfEndpoint>
<cxf:cxfEndpoint id="serviceEndpoint"
@@ -63,6 +66,8 @@
</camelContext>
+
+ <bean id="myJaxwsHandler" class="org.apache.camel.wsdl_first.JaxwsTestHandler"/>
</beans>