[jboss-svn-commits] JBL Code SVN: r35105 - labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/jax/soap.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Sep 10 14:16:01 EDT 2010


Author: lucazamador
Date: 2010-09-10 14:16:00 -0400 (Fri, 10 Sep 2010)
New Revision: 35105

Modified:
   labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/jax/soap/PostCxfSoapProcessor.java
   labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/jax/soap/PostCxfTransportSoapProcessor.java
Log:
JBRULES-2664 Soap support in drools-camel
	- fixed soap response to match with the wsdl file

Modified: labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/jax/soap/PostCxfSoapProcessor.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/jax/soap/PostCxfSoapProcessor.java	2010-09-10 18:11:58 UTC (rev 35104)
+++ labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/jax/soap/PostCxfSoapProcessor.java	2010-09-10 18:16:00 UTC (rev 35105)
@@ -15,7 +15,7 @@
  */
 
 /**
- * 
+ *
  */
 package org.drools.jax.soap;
 
@@ -25,6 +25,7 @@
 import javax.xml.soap.MessageFactory;
 import javax.xml.soap.SOAPBody;
 import javax.xml.soap.SOAPBodyElement;
+import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPMessage;
 
 import org.apache.camel.Exchange;
@@ -33,17 +34,18 @@
 
 public class PostCxfSoapProcessor implements Processor {
 
-	public void process(Exchange exchange) throws Exception {
-		InputStream is = (InputStream) exchange.getIn().getBody();
-		if (is != null) {
-			SOAPMessage soapMessage = MessageFactory.newInstance().createMessage();
-			SOAPBody body = soapMessage.getSOAPPart().getEnvelope().getBody();
-			QName payloadName = new QName("http://soap.jax.drools.org/", "executeResponse", "ns1");
-			SOAPBodyElement payload = body.addBodyElement(payloadName);
-			payload.addChildElement("responseType");
-			payload.addTextNode(StringUtils.toString( is ));
-			exchange.getOut().setBody( soapMessage );
-		}
-	}        
+    public void process(Exchange exchange) throws Exception {
+        InputStream is = (InputStream) exchange.getIn().getBody();
+        if (is != null) {
+            SOAPMessage soapMessage = MessageFactory.newInstance().createMessage();
+            SOAPBody body = soapMessage.getSOAPPart().getEnvelope().getBody();
+            QName payloadName = new QName("http://soap.jax.drools.org/", "executeResponse", "ns1");
+            QName responseName = new QName("http://soap.jax.drools.org/", "return", "ns1");
+            SOAPBodyElement payload = body.addBodyElement(payloadName);
+            SOAPElement response = payload.addChildElement(responseName);
+            response.addTextNode(StringUtils.toString( is ));
+            exchange.getOut().setBody( soapMessage );
+        }
+    }
 
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/jax/soap/PostCxfTransportSoapProcessor.java
===================================================================
--- labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/jax/soap/PostCxfTransportSoapProcessor.java	2010-09-10 18:11:58 UTC (rev 35104)
+++ labs/jbossrules/trunk/drools-camel/src/main/java/org/drools/jax/soap/PostCxfTransportSoapProcessor.java	2010-09-10 18:16:00 UTC (rev 35105)
@@ -22,6 +22,7 @@
 import javax.xml.soap.MessageFactory;
 import javax.xml.soap.SOAPBody;
 import javax.xml.soap.SOAPBodyElement;
+import javax.xml.soap.SOAPElement;
 import javax.xml.soap.SOAPMessage;
 
 import org.apache.camel.Exchange;
@@ -39,9 +40,10 @@
 		SOAPMessage soapMessage = MessageFactory.newInstance().createMessage();
 		SOAPBody soapBody = soapMessage.getSOAPPart().getEnvelope().getBody();
 		QName payloadName = new QName("http://soap.jax.drools.org/", "executeResponse", "ns1");
+		QName responseName = new QName("http://soap.jax.drools.org/", "return", "ns1");
 		SOAPBodyElement payload = soapBody.addBodyElement(payloadName);
-		payload.addChildElement("responseType");
-		payload.addTextNode(StringUtils.toString(bais));
+		SOAPElement response = payload.addChildElement(responseName);
+		response.addTextNode(StringUtils.toString(bais));
 
 		ByteArrayOutputStream baos = new ByteArrayOutputStream();
 		soapMessage.writeTo(baos);



More information about the jboss-svn-commits mailing list