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 2008/10/14 13:04:52 UTC
svn commit: r704459 - in
/servicemix/components/bindings/servicemix-cxf-bc/trunk/src:
main/java/org/apache/servicemix/cxfbc/
main/java/org/apache/servicemix/cxfbc/interceptors/
test/resources/org/apache/servicemix/cxfbc/
Author: ffang
Date: Tue Oct 14 04:04:50 2008
New Revision: 704459
URL: http://svn.apache.org/viewvc?rev=704459&view=rev
Log:
[SM-1602|SM1603]Cxf bc provider should handle MTOM response correctly regardless of the mtomEnabled flag value
Modified:
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/mtom_bridge_http_jms.xml
Modified: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java?rev=704459&r1=704458&r2=704459&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java (original)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcProviderMessageObserver.java Tue Oct 14 04:04:50 2008
@@ -126,9 +126,7 @@
inList.add(new MustUnderstandInterceptor());
inList.add(new StaxInInterceptor());
inList.add(new JbiInWsdl1Interceptor(this.providerEndpoint.isUseJBIWrapper()));
- if (providerEndpoint.isMtomEnabled()) {
- inList.add(new AttachmentInInterceptor());
- }
+ inList.add(new AttachmentInInterceptor());
PhaseInterceptorChain inChain = inboundChainCache.get(pm
.getInPhases(), inList);
inChain.add(providerEndpoint.getInInterceptors());
@@ -148,17 +146,13 @@
} else if (messageExchange instanceof InOut) {
NormalizedMessage msg = messageExchange.createMessage();
msg.setContent(soapMessage.getContent(Source.class));
- if (providerEndpoint.isMtomEnabled()) {
- toNMSAttachments(msg, soapMessage);
- }
+ toNMSAttachments(msg, soapMessage);
messageExchange.setMessage(msg, "out");
} else if (messageExchange instanceof InOptionalOut) {
if (soapMessage.getContent(Source.class) != null) {
NormalizedMessage msg = messageExchange.createMessage();
msg.setContent(soapMessage.getContent(Source.class));
- if (providerEndpoint.isMtomEnabled()) {
- toNMSAttachments(msg, soapMessage);
- }
+ toNMSAttachments(msg, soapMessage);
messageExchange.setMessage(msg, "out");
} else {
messageExchange.setStatus(ExchangeStatus.DONE);
Modified: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java?rev=704459&r1=704458&r2=704459&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java (original)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/interceptors/JbiOutInterceptor.java Tue Oct 14 04:04:50 2008
@@ -38,6 +38,7 @@
import org.apache.cxf.binding.soap.model.SoapHeaderInfo;
import org.apache.cxf.endpoint.Endpoint;
import org.apache.cxf.headers.Header;
+import org.apache.cxf.interceptor.AttachmentOutInterceptor;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Attachment;
import org.apache.cxf.message.Message;
@@ -164,11 +165,17 @@
attachmentList.add(attachment);
}
message.setAttachments(attachmentList);
+
if (message instanceof SoapMessage) {
SoapMessage soapMessage = (SoapMessage)message;
SoapVersion soapVersion = soapMessage.getVersion();
message.put(Message.CONTENT_TYPE, soapVersion.getContentType());
}
+ if (attachmentList.size() > 0) {
+ message.put(org.apache.cxf.message.Message.MTOM_ENABLED, true);
+ message.put("write.attachments", true);
+ message.getInterceptorChain().add(new AttachmentOutInterceptor());
+ }
}
@@ -210,6 +217,8 @@
}
}
}
+
+
}
private boolean isRequestor(org.apache.cxf.message.Message message) {
Modified: servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/mtom_bridge_http_jms.xml
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/mtom_bridge_http_jms.xml?rev=704459&r1=704458&r2=704459&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/mtom_bridge_http_jms.xml (original)
+++ servicemix/components/bindings/servicemix-cxf-bc/trunk/src/test/resources/org/apache/servicemix/cxfbc/mtom_bridge_http_jms.xml Tue Oct 14 04:04:50 2008
@@ -50,7 +50,7 @@
service="mtom:TestMtomProviderService"
endpoint="TestMtomProviderJmsPort"
interfaceName="mtom:TestMtom"
- mtomEnabled="true"
+ mtomEnabled="false"
>
<cxfbc:inInterceptors>
<bean class="org.apache.cxf.interceptor.LoggingInInterceptor"/>