Author: wtam
Date: Mon May 2 15:35:54 2011
New Revision: 1098630
URL: http://svn.apache.org/viewvc?rev=1098630&view=rev
Log:
Commit fix for [CAMEL-3927] on behalf of Aki Yoshida
Added:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadProviderTest.java
(with props)
Modified:
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/CxfConsumerProviderTest.java
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=1098630&r1=1098629&r2=1098630&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
Mon May 2 15:35:54 2011
@@ -29,9 +29,11 @@ import java.util.TreeMap;
import javax.activation.DataHandler;
import javax.security.auth.Subject;
import javax.xml.namespace.QName;
+import javax.xml.transform.Source;
import javax.xml.transform.dom.DOMSource;
import javax.xml.ws.Holder;
+import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -648,8 +650,13 @@ public class DefaultCxfBinding implement
part = ((Holder)part).value;
}
- if (part instanceof DOMSource) {
- Element element = getFirstElement(((DOMSource)part).getNode());
+ if (part instanceof Source) {
+ Element element;
+ if (part instanceof DOMSource) {
+ element = getFirstElement(((DOMSource)part).getNode());
+ } else {
+ element = getFirstElement((Source)part);
+ }
if (element != null) {
answer.add(element);
@@ -659,7 +666,6 @@ public class DefaultCxfBinding implement
LOG.trace("Extract body element {}",
element == null ? "null" :
XMLUtils.toString(element));
}
-
} else if (part instanceof Element) {
answer.add((Element)part);
} else {
@@ -694,6 +700,15 @@ public class DefaultCxfBinding implement
return DOMUtils.getFirstElement(node);
}
+ private static Element getFirstElement(Source source) {
+ try {
+ return
((Document)XMLUtils.fromSource(source)).getDocumentElement();
+ } catch (Exception e) {
+ // ignore
+ }
+ return null;
+ }
+
public void copyJaxWsContext(org.apache.cxf.message.Exchange cxfExchange,
Map<String, Object> context) {
if (cxfExchange.getOutMessage() != null) {
org.apache.cxf.message.Message outMessage =
cxfExchange.getOutMessage();
Added:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadProviderTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadProviderTest.java?rev=1098630&view=auto
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadProviderTest.java
(added)
+++
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadProviderTest.java
Mon May 2 15:35:54 2011
@@ -0,0 +1,26 @@
+/**
+ * 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;
+
+public class CxfConsumerPayloadProviderTest extends CxfConsumerProviderTest {
+
+ @Override
+ protected String getFromEndpointUri() {
+ return super.getFromEndpointUri() + "&dataFormat=PAYLOAD";
+ }
+
+}
Propchange:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadProviderTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerPayloadProviderTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified:
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerProviderTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerProviderTest.java?rev=1098630&r1=1098629&r2=1098630&view=diff
==============================================================================
---
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerProviderTest.java
(original)
+++
camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfConsumerProviderTest.java
Mon May 2 15:35:54 2011
@@ -17,7 +17,6 @@
package org.apache.camel.component.cxf;
-import java.util.List;
import org.w3c.dom.Node;
@@ -27,9 +26,6 @@ import org.apache.camel.Processor;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.converter.jaxp.XmlConverter;
import org.apache.camel.test.junit4.CamelTestSupport;
-import org.apache.cxf.BusFactory;
-import org.apache.cxf.frontend.ClientFactoryBean;
-import org.apache.cxf.frontend.ClientProxyFactoryBean;
import org.junit.Test;
public class CxfConsumerProviderTest extends CamelTestSupport {
@@ -52,7 +48,7 @@ public class CxfConsumerProviderTest ext
return new RouteBuilder() {
public void configure() {
errorHandler(noErrorHandler());
- from(SIMPLE_ENDPOINT_URI).process(new Processor() {
+ from(getFromEndpointUri()).process(new Processor() {
public void process(final Exchange exchange) {
Message in = exchange.getIn();
// Get the parameter list
@@ -87,5 +83,9 @@ public class CxfConsumerProviderTest ext
assertTrue("Get a wrong response ",
response.endsWith(RESPONSE_MESSAGE_END));
}
+
+ protected String getFromEndpointUri() {
+ return SIMPLE_ENDPOINT_URI;
+ }
}