[jboss-svn-commits] JBL Code SVN: r34760 - in labs/jbossrules/branches/camel_soap_support-lucaz: drools-camel/src/test/java/org/drools/camel/component/cxf and 5 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Aug 17 11:26:00 EDT 2010


Author: lucazamador
Date: 2010-08-17 11:25:59 -0400 (Tue, 17 Aug 2010)
New Revision: 34760

Added:
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/soap.wsdl
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/soap.wsdl
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/java/org/drools/server/CxfSoapClientServerTest.java
Modified:
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/main/java/org/drools/jax/soap/PostCxfSoap.java
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/main/java/org/drools/jax/soap/PreCxfSoap.java
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/java/org/drools/camel/component/cxf/CxfSoapTest.java
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/CxfRsSpring.xml
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/CxfSoapSpring.xml
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/java/org/drools/server/Test.java
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/camel-server.xml
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/knowledge-services.xml
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/resources/camel-client-test.xml
   labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/resources/camel-embedded-server-test.xml
Log:
[JBRULES-2664] Soap support in drools-camel
	- wsdl support. drools-server tests created

Modified: labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/main/java/org/drools/jax/soap/PostCxfSoap.java
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/main/java/org/drools/jax/soap/PostCxfSoap.java	2010-08-17 14:18:51 UTC (rev 34759)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/main/java/org/drools/jax/soap/PostCxfSoap.java	2010-08-17 15:25:59 UTC (rev 34760)
@@ -25,7 +25,6 @@
 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;
@@ -41,7 +40,7 @@
 			SOAPBody body = soapMessage.getSOAPPart().getEnvelope().getBody();
 			QName payloadName = new QName("http://soap.jax.drools.org", "execute", "ns1");
 			SOAPBodyElement payload = body.addBodyElement(payloadName);
-			SOAPElement message = payload.addChildElement("responseType");
+			payload.addChildElement("responseType");
 			body.addTextNode(StringUtils.toString( is ));
 			exchange.getOut().setBody( soapMessage );
 		}

Modified: labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/main/java/org/drools/jax/soap/PreCxfSoap.java
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/main/java/org/drools/jax/soap/PreCxfSoap.java	2010-08-17 14:18:51 UTC (rev 34759)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/main/java/org/drools/jax/soap/PreCxfSoap.java	2010-08-17 15:25:59 UTC (rev 34760)
@@ -28,21 +28,16 @@
 import org.apache.cxf.service.model.BindingOperationInfo;
 
 public class PreCxfSoap implements Processor {
+
 	private static final transient Log LOG = LogFactory.getLog(PreCxfSoap.class);
 
 	public void process(Exchange exchange) throws Exception {
-                exchange.setPattern(ExchangePattern.InOut);
-        
-        
-        
+		exchange.setPattern(ExchangePattern.InOut);
 		BindingOperationInfo boi = (BindingOperationInfo)exchange.getProperty(BindingOperationInfo.class.toString());
 		if (boi != null) {
 			LOG.info("boi.isUnwrapped" + boi.isUnwrapped());
 		}
-
 		SOAPMessage soapMessage = (SOAPMessage)exchange.getIn().getBody();
-		System.out.println("PreCxfSoal process invoked");
 		exchange.getOut().setBody(soapMessage.getSOAPBody().getTextContent());
-
 	}        
 }

Modified: labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/java/org/drools/camel/component/cxf/CxfSoapTest.java
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/java/org/drools/camel/component/cxf/CxfSoapTest.java	2010-08-17 14:18:51 UTC (rev 34759)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/java/org/drools/camel/component/cxf/CxfSoapTest.java	2010-08-17 15:25:59 UTC (rev 34760)
@@ -35,7 +35,7 @@
 	protected AbstractXmlApplicationContext createApplicationContext() {        
 		return new ClassPathXmlApplicationContext("org/drools/camel/component/CxfSoapSpring.xml");
 	}
