Author: wtam
Date: Fri Aug 13 20:57:47 2010
New Revision: 985362
URL: http://svn.apache.org/viewvc?rev=985362&view=rev
Log:
[CAMEL-3055] camel-cxf component to support SOAP with Attachment in Payload mode
Added:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
(with props)
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
(with props)
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest-context.xml
(with props)
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest-context.xml
(with props)
Modified:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest.java
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/MtomTestHelper.java
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest-context.xml
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest-context.xml
Modified:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java?rev=985362&r1=985361&r2=985362&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
(original)
+++
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfComponent.java
Fri Aug 13 20:57:47 2010
@@ -24,6 +24,7 @@ import org.apache.camel.Endpoint;
import org.apache.camel.component.cxf.spring.CxfEndpointBean;
import org.apache.camel.impl.HeaderFilterStrategyComponent;
import org.apache.camel.util.CamelContextHelper;
+import org.apache.cxf.message.Message;
/**
* Defines the <a href="http://camel.apache.org/cxf.html">CXF Component</a>
@@ -70,6 +71,7 @@ public class CxfComponent extends Header
Map<String, Object> copy = new HashMap<String, Object>();
copy.putAll(bean.getProperties());
setProperties(result, copy);
+
result.setMtomEnabled(Boolean.valueOf((String)copy.get(Message.MTOM_ENABLED)));
}
} else {
Modified:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java?rev=985362&r1=985361&r2=985362&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
(original)
+++
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfConsumer.java
Fri Aug 13 20:57:47 2010
@@ -27,6 +27,7 @@ import org.apache.cxf.endpoint.Server;
import org.apache.cxf.frontend.ServerFactoryBean;
import org.apache.cxf.interceptor.Fault;
import org.apache.cxf.message.Exchange;
+import org.apache.cxf.message.Message;
import org.apache.cxf.service.invoker.Invoker;
import org.apache.cxf.service.model.BindingOperationInfo;
@@ -85,6 +86,8 @@ public class CxfConsumer extends Default
+ "=" + dataFormat);
}
+ camelExchange.setProperty(Message.MTOM_ENABLED,
String.valueOf(endpoint.isMtomEnabled()));
+
// bind the CXF request into a Camel exchange
binding.populateExchangeFromCxfRequest(cxfExchange,
camelExchange);
Modified:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java?rev=985362&r1=985361&r2=985362&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
(original)
+++
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfEndpoint.java
Fri Aug 13 20:57:47 2010
@@ -96,6 +96,7 @@ public class CxfEndpoint extends Default
private boolean isSetDefaultBus;
private boolean loggingFeatureEnabled;
private String address;
+ private boolean mtomEnabled;
public CxfEndpoint(String remaining, CxfComponent cxfComponent) {
super(remaining, cxfComponent);
@@ -564,6 +565,14 @@ public class CxfEndpoint extends Default
return address;
}
+ public void setMtomEnabled(boolean mtomEnabled) {
+ this.mtomEnabled = mtomEnabled;
+ }
+
+ public boolean isMtomEnabled() {
+ return mtomEnabled;
+ }
+
/**
* We need to override the {...@link ClientImpl#setParameters} method
* to insert parameters into CXF Message for {...@link DataFormat#PAYLOAD}
mode.
Modified:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java?rev=985362&r1=985361&r2=985362&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
(original)
+++
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfProducer.java
Fri Aug 13 20:57:47 2010
@@ -141,6 +141,8 @@ public class CxfProducer extends Default
// create invocation context
WrappedMessageContext requestContext = new WrappedMessageContext(
new HashMap<String, Object>(), null, Scope.APPLICATION);
+
+ camelExchange.setProperty(Message.MTOM_ENABLED,
String.valueOf(endpoint.isMtomEnabled()));
// set data format mode in exchange
DataFormat dataFormat = endpoint.getDataFormat();
Modified:
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java?rev=985362&r1=985361&r2=985362&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
(original)
+++
camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/DefaultCxfBinding.java
Fri Aug 13 20:57:47 2010
@@ -94,12 +94,13 @@ public class DefaultCxfBinding implement
// propagate attachments
Set<Attachment> attachments = null;
+ boolean isXop =
Boolean.valueOf(camelExchange.getProperty(Message.MTOM_ENABLED, String.class));
for (Map.Entry<String, DataHandler> entry :
camelExchange.getIn().getAttachments().entrySet()) {
if (attachments == null) {
attachments = new HashSet<Attachment>();
}
AttachmentImpl attachment = new AttachmentImpl(entry.getKey(),
entry.getValue());
- attachment.setXOP(true); // only supports MTOM
+ attachment.setXOP(isXop);
attachments.add(attachment);
}
@@ -329,12 +330,13 @@ public class DefaultCxfBinding implement
// propagate attachments
Set<Attachment> attachments = null;
+ boolean isXop =
Boolean.valueOf(camelExchange.getProperty(Message.MTOM_ENABLED, String.class));
for (Map.Entry<String, DataHandler> entry :
camelExchange.getOut().getAttachments().entrySet()) {
if (attachments == null) {
attachments = new HashSet<Attachment>();
}
AttachmentImpl attachment = new AttachmentImpl(entry.getKey(),
entry.getValue());
- attachment.setXOP(true); // only supports MTOM
+ attachment.setXOP(isXop);
attachments.add(attachment);
}
Modified:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java?rev=985362&r1=985361&r2=985362&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
(original)
+++
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest.java
Fri Aug 13 20:57:47 2010
@@ -62,7 +62,7 @@ public class CxfMtomConsumerPayloadModeT
public void process(Exchange exchange) throws Exception {
exchange.setPattern(ExchangePattern.InOut);
List<Element> elements = new ArrayList<Element>();
- elements.add(DOMUtils.readXml(new
StringReader(MtomTestHelper.REQ_MESSAGE)).getDocumentElement());
+ elements.add(DOMUtils.readXml(new
StringReader(getRequestMessage())).getDocumentElement());
CxfPayload<SoapHeader> body = new CxfPayload<SoapHeader>(new
ArrayList<SoapHeader>(),
elements);
exchange.getIn().setBody(body);
@@ -124,4 +124,8 @@ public class CxfMtomConsumerPayloadModeT
}
// END SNIPPET: consumer
+ protected String getRequestMessage() {
+ return MtomTestHelper.REQ_MESSAGE;
+ }
+
}
Added:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java?rev=985362&view=auto
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
(added)
+++
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
Fri Aug 13 20:57:47 2010
@@ -0,0 +1,84 @@
+/**
+ * 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.component.cxf.mtom;
+
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.activation.DataHandler;
+import javax.mail.util.ByteArrayDataSource;
+
+import org.w3c.dom.Element;
+
+import junit.framework.Assert;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.component.cxf.CxfPayload;
+import org.apache.cxf.binding.soap.SoapHeader;
+import org.apache.cxf.helpers.DOMUtils;
+import org.apache.cxf.helpers.IOUtils;
+import org.springframework.test.context.ContextConfiguration;
+
+/**
+* Unit test for exercising SOAP with Attachment (SwA) feature of a CxfConsumer
in PAYLOAD mode.
+* That is, testing attachment with MTOM optimization off.
+*
+* @version $Revision$
+*/
+...@contextconfiguration
+public class CxfMtomDisabledConsumerPayloadModeTest extends
CxfMtomConsumerPayloadModeTest {
+
+ @Override
+ protected String getRequestMessage() {
+ return MtomTestHelper.MTOM_DISABLED_REQ_MESSAGE;
+ }
+
+ public static class MyProcessor implements Processor {
+
+ @SuppressWarnings("unchecked")
+ public void process(Exchange exchange) throws Exception {
+ CxfPayload<SoapHeader> in =
exchange.getIn().getBody(CxfPayload.class);
+
+ // verify request
+ Assert.assertEquals(1, in.getBody().size());
+
+ DataHandler dr =
exchange.getIn().getAttachment(MtomTestHelper.REQ_PHOTO_CID);
+ Assert.assertEquals("application/octet-stream",
dr.getContentType());
+ MtomTestHelper.assertEquals(MtomTestHelper.REQ_PHOTO_DATA,
IOUtils.readBytesFromStream(dr.getInputStream()));
+
+ dr = exchange.getIn().getAttachment(MtomTestHelper.REQ_IMAGE_CID);
+ Assert.assertEquals("image/jpeg", dr.getContentType());
+ MtomTestHelper.assertEquals(MtomTestHelper.requestJpeg,
IOUtils.readBytesFromStream(dr.getInputStream()));
+
+ // create response
+ List<Element> elements = new ArrayList<Element>();
+ elements.add(DOMUtils.readXml(new
StringReader(MtomTestHelper.MTOM_DISABLED_RESP_MESSAGE)).getDocumentElement());
+ CxfPayload<SoapHeader> body = new CxfPayload<SoapHeader>(new
ArrayList<SoapHeader>(),
+ elements);
+ exchange.getOut().setBody(body);
+ exchange.getOut().addAttachment(MtomTestHelper.RESP_PHOTO_CID,
+ new DataHandler(new
ByteArrayDataSource(MtomTestHelper.RESP_PHOTO_DATA,
"application/octet-stream")));
+
+ exchange.getOut().addAttachment(MtomTestHelper.RESP_IMAGE_CID,
+ new DataHandler(new
ByteArrayDataSource(MtomTestHelper.responseJpeg, "image/jpeg")));
+
+ }
+ }
+
+}
Propchange:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java?rev=985362&view=auto
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
(added)
+++
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
Fri Aug 13 20:57:47 2010
@@ -0,0 +1,176 @@
+/**
+ * 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.component.cxf.mtom;
+
+import java.awt.Image;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.activation.DataHandler;
+import javax.activation.DataSource;
+import javax.annotation.Resource;
+import javax.imageio.ImageIO;
+import javax.mail.util.ByteArrayDataSource;
+import javax.xml.ws.Holder;
+import javax.xml.ws.WebServiceContext;
+import javax.xml.ws.handler.MessageContext;
+
+import org.w3c.dom.Element;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.Processor;
+import org.apache.camel.component.cxf.CxfPayload;
+import org.apache.camel.cxf.mtom_feature.Hello;
+import org.apache.cxf.attachment.AttachmentDataSource;
+import org.apache.cxf.binding.soap.SoapHeader;
+import org.apache.cxf.helpers.DOMUtils;
+import org.apache.cxf.helpers.IOUtils;
+import org.junit.Assert;
+import org.springframework.test.context.ContextConfiguration;
+
+/**
+ *
+ * Unit test for exercising SOAP with Attachment (SwA) feature of a
CxfProducer in PAYLOAD mode.
+ * That is, testing attachment with MTOM optimization off.
+ *
+ * @version $Revision$
+ */
+...@contextconfiguration
+public class CxfMtomDisabledProducerPayloadModeTest extends
CxfMtomProducerPayloadModeTest {
+
+ @Override
+ protected boolean isMtomEnabled() {
+ return false;
+ }
+
+ @Override
+ protected Object getServiceImpl() {
+ return new MyHelloImpl();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public void testProducer() throws Exception {
+
+ if (Boolean.getBoolean("java.awt.headless") ||
System.getProperty("os.name").startsWith("Mac OS")) {
+ System.out.println("Running headless. Skipping test as Images may
not work.");
+ return;
+ }
+
+ Exchange exchange =
context.createProducerTemplate().send("direct:testEndpoint", new Processor() {
+
+ public void process(Exchange exchange) throws Exception {
+ exchange.setPattern(ExchangePattern.InOut);
+ List<Element> elements = new ArrayList<Element>();
+ elements.add(DOMUtils.readXml(new
StringReader(MtomTestHelper.MTOM_DISABLED_REQ_MESSAGE)).getDocumentElement());
+ CxfPayload<SoapHeader> body = new CxfPayload<SoapHeader>(new
ArrayList<SoapHeader>(),
+ elements);
+ exchange.getIn().setBody(body);
+ exchange.getIn().addAttachment(MtomTestHelper.REQ_PHOTO_CID,
+ new DataHandler(new
ByteArrayDataSource(MtomTestHelper.REQ_PHOTO_DATA,
"application/octet-stream")));
+
+ exchange.getIn().addAttachment(MtomTestHelper.REQ_IMAGE_CID,
+ new DataHandler(new
ByteArrayDataSource(MtomTestHelper.requestJpeg, "image/jpeg")));
+
+ }
+
+ });
+
+ // process response - verify response attachments
+
+ CxfPayload<SoapHeader> out =
exchange.getOut().getBody(CxfPayload.class);
+ Assert.assertEquals(1, out.getBody().size());
+
+
+ DataHandler dr =
exchange.getOut().getAttachment(MtomTestHelper.RESP_PHOTO_CID);
+ Assert.assertEquals("application/octet-stream", dr.getContentType());
+ MtomTestHelper.assertEquals(MtomTestHelper.RESP_PHOTO_DATA,
IOUtils.readBytesFromStream(dr.getInputStream()));
+
+ dr = exchange.getOut().getAttachment(MtomTestHelper.RESP_IMAGE_CID);
+ Assert.assertEquals("image/jpeg", dr.getContentType());
+
+ BufferedImage image = ImageIO.read(dr.getInputStream());
+ Assert.assertEquals(560, image.getWidth());
+ Assert.assertEquals(300, image.getHeight());
+
+ }
+
+ public static class MyHelloImpl extends HelloImpl implements Hello {
+
+ @Resource
+ WebServiceContext ctx;
+
+ @SuppressWarnings({
+ "rawtypes", "unchecked"
+ })
+ @Override
+ public void detail(Holder<byte[]> photo, Holder<Image> image) {
+
+ // verify request attachments
+ Map<String, DataHandler> map = (Map)
ctx.getMessageContext().get(MessageContext.INBOUND_MESSAGE_ATTACHMENTS);
+ Assert.assertEquals(2, map.size());
+
+ DataHandler dh = map.get(MtomTestHelper.REQ_PHOTO_CID);
+ Assert.assertEquals("application/octet-stream",
dh.getContentType());
+ byte[] bytes = null;
+ try {
+ bytes = IOUtils.readBytesFromStream(dh.getInputStream());
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ MtomTestHelper.assertEquals(bytes, MtomTestHelper.REQ_PHOTO_DATA);
+
+ dh = map.get(MtomTestHelper.REQ_IMAGE_CID);
+ Assert.assertEquals("image/jpeg", dh.getContentType());
+ Object content = null;
+ try {
+ content = (BufferedImage)dh.getContent();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ Assert.assertEquals(41, ((BufferedImage)content).getWidth());
+ Assert.assertEquals(39, ((BufferedImage)content).getHeight());
+
+ // add output attachments
+ map = (Map)
ctx.getMessageContext().get(MessageContext.OUTBOUND_MESSAGE_ATTACHMENTS);
+
+ try {
+ DataSource ds = new AttachmentDataSource("image/jpeg",
getClass().getResourceAsStream("/Splash.jpg"));
+ map.put(MtomTestHelper.RESP_IMAGE_CID, new DataHandler(ds));
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ try {
+ DataSource ds = new
AttachmentDataSource("application/octet-stream",
+ new
ByteArrayInputStream(MtomTestHelper.RESP_PHOTO_DATA));
+ map.put(MtomTestHelper.RESP_PHOTO_CID, new DataHandler(ds));
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+ }
+}
Propchange:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest.java?rev=985362&r1=985361&r2=985362&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest.java
(original)
+++
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest.java
Fri Aug 13 20:57:47 2010
@@ -59,13 +59,13 @@ public class CxfMtomProducerPayloadModeT
@Autowired
protected CamelContext context;
- private Endpoint endpoint;
+ protected Endpoint endpoint;
@Before
public void setUp() throws Exception {
- endpoint = Endpoint.publish("http://localhost:9092/jaxws-mtom/hello",
new HelloImpl());
+ endpoint = Endpoint.publish("http://localhost:9092/jaxws-mtom/hello",
getServiceImpl());
SOAPBinding binding = (SOAPBinding)endpoint.getBinding();
- binding.setMTOMEnabled(true);
+ binding.setMTOMEnabled(isMtomEnabled());
}
@After
@@ -139,4 +139,12 @@ public class CxfMtomProducerPayloadModeT
}
+ protected boolean isMtomEnabled() {
+ return true;
+ }
+
+ protected Object getServiceImpl() {
+ return new HelloImpl();
+ }
+
}
Modified:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/MtomTestHelper.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/MtomTestHelper.java?rev=985362&r1=985361&r2=985362&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/MtomTestHelper.java
(original)
+++
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/mtom/MtomTestHelper.java
Fri Aug 13 20:57:47 2010
@@ -44,6 +44,11 @@ public final class MtomTestHelper {
+ " href=\"cid:" + REQ_PHOTO_CID + "\"/>"
+ "</photo><image><xop:Include
xmlns:xop=\"http://www.w3.org/2004/08/xop/include\""
+ " href=\"cid:" + REQ_IMAGE_CID + "\"/></image></Detail>";
+
+ static final String MTOM_DISABLED_REQ_MESSAGE = "<?xml version=\"1.0\"
encoding=\"utf-8\"?>"
+ + "<Detail xmlns=\"http://apache.org/camel/cxf/mtom_feature/types\">"
+ + "<photo>cid:" + REQ_PHOTO_CID + "</photo>"
+ + "<image>cid:" + REQ_IMAGE_CID + "</image></Detail>";
static final String RESP_PHOTO_CID =
"[email protected]";
static final String RESP_IMAGE_CID =
"[email protected]";
@@ -55,6 +60,11 @@ public final class MtomTestHelper {
+ "</photo><image><xop:Include
xmlns:xop=\"http://www.w3.org/2004/08/xop/include\""
+ " href=\"cid:" + RESP_IMAGE_CID + "\"/></image></DetailResponse>";
+ static final String MTOM_DISABLED_RESP_MESSAGE = "<?xml version=\"1.0\"
encoding=\"utf-8\"?>"
+ + "<DetailResponse
xmlns=\"http://apache.org/camel/cxf/mtom_feature/types\">"
+ + "<photo>cid:" + RESP_PHOTO_CID + "</photo>"
+ + "<image>cid:" + RESP_IMAGE_CID + "</image></DetailResponse>";
+
static byte[] requestJpeg;
static byte[] responseJpeg;
Modified:
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest-context.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest-context.xml?rev=985362&r1=985361&r2=985362&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest-context.xml
(original)
+++
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomConsumerPayloadModeTest-context.xml
Fri Aug 13 20:57:47 2010
@@ -34,15 +34,8 @@
<cxf:properties>
<entry key="mtom-enabled" value="true"/>
<entry key="dataFormat" value="PAYLOAD"/>
+ <entry key="loggingFeatureEnabled" value="false"/>
</cxf:properties>
-<!--
- <cxf:inInterceptors>
- <ref bean="logInbound"/>
- </cxf:inInterceptors>
- <cxf:outInterceptors>
- <ref bean="logOutbound"/>
- </cxf:outInterceptors>
--->
</cxf:cxfEndpoint>
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
@@ -52,10 +45,7 @@
</route>
</camelContext>
- <bean id="logOutbound"
class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
- <bean id="logInbound"
class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
-
<bean id="myProcessor"
class="org.apache.camel.component.cxf.mtom.CxfMtomConsumerPayloadModeTest$MyProcessor"
/>
-</beans>
\ No newline at end of file
+</beans>
Added:
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest-context.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest-context.xml?rev=985362&view=auto
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest-context.xml
(added)
+++
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest-context.xml
Fri Aug 13 20:57:47 2010
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:cxf="http://camel.apache.org/schema/cxf"
+
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://camel.apache.org/schema/cxf
http://camel.apache.org/schema/cxf/camel-cxf.xsd
+ http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd
+ ">
+
+ <cxf:cxfEndpoint id="consumerEndpoint"
address="http://localhost:9091/jaxws-mtom/hello"
+ wsdlURL="mtom.wsdl"
+ serviceName="ns:HelloService"
+ endpointName="ns:HelloPort"
+ xmlns:ns="http://apache.org/camel/cxf/mtom_feature">
+
+ <cxf:properties>
+ <entry key="mtom-enabled" value="false"/>
+ <entry key="dataFormat" value="PAYLOAD"/>
+ <entry key="loggingFeatureEnabled" value="false"/>
+ </cxf:properties>
+
+ </cxf:cxfEndpoint>
+
+ <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+ <route>
+ <from uri="cxf:bean:consumerEndpoint" />
+ <process ref="myProcessor" />
+ </route>
+ </camelContext>
+
+ <bean id="myProcessor"
+
class="org.apache.camel.component.cxf.mtom.CxfMtomDisabledConsumerPayloadModeTest$MyProcessor"
/>
+
+</beans>
Propchange:
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest-context.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest-context.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange:
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledConsumerPayloadModeTest-context.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added:
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest-context.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest-context.xml?rev=985362&view=auto
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest-context.xml
(added)
+++
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest-context.xml
Fri Aug 13 20:57:47 2010
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:cxf="http://camel.apache.org/schema/cxf"
+
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://camel.apache.org/schema/cxf
http://camel.apache.org/schema/cxf/camel-cxf.xsd
+ http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd
+ ">
+
+ <cxf:cxfEndpoint id="serviceEndpoint"
address="http://localhost:9092/jaxws-mtom/hello"
+ wsdlURL="mtom.wsdl"
+ serviceName="ns:HelloService"
+ endpointName="ns:HelloPort"
+ xmlns:ns="http://apache.org/camel/cxf/mtom_feature">
+
+ <cxf:properties>
+ <entry key="dataFormat" value="PAYLOAD"/>
+ <entry key="loggingFeatureEnabled" value="false"/>
+ </cxf:properties>
+
+ </cxf:cxfEndpoint>
+
+ <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+ <route>
+ <from uri="direct:testEndpoint" />
+ <to uri="cxf:bean:serviceEndpoint" />
+ </route>
+ </camelContext>
+
+</beans>
\ No newline at end of file
Propchange:
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest-context.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest-context.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange:
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomDisabledProducerPayloadModeTest-context.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified:
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest-context.xml
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest-context.xml?rev=985362&r1=985361&r2=985362&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest-context.xml
(original)
+++
camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/mtom/CxfMtomProducerPayloadModeTest-context.xml
Fri Aug 13 20:57:47 2010
@@ -34,15 +34,9 @@
<cxf:properties>
<entry key="mtom-enabled" value="true"/>
<entry key="dataFormat" value="PAYLOAD"/>
+ <entry key="loggingFeatureEnabled" value="false"/>
</cxf:properties>
-<!--
- <cxf:inInterceptors>
- <ref bean="logInbound"/>
- </cxf:inInterceptors>
- <cxf:outInterceptors>
- <ref bean="logOutbound"/>
- </cxf:outInterceptors>
--->
+
</cxf:cxfEndpoint>
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
@@ -52,7 +46,4 @@
</route>
</camelContext>
- <bean id="logOutbound"
class="org.apache.cxf.interceptor.LoggingOutInterceptor" />
- <bean id="logInbound"
class="org.apache.cxf.interceptor.LoggingInInterceptor"/>
-
-</beans>
\ No newline at end of file
+</beans>