[jboss-svn-commits] JBL Code SVN: r13262 - in labs/jbossesb/workspace/dbevenius/wslistener/product/services: soap/src/main/java/org/jboss/soa/esb/actions/soap and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jul 9 08:51:50 EDT 2007


Author: beve
Date: 2007-07-09 08:51:50 -0400 (Mon, 09 Jul 2007)
New Revision: 13262

Modified:
   labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/base-project-build.xml
   labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPClient.java
   labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/listeners/gateway/AbstractWSGateway.java
   labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/listeners/gateway/WSGateway.java
   labs/jbossesb/workspace/dbevenius/wslistener/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java
Log:
WSListener is now working. Need to fix a few issues with the configuration which are currenlty not getting parsed by OGNL.


Modified: labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/base-project-build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/base-project-build.xml	2007-07-09 07:51:12 UTC (rev 13261)
+++ labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/base-project-build.xml	2007-07-09 12:51:50 UTC (rev 13262)
@@ -17,7 +17,7 @@
         <delete dir="build"/>
     </target>
 
-    <target name="prepare" depends="clean">
+    <target name="prepare">
         <mkdir dir="build/${ant.project.name}.esb/META-INF"/>
         <mkdir dir="build/classes"/>
     </target>

Modified: labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPClient.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPClient.java	2007-07-09 07:51:12 UTC (rev 13261)
+++ labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPClient.java	2007-07-09 12:51:50 UTC (rev 13262)
@@ -212,6 +212,8 @@
     private Logger logger = Logger.getLogger(SOAPClient.class);
     private String wsdl;
     private String operation;
+    private String soapAction;
+    private String contentType;
     private String paramsLocation;
     private String responseLocation;
     private boolean responseAsOgnlMap;
@@ -226,6 +228,8 @@
     public SOAPClient(ConfigTree config) throws ConfigurationException {
         wsdl = config.getRequiredAttribute("wsdl");
         operation = config.getRequiredAttribute("operation");
+        contentType = config.getAttribute("contentType");
+        soapAction = config.getAttribute("soapAction");
         paramsLocation = config.getAttribute("paramsLocation");
         responseLocation = config.getAttribute("responseLocation");
         responseAsOgnlMap = "true".equalsIgnoreCase(config.getAttribute("responseAsOgnlMap"));
@@ -299,9 +303,14 @@
     protected String invokeEndpoint(String request) throws ActionProcessingException {
         String endpoint = getEndpoint();
         PostMethod post = new PostMethod(endpoint);
-
-        post.setRequestHeader("SOAPAction", operation);
+        
+        if ( soapAction == null )
+        	soapAction = operation;
+        post.setRequestHeader("SOAPAction", soapAction);
+        if ( contentType != null )
+	        post.setRequestHeader( "Content-Type", contentType );
         post.setRequestBody(request);
+        
         HttpClient httpclient = new HttpClient();
         try {
             int result = httpclient.executeMethod(post);

Modified: labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/listeners/gateway/AbstractWSGateway.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/listeners/gateway/AbstractWSGateway.java	2007-07-09 07:51:12 UTC (rev 13261)
+++ labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/listeners/gateway/AbstractWSGateway.java	2007-07-09 12:51:50 UTC (rev 13262)
@@ -162,8 +162,9 @@
         	final Message message = createMessage();
         	
 			final Map<String, String> webServiceArguments = getWebServiceArguments();
+			log.debug( "Web Serivce args :" +  webServiceArguments );
 			if ( webServiceArguments != null )
-				soapParameters.putAll( getWebServiceArguments() );
+				soapParameters.putAll( webServiceArguments );
 			if ( soapHeaders != null )
 				soapParameters.putAll( soapHeaders );
 			
@@ -253,6 +254,7 @@
 	@Override
 	protected void doInitialise() throws ManagedLifecycleException
 	{
+		super.doInitialise();
 		try
 		{
 			soapUIClient.initialise();

Modified: labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/listeners/gateway/WSGateway.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/listeners/gateway/WSGateway.java	2007-07-09 07:51:12 UTC (rev 13261)
+++ labs/jbossesb/workspace/dbevenius/wslistener/product/services/soap/src/main/java/org/jboss/soa/esb/listeners/gateway/WSGateway.java	2007-07-09 12:51:50 UTC (rev 13262)
@@ -21,6 +21,7 @@
  */
 package org.jboss.soa.esb.listeners.gateway;
 
+import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.log4j.Logger;
@@ -46,6 +47,8 @@
 		super( configTree );
 	}
 	
+	private static int counter = 0;
+	
 	/**
 	 * Gets the SOAP parameters. If using document style this might simply be
 	 * one parameter that is an xml string.
@@ -54,7 +57,11 @@
 	 */
 	protected Map<String, String> getWebServiceArguments()
 	{
-		return null;
+		log.debug( "counter ; " + counter );
+		HashMap<String, String> params = new HashMap<String,String>();
+		params.put( "api:afterItemId", String.valueOf( counter ));
+		counter++;
+		return params;
 	}
 
 	/**

Modified: labs/jbossesb/workspace/dbevenius/wslistener/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/wslistener/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java	2007-07-09 07:51:12 UTC (rev 13261)
+++ labs/jbossesb/workspace/dbevenius/wslistener/product/services/soapui-client/src/main/java/org/jboss/soa/esb/services/soapui/SoapUIClientService.java	2007-07-09 12:51:50 UTC (rev 13262)
@@ -250,7 +250,19 @@
                     String ognl = OGNLUtils.getOGNLExpression(element);
                     Object param;
 
-                    param = OGNLUtils.getParameter(ognl, params);
+                    param = OGNLUtils.getParameter( ognl, params );
+                    
+                    /* if there was no match try matching on simple
+                     * property names. This is crap I know but just a temp
+                     * solution to get the WSListener working. 
+                     * TODO: clean this up. Daniel B
+                     */
+                    if ( param == null || param.equals( "" ))
+                    {
+                    	String nodeName = element.getNodeName();
+                    	if ( params.containsKey( nodeName ) )
+                    		param = params.get( nodeName );
+                    }
 
                     element.removeChild(node);
                     element.appendChild(element.getOwnerDocument().createTextNode(param.toString()));




More information about the jboss-svn-commits mailing list