-	
+
 	public void test1() throws Exception {
 
 		SOAPMessage soapMessage = MessageFactory.newInstance().createMessage();
@@ -44,7 +44,6 @@
 
 		body.addBodyElement(payloadName);
 
-		
 		String cmd = "";
 		cmd += "<batch-execution lookup=\"ksession1\">\n";
 		cmd += "  <insert out-identifier=\"salaboy\" disconnected=\"true\">\n";
@@ -57,20 +56,21 @@
 		cmd += "</batch-execution>\n";
 
 		body.addTextNode(cmd);
-		
+
 		OutputStream out = new ByteArrayOutputStream();
 		soapMessage.writeTo(out);
 
-		String s = out.toString();
-		System.out.println("Request = "+s);
+		String request = out.toString();
+		System.out.println("Request = " + request);
 
 		Object object = this.context.createProducerTemplate().requestBody("direct://http", soapMessage);
 		System.out.println(object.getClass().getCanonicalName());
-                out = new ByteArrayOutputStream();
-                soapMessage = (SOAPMessage) object;
-                soapMessage.writeTo(out);
-                s = out.toString();
-		System.out.println("Response = "+s);
+		out = new ByteArrayOutputStream();
+		soapMessage = (SOAPMessage) object;
+		soapMessage.writeTo(out);
+		String response = out.toString();
+		System.out.println("Response = "+response);
+		assertTrue(response.contains("fact-handle identifier=\"salaboy\""));
 	}
 
 }

Modified: labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/CxfRsSpring.xml
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/CxfRsSpring.xml	2010-08-17 14:18:51 UTC (rev 34759)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/CxfRsSpring.xml	2010-08-17 15:25:59 UTC (rev 34760)
@@ -49,7 +49,7 @@
          
   <!-- Defined the server endpoint to create the cxf-rs consumer --> 
   <cxf:rsServer id="rsServer" 
-  address="http://localhost:9002/rest"
+  				address="http://localhost:9002/rest"
                 serviceClass="org.drools.jax.rs.CommandExecutorImpl">
        <cxf:providers>
            <bean class="org.drools.jax.rs.CommandMessageBodyReader"/>

Modified: labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/CxfSoapSpring.xml
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/CxfSoapSpring.xml	2010-08-17 14:18:51 UTC (rev 34759)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/CxfSoapSpring.xml	2010-08-17 15:25:59 UTC (rev 34760)
@@ -50,11 +50,13 @@
 
  
 
-   <cxf:cxfEndpoint id="soapServer" address="http://localhost:9002/soap"
-     		
-     		serviceClass="org.drools.runtime.CommandExecutor"
-     		 >
- <cxf:properties>
+   <cxf:cxfEndpoint id="soapServer"
+   					address="http://localhost:9002/soap"
+   					serviceName="ns:CommandExecutor"
+   					endpointName="ns:CommandExecutorPort" 
+					wsdlURL="src/test/resources/org/drools/camel/component/soap.wsdl"
+					xmlns:ns="http://soap.jax.drools.org/" >
+    <cxf:properties>
       <entry key="dataFormat" value="MESSAGE"/>
       <entry key="defaultOperationName" value="execute"/>
     </cxf:properties>

Added: labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/soap.wsdl
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/soap.wsdl	                        (rev 0)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/soap.wsdl	2010-08-17 15:25:59 UTC (rev 34760)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="CommandExecutor" targetNamespace="http://soap.jax.drools.org/" xmlns:ns1="http://cxf.apache.org/bindings/xformat" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://soap.jax.drools.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <wsdl:types>
+<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://soap.jax.drools.org/" xmlns:tns="http://soap.jax.drools.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+<xsd:element name="execute" type="tns:execute"/>
+<xsd:complexType name="execute">
+<xsd:sequence>
+<xsd:element minOccurs="0" name="arg0"/>
+</xsd:sequence>
+</xsd:complexType>
+<xsd:element name="executeResponse" type="tns:executeResponse"/>
+<xsd:complexType name="executeResponse">
+<xsd:sequence>
+<xsd:element minOccurs="0" name="return" type="xsd:anyType"/>
+</xsd:sequence>
+</xsd:complexType>
+</xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="execute">
+    <wsdl:part element="tns:execute" name="parameters">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="executeResponse">
+    <wsdl:part element="tns:executeResponse" name="parameters">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:portType name="CommandExecutorPortType">
+    <wsdl:operation name="execute">
+      <wsdl:input message="tns:execute" name="execute">
+    </wsdl:input>
+      <wsdl:output message="tns:executeResponse" name="executeResponse">
+    </wsdl:output>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="CommandExecutorSoapBinding" type="tns:CommandExecutorPortType">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="execute">
+      <soap:operation soapAction="" style="document"/>
+      <wsdl:input name="execute">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="executeResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="CommandExecutor">
+    <wsdl:port binding="tns:CommandExecutorSoapBinding" name="CommandExecutorPort">
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/camel_soap_support-lucaz/drools-camel/src/test/resources/org/drools/camel/component/soap.wsdl
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/java/org/drools/server/Test.java
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/java/org/drools/server/Test.java	2010-08-17 14:18:51 UTC (rev 34759)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/java/org/drools/server/Test.java	2010-08-17 15:25:59 UTC (rev 34760)
@@ -16,57 +16,63 @@
 
 package org.drools.server;
 
