Author: ningjiang
Date: Tue Jun 3 23:56:34 2008
New Revision: 663010
URL: http://svn.apache.org/viewvc?rev=663010&view=rev
Log:
CAMEL-576 Put the InputStream object into the camel message body when the
camel-cxf producer get response in MESSAGE date format
Modified:
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java
activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java
activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfWsdlFirstTest.java
Modified:
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java?rev=663010&r1=663009&r2=663010&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java
(original)
+++
activemq/camel/trunk/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/CxfBinding.java
Tue Jun 3 23:56:34 2008
@@ -89,7 +89,10 @@
if (response != null) {
out.setMessage(response);
DataFormat dataFormat = (DataFormat)
exchange.getProperty(CxfExchange.DATA_FORMAT);
- if (!dataFormat.equals(DataFormat.POJO)) {
+ if (dataFormat.equals(DataFormat.MESSAGE)) {
+ out.setBody(response.getContent(InputStream.class));
+ }
+ if (dataFormat.equals(DataFormat.PAYLOAD)) {
out.setBody(response);
}
}
Modified:
activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java?rev=663010&r1=663009&r2=663010&view=diff
==============================================================================
---
activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java
(original)
+++
activemq/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerRouterTest.java
Tue Jun 3 23:56:34 2008
@@ -35,7 +35,11 @@
public class CxfProducerRouterTest extends ContextTestSupport {
private static final transient Log LOG =
LogFactory.getLog(CxfProducerRouterTest.class);
- private static final String SIMPLE_SERVER_ADDRESS =
"http://localhost:28080/test";
+ private static final String SIMPLE_SERVER_ADDRESS =
"http://localhost:28080/test";
+ private static final String REQUEST_MESSAGE = "<soap:Envelope
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+ + "<soap:Body><ns1:echo
xmlns:ns1=\"http://cxf.component.camel.apache.org/\">"
+ + "<arg0 xmlns=\"http://cxf.component.camel.apache.org/\">Hello
World!</arg0>"
+ + "</ns1:echo></soap:Body></soap:Envelope>";
private static final String ECHO_OPERATION = "echo";
private static final String TEST_MESSAGE = "Hello World!";
@@ -68,6 +72,7 @@
return new RouteBuilder() {
public void configure() {
from("direct:EndpointA").to(getSimpleEndpointUri());
+ from("direct:EndpointB").to(getSimpleEndpointUri() +
"&dataFormat=MESSAGE");
}
};
}
@@ -91,6 +96,17 @@
assertEquals("Reply body on Camel is wrong", "echo " + TEST_MESSAGE,
output[0]);
}
+ public void testInvokingSimpleServerWithMessageDataFormat() throws
Exception {
+ Exchange senderExchange = new DefaultExchange(context,
ExchangePattern.InOut);
+ senderExchange.getIn().setBody(REQUEST_MESSAGE);
+ Exchange exchange = template.send("direct:EndpointB", senderExchange);
+
+ org.apache.camel.Message out = exchange.getOut();
+ String response = out.getBody(String.class);
+ assertTrue("It should has the echo message", response.indexOf("echo "
+ TEST_MESSAGE) > 0);
+ assertTrue("It should has the echoResponse tag",
response.indexOf("echoResponse") > 0);
+
+ }
private String getSimpleEndpointUri() {
return "cxf://" + SIMPLE_SERVER_ADDRESS
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=663010&r1=663009&r2=663010&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
Tue Jun 3 23:56:34 2008
@@ -55,7 +55,7 @@
}
protected void startService() {
- Object implementor = new PersonImpl();
+ Object implementor = new PersonImpl();
String address = "http://localhost:9000/PersonService/";
Endpoint.publish(address, implementor);
}