[jboss-svn-commits] JBL Code SVN: r33488 - in labs/jbossesb/trunk/product: services/soap/src/test/java/org/jboss/soa/esb/actions/soap and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Jun 14 06:56:58 EDT 2010
Author: mageshbk at jboss.com
Date: 2010-06-14 06:56:58 -0400 (Mon, 14 Jun 2010)
New Revision: 33488
Added:
labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/soap-message-03.xml
Modified:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/soap/OGNLUtils.java
labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClient_Response_UnitTest.java
Log:
[JBESB-1946] - Added support for soapenc:arrayType in OGNLUtils.assertIsParentCollection
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/soap/OGNLUtils.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/soap/OGNLUtils.java 2010-06-14 10:24:18 UTC (rev 33487)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/soap/OGNLUtils.java 2010-06-14 10:56:58 UTC (rev 33488)
@@ -24,6 +24,8 @@
public static final String IS_COLLECTION_ATTRIB = "is-collection";
public static final String SOAPUI_CLONE_COMMENT = " repetitions:";
public static final String CLONED_POSTFIX = " - cloned";
+ public static final String SOAPENC_NS = "http://schemas.xmlsoap.org/soap/encoding/";
+ public static final String ARRAYTYPE_ATTRIB = "arrayType";
private enum SOAPNameSpaces
{
@@ -184,6 +186,12 @@
Node parent = element.getParentNode();
if (parent != null && parent.getNodeType() == Node.ELEMENT_NODE) {
Element pelement = (Element)parent;
+
+ //Check for encoded arrays
+ if (pelement.hasAttributeNS(SOAPENC_NS, ARRAYTYPE_ATTRIB)) {
+ return true;
+ }
+
if(pelement.getAttributeNS(JBOSSESB_SOAP_NS, IS_COLLECTION_ATTRIB).equals("true")) {
// It's already been attributed... no need to check for the soapui comment...
return true;
Modified: labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClient_Response_UnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClient_Response_UnitTest.java 2010-06-14 10:24:18 UTC (rev 33487)
+++ labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/SOAPClient_Response_UnitTest.java 2010-06-14 10:56:58 UTC (rev 33488)
@@ -107,6 +107,23 @@
assertEquals(expected, responseMap.toString());
}
+ public void test_OgnlMap_ResponseProcessing_JBESB_1946() throws ConfigurationException, ActionProcessingException {
+ ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-02");
+ SOAPClient soapClient = new SOAPClient(actionConfig);
+ String responseString = new String(StreamUtils.readStream(getClass().getResourceAsStream("soap-message-03.xml")));
+ String expected = "{orderResponse.orderStatus[0].id=1," +
+ " orderResponse.orderStatus[0].comment=order 1 processed," +
+ " orderResponse.orderStatus[1].id=2," +
+ " orderResponse.orderStatus[1].comment=order 2 processed}";
+
+ Message message = MessageFactory.getInstance().getMessage();
+
+ soapClient.processResponse(message, new Response(responseString));
+ Map<String, String> responseMap = (Map<String, String>) message.getBody().get();
+
+ assertEquals(expected, responseMap.toString());
+ }
+
public void test_No_ResponseProcessing() throws ConfigurationException, ActionProcessingException {
ConfigTree actionConfig = configUtil.getActionConfig("OrderNotificationService", "soapui-client-action-03");
SOAPClient soapClient = new SOAPClient(actionConfig);
Added: labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/soap-message-03.xml
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/soap-message-03.xml (rev 0)
+++ labs/jbossesb/trunk/product/services/soap/src/test/java/org/jboss/soa/esb/actions/soap/soap-message-03.xml 2010-06-14 10:56:58 UTC (rev 33488)
@@ -0,0 +1,16 @@
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <soapenv:Body>
+ <ord:orderResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ord='http://webservice_consumer_encoded/orderProcessor'>
+ <orderStatus soapenc:arrayType="ord:item[2]" xsi:type="ord:orderStatusArray" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
+ <orderStatus xsi:type="ord:item">
+ <id xsi:type="xsd:int">1</id>
+ <comment xsi:type="xsd:string">order 1 processed</comment>
+ </orderStatus>
+ <orderStatus xsi:type="ord:item">
+ <id xsi:type="xsd:int">2</id>
+ <comment xsi:type="xsd:string">order 2 processed</comment>
+ </orderStatus>
+ </orderStatus>
+ </ord:orderResponse>
+ </soapenv:Body>
+</soapenv:Envelope>
\ No newline at end of file
More information about the jboss-svn-commits
mailing list