-import java.io.InputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
 
-import javax.ws.rs.core.Response;
+import javax.xml.soap.SOAPException;
+import javax.xml.soap.SOAPMessage;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.test.CamelSpringTestSupport;
-import org.drools.core.util.StringUtils;
-import org.drools.impl.StatelessKnowledgeSessionImpl;
-import org.springframework.context.ApplicationContext;
-import org.springframework.context.support.AbstractXmlApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 
 public class Test {
-    
-    public static void main(String[] args) {
-        String msg = "Hello World";
-        
-        System.out.println( "Sending Message:\n"  + msg);        
-        
-        Test test = new Test();
-        String response = test.send( msg );
-        
-        System.out.println( );
-        System.out.println( );
-        
-        System.out.println( "Received Response:\n" + response);      
-    }
-    
-    public String send(String msg) {
-        ClassPathXmlApplicationContext springContext = new ClassPathXmlApplicationContext("classpath:camel-client.xml");
-        String batch = "";
-        batch += "<batch-execution lookup=\"ksession1\">\n";
-        batch += "  <insert out-identifier=\"message\">\n";
-        batch += "      <org.test.Message>\n";
-        batch += "         <text>" + msg + "</text>\n";
-        batch += "      </org.test.Message>\n";
-        batch += "   </insert>\n";
-        batch += "</batch-execution>\n";                
-        
-        
-        Test test = new Test();
-        String response = test.execute( batch, 
-                                        ( CamelContext ) springContext.getBean( "camel" ) );
-        
-        return response;
-    }
-    
-    public String execute(String msg, CamelContext camelContext) {                
-               
-        String response = camelContext.createProducerTemplate().requestBody( "direct://kservice", msg, String.class );
-  
-        return response;
-    }
+
+	public static void main(String[] args) {
+		String msg = "Hello World";
+
+		System.out.println( "Sending Message:\n"  + msg);        
+
+		Test test = new Test();
+		String response = test.send( msg );
+
+		System.out.println( );
+		System.out.println( );
+
+		System.out.println( "Received Response:\n" + response);      
+	}
+
+	public String send(String msg) {
+		ClassPathXmlApplicationContext springContext = new ClassPathXmlApplicationContext("classpath:camel-client.xml");
+		String batch = "";
+		batch += "<batch-execution lookup=\"ksession1\">\n";
+		batch += "  <insert out-identifier=\"message\">\n";
+		batch += "      <org.test.Message>\n";
+		batch += "         <text>" + msg + "</text>\n";
+		batch += "      </org.test.Message>\n";
+		batch += "   </insert>\n";
+		batch += "</batch-execution>\n";                
+
+
+		Test test = new Test();
+		String response = test.execute( batch, 
+				( CamelContext ) springContext.getBean( "camel" ) );
+
+		return response;
+	}
+
+	public String execute(String msg, CamelContext camelContext) {                
+
+		String response = camelContext.createProducerTemplate().requestBody( "direct://kservice/rest", msg, String.class );
+
+		return response;
+	}
+
+	public String execute(SOAPMessage soapMessage, CamelContext camelContext) throws SOAPException, IOException {
+		Object object = camelContext.createProducerTemplate().requestBody( "direct://kservice/soap", soapMessage);
+		OutputStream out = new ByteArrayOutputStream();
+		SOAPMessage soapResponse = (SOAPMessage) object;
+		soapResponse.writeTo(out);
+		return out.toString();
+	}
 }
\ No newline at end of file

Modified: labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/camel-server.xml
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/camel-server.xml	2010-08-17 14:18:51 UTC (rev 34759)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/camel-server.xml	2010-08-17 15:25:59 UTC (rev 34760)
@@ -50,10 +50,21 @@
        </cxf:providers>
   </cxf:rsServer>  
   
-  
+<!--  <cxf:cxfEndpoint id="soapServer"-->
+<!--   					address="/soap"-->
+<!--     				serviceClass="org.drools.runtime.CommandExecutor" >-->
+<!--    <cxf:properties>-->
+<!--      <entry key="dataFormat" value="MESSAGE"/>-->
+<!--      <entry key="defaultOperationName" value="execute"/>-->
+<!--    </cxf:properties>-->
+<!--  </cxf:cxfEndpoint>-->
+
   <cxf:cxfEndpoint id="soapServer"
