[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