You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ff...@apache.org on 2009/09/09 05:26:01 UTC
svn commit: r812757 - in
/servicemix/smx3/branches/servicemix-3.2/deployables:
bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/
bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/
s...
Author: ffang
Date: Wed Sep 9 03:25:57 2009
New Revision: 812757
URL: http://svn.apache.org/viewvc?rev=812757&view=rev
Log:
[SMXCOMP-633]check if the NormalizedMessage is fault in org.apache.servicemix.cxfse.interceptors.AttachmentInInterceptor
Modified:
servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderMtomTest.java
servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java
servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml
servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-cxf-se/src/main/java/org/apache/servicemix/cxfse/interceptors/AttachmentInInterceptor.java
Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderMtomTest.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderMtomTest.java?rev=812757&r1=812756&r2=812757&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderMtomTest.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/CxfBcProviderMtomTest.java Wed Sep 9 03:25:57 2009
@@ -23,9 +23,14 @@
import javax.xml.namespace.QName;
import javax.xml.ws.soap.SOAPBinding;
+import org.apache.cxf.calculator.CalculatorPortType;
+import org.apache.cxf.endpoint.Endpoint;
+import org.apache.cxf.endpoint.Server;
import org.apache.cxf.interceptor.LoggingInInterceptor;
import org.apache.cxf.interceptor.LoggingOutInterceptor;
import org.apache.cxf.jaxws.EndpointImpl;
+import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
+import org.apache.cxf.service.model.ServiceInfo;
import org.apache.servicemix.client.DefaultServiceMixClient;
import org.apache.servicemix.cxfbc.mtom.TestMtomImpl;
import org.apache.servicemix.cxfse.CxfSeComponent;
@@ -90,6 +95,45 @@
}
+ public void testMtomWithException() throws Exception {
+ // start external service
+ JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
+ factory.setServiceClass(CalculatorPortType.class);
+ factory.setServiceBean(new CalculatorImpl());
+ String address = "http://localhost:9001/providertest";
+ factory.setAddress(address);
+ factory.setBindingId("http://schemas.xmlsoap.org/wsdl/soap12/");
+ Server server = factory.create();
+ Endpoint endpoint = server.getEndpoint();
+ endpoint.getInInterceptors().add(new LoggingInInterceptor());
+ endpoint.getOutInterceptors().add(new LoggingOutInterceptor());
+ ServiceInfo service = endpoint.getEndpointInfo().getService();
+ assertNotNull(service);
+ client = new DefaultServiceMixClient(jbi);
+ io = client.createInOutExchange();
+ io.setService(new QName("http://apache.org/hello_world_soap_http",
+ "SOAPServiceProvider"));
+ io.setInterfaceName(new QName(
+ "http://apache.org/hello_world_soap_http", "Greeter"));
+ // send message to proxy
+ io
+ .getInMessage()
+ .setContent(
+ new StringSource(
+ "<message xmlns='http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper'>"
+ + "<part> "
+ + "<greetMe xmlns='http://apache.org/hello_world_soap_http/types'><requestType>"
+ + "ffang with mtom exception"
+ + "</requestType></greetMe>"
+ + "</part> " + "</message>"));
+ client.sendSync(io);
+ assertTrue(new SourceTransformer()
+ .contentToString(io.getOutMessage())
+ .indexOf(
+ "Hello ffang with mtom exception Negative number cant be added!") >= 0);
+ client.done(io);
+ }
+
@Override
protected AbstractXmlApplicationContext createBeanFactory() {
Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java?rev=812757&r1=812756&r2=812757&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/GreeterImplForProvider.java Wed Sep 9 03:25:57 2009
@@ -53,6 +53,7 @@
public class GreeterImplForProvider implements Greeter {
private ComponentContext context;
private CalculatorPortType calculator;
+ private CalculatorPortType calculatorWithMtom;
private NoServicePortType calculatorNotExist;
private Greeter greeter;
private Greeter securityGreeter;
@@ -129,6 +130,8 @@
} catch (UndeclaredThrowableException ex) {
throw (Exception) ex.getCause();
}
+ } else if ("ffang with mtom exception".equals(me)) {
+ getCalculatorWithMtom().add(-1, -1);
}
} catch (AddNumbersFault e) {
@@ -297,6 +300,14 @@
return mtom;
}
+ public void setCalculatorWithMtom(CalculatorPortType calculatorWithMtom) {
+ this.calculatorWithMtom = calculatorWithMtom;
+ }
+
+ public CalculatorPortType getCalculatorWithMtom() {
+ return calculatorWithMtom;
+ }
+
public void setProviderGreeter(org.apache.hello_world_soap_http_provider.Greeter providerGreeter) {
this.providerGreeter = providerGreeter;
Modified: servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml?rev=812757&r1=812756&r2=812757&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/resources/org/apache/servicemix/cxfbc/provider/xbean.xml Wed Sep 9 03:25:57 2009
@@ -50,6 +50,9 @@
<property name="mtom">
<cxfse:proxy service="mtom:TestMtomService" context="#context" type="org.apache.cxf.mime.TestMtom" mtomEnabled="true"/>
</property>
+ <property name="calculatorWithMtom">
+ <cxfse:proxy service="calculator:CalculatorService" context="#context" type="org.apache.cxf.calculator.CalculatorPortType" mtomEnabled="true"/>
+ </property>
</bean>
</cxfse:pojo>
Modified: servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-cxf-se/src/main/java/org/apache/servicemix/cxfse/interceptors/AttachmentInInterceptor.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-cxf-se/src/main/java/org/apache/servicemix/cxfse/interceptors/AttachmentInInterceptor.java?rev=812757&r1=812756&r2=812757&view=diff
==============================================================================
--- servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-cxf-se/src/main/java/org/apache/servicemix/cxfse/interceptors/AttachmentInInterceptor.java (original)
+++ servicemix/smx3/branches/servicemix-3.2/deployables/serviceengines/servicemix-cxf-se/src/main/java/org/apache/servicemix/cxfse/interceptors/AttachmentInInterceptor.java Wed Sep 9 03:25:57 2009
@@ -48,6 +48,12 @@
} else {
norMessage = (NormalizedMessage) exchange.getMessage("in");
}
+ if (norMessage == null) {
+ norMessage = (NormalizedMessage) exchange.getFault();
+ }
+ if (norMessage == null) {
+ return;
+ }
Set names = norMessage.getAttachmentNames();
for (Object obj : names) {
String id = (String)obj;