-                   address="/soap"
-                   serviceClass="org.drools.jax.soap.CommandExecutorSoap"> 
+  					address="/soap"
+   					serviceName="ns:CommandExecutor"
+   					endpointName="ns:CommandExecutorPort" 
+					wsdlURL="soap.wsdl"
+					xmlns:ns="http://soap.jax.drools.org/" >
     <cxf:properties>
       <entry key="dataFormat" value="MESSAGE"/>
       <entry key="defaultOperationName" value="execute"/>

Modified: labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/knowledge-services.xml
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/knowledge-services.xml	2010-08-17 14:18:51 UTC (rev 34759)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/knowledge-services.xml	2010-08-17 15:25:59 UTC (rev 34760)
@@ -21,7 +21,7 @@
        xmlns:drools="http://drools.org/schema/drools-spring"       
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                            http://drools.org/schema/drools-spring http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-container/drools-spring/src/main/resources/org/drools/container/spring/drools-spring-1.0.0.xsd">
-	
+
 	<drools:execution-node id="node1" />
 
 	<drools:kbase id="kbase1" node="node1">
@@ -29,21 +29,7 @@
             <drools:resource  type="DRL" source="classpath:test.drl"/>
 		</drools:resources>						
 	</drools:kbase>
-	
-	<drools:ksession id="ksession1" type="stateful" kbase="kbase1" node="node1"/>	
-	
-	
-	<bean id="droolsManagementAgent" class="org.drools.management.DroolsManagementAgentBean" init-method="start">
-		<property name="knowledgeBases">
-			<list>
-				<ref bean="kbase1"/>
-			</list>
-		</property>
-		<property name="statefulKnowledgeSessions">
-			<list>
-				<ref bean="ksession1"/>
-			</list>
-		</property>
-	</bean>
 
+	<drools:ksession id="ksession1" type="stateless" kbase="kbase1" node="node1"/>	
+
 </beans>
\ No newline at end of file

Added: labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/soap.wsdl
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/soap.wsdl	                        (rev 0)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/soap.wsdl	2010-08-17 15:25:59 UTC (rev 34760)
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="CommandExecutor" targetNamespace="http://soap.jax.drools.org/" xmlns:ns1="http://cxf.apache.org/bindings/xformat" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://soap.jax.drools.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+  <wsdl:types>
+<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://soap.jax.drools.org/" xmlns:tns="http://soap.jax.drools.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+<xsd:element name="execute" type="tns:execute"/>
+<xsd:complexType name="execute">
+<xsd:sequence>
+<xsd:element minOccurs="0" name="arg0"/>
+</xsd:sequence>
+</xsd:complexType>
+<xsd:element name="executeResponse" type="tns:executeResponse"/>
+<xsd:complexType name="executeResponse">
+<xsd:sequence>
+<xsd:element minOccurs="0" name="return" type="xsd:anyType"/>
+</xsd:sequence>
+</xsd:complexType>
+</xsd:schema>
+  </wsdl:types>
+  <wsdl:message name="execute">
+    <wsdl:part element="tns:execute" name="parameters">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:message name="executeResponse">
+    <wsdl:part element="tns:executeResponse" name="parameters">
+    </wsdl:part>
+  </wsdl:message>
+  <wsdl:portType name="CommandExecutorPortType">
+    <wsdl:operation name="execute">
+      <wsdl:input message="tns:execute" name="execute">
+    </wsdl:input>
+      <wsdl:output message="tns:executeResponse" name="executeResponse">
+    </wsdl:output>
+    </wsdl:operation>
+  </wsdl:portType>
+  <wsdl:binding name="CommandExecutorSoapBinding" type="tns:CommandExecutorPortType">
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+    <wsdl:operation name="execute">
+      <soap:operation soapAction="" style="document"/>
+      <wsdl:input name="execute">
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output name="executeResponse">
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+  </wsdl:binding>
+  <wsdl:service name="CommandExecutor">
+    <wsdl:port binding="tns:CommandExecutorSoapBinding" name="CommandExecutorPort">
+    </wsdl:port>
+  </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file


Property changes on: labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/main/resources/soap.wsdl
___________________________________________________________________
Name: svn:eol-style
   + native

Added: labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/java/org/drools/server/CxfSoapClientServerTest.java
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/java/org/drools/server/CxfSoapClientServerTest.java	                        (rev 0)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/java/org/drools/server/CxfSoapClientServerTest.java	2010-08-17 15:25:59 UTC (rev 34760)
@@ -0,0 +1,58 @@
+/**
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed 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.drools.server;
+
+import javax.xml.namespace.QName;
+import javax.xml.soap.MessageFactory;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPMessage;
+
+import junit.framework.TestCase;
+
+import org.apache.camel.CamelContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
+
+public class CxfSoapClientServerTest extends TestCase {
+
+	public void test1() throws Exception {
+		ClassPathXmlApplicationContext springContext = new ClassPathXmlApplicationContext("classpath:beans-test.xml");
+
+		SOAPMessage soapMessage = MessageFactory.newInstance().createMessage();
+		SOAPBody body = soapMessage.getSOAPPart().getEnvelope().getBody();
+		QName payloadName = new QName("http://soap.jax.drools.org", "execute", "ns1");
+
+		body.addBodyElement(payloadName);
+
+		String cmd = "";
+		cmd += "<batch-execution lookup=\"ksession1\">\n";
+		cmd += "  <insert out-identifier=\"message\">\n";
+		cmd += "      <org.test.Message>\n";
+		cmd += "         <text>Helllo World</text>\n";
+		cmd += "      </org.test.Message>\n";
+		cmd += "   </insert>\n";
+		cmd += "</batch-execution>\n";
+
+		body.addTextNode(cmd);
+
+		Test test = new Test();
+		String response = test.execute( soapMessage, ( CamelContext ) springContext.getBean( "camel-client-ctx" ) );
+
+		assertTrue( response.contains( "execution-results" ) );
+		assertTrue( response.contains( "echo" ) ); 
+	}
+
+}


Property changes on: labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/java/org/drools/server/CxfSoapClientServerTest.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/resources/camel-client-test.xml
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/resources/camel-client-test.xml	2010-08-17 14:18:51 UTC (rev 34759)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/resources/camel-client-test.xml	2010-08-17 15:25:59 UTC (rev 34760)
@@ -33,12 +33,19 @@
   <camelContext id="camel-client-ctx" xmlns="http://camel.apache.org/schema/spring">
 
     <route>
-       <from uri="direct://kservice"/>
+       <from uri="direct://kservice/rest"/>
        <policy ref="droolsPolicy"> 
 	       <to uri="cxfrs://http://localhost:9002/rest"/>
        </policy>
+    </route>
+
+    <route>
+       <from uri="direct://kservice/soap"/>
+       <policy ref="droolsPolicy"> 
+	       <to uri="cxf://bean://soapServer"/>
+       </policy>
     </route>     
-        
+
   </camelContext>
   
 </beans>

Modified: labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/resources/camel-embedded-server-test.xml
===================================================================
--- labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/resources/camel-embedded-server-test.xml	2010-08-17 14:18:51 UTC (rev 34759)
+++ labs/jbossrules/branches/camel_soap_support-lucaz/drools-server/src/test/resources/camel-embedded-server-test.xml	2010-08-17 15:25:59 UTC (rev 34760)
@@ -28,6 +28,7 @@
 
 	<import resource="classpath:META-INF/cxf/cxf.xml"/>
 	<import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/>
+	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
 	<import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"/>
 
 
@@ -37,12 +38,25 @@
        <cxf:providers>
            <bean class="org.drools.jax.rs.CommandMessageBodyReader"/>
        </cxf:providers>
-  </cxf:rsServer>  
+  </cxf:rsServer>
   
+  <cxf:cxfEndpoint id="soapServer"
+  					address="http://localhost:9002/soap"
+   					serviceName="ns:CommandExecutor"
+   					endpointName="ns:CommandExecutorPort" 
+					wsdlURL="soap.wsdl"
+					xmlns:ns="http://soap.jax.drools.org/" >
+    <cxf:properties>
+      <entry key="dataFormat" value="MESSAGE"/>
+      <entry key="defaultOperationName" value="execute"/>
+    </cxf:properties>
+  </cxf:cxfEndpoint>
+  
   <!-- Leave this, as it's needed to make Camel "drools" aware -->
   <bean id="droolsPolicy" class="org.drools.camel.component.DroolsPolicy" />  
     
   <camelContext id="camel-server-ctx" xmlns="http://camel.apache.org/schema/spring">    
+
     <route>
        <from uri="cxfrs://bean://rsServer"/>
        <policy ref="droolsPolicy">
@@ -51,7 +65,16 @@
 	       <marshal ref="xstream" />
        </policy>
     </route>    
-            
+
+    <route>
+      <from uri="cxf://bean://soapServer"/>
+      <policy ref="droolsPolicy">
+        <unmarshal ref="xstream" />       
+        <to uri="drools:node1/ksession1" />
+        <marshal ref="xstream" />
+      </policy>
+    </route>
+
   </camelContext>
   
 </beans>



More information about the jboss-svn-commits mailing list