[esb-issues] [JBoss JIRA] Updated: (JBESB-3453) OGNLUtils.assertIsCollection fails

Kevin Conner (JIRA) jira-events at lists.jboss.org
Tue Aug 10 11:24:49 EDT 2010


     [ https://jira.jboss.org/browse/JBESB-3453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kevin Conner updated JBESB-3453:
--------------------------------

    Fix Version/s: 4.7 CP3
                       (was: 4.9)


> OGNLUtils.assertIsCollection fails
> ----------------------------------
>
>                 Key: JBESB-3453
>                 URL: https://jira.jboss.org/browse/JBESB-3453
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Rosetta
>    Affects Versions: 4.5
>            Reporter: jarkko Lietolahti
>            Assignee: Magesh Kumar B
>             Fix For: 4.7 CP3
>
>
> The method 
> {code}
>     private static boolean assertIsCollection(Element element) {
>         if(element.getAttributeNS(JBOSSESB_SOAP_NS, IS_COLLECTION_ATTRIB).equals("true")) {
>             // It's already been attributed... no need to check for the soapui comment...
>             return true;
>         }
>         Comment firstComment = (Comment) YADOMUtil.getFirstChildByType(element, Node.COMMENT_NODE);
>         // TODO: Get Ole (soapUI) to add an attribute to the collection element - better than looking for this comment.
>         if(firstComment != null && firstComment.getTextContent().indexOf("1 or more repetitions") != -1) {
>             return true;
>         }
>         return false;
>     }
> {code}
> Especially row;
>   Comment firstComment = (Comment) YADOMUtil.getFirstChildByType(element, Node.COMMENT_NODE);
> is causing a grief.
> Given an WSDL like below;
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
>    <soapenv:Header/>
>    <soapenv:Body>
>       <QueryRequest>
>          <username>?</username>
>          <password>?</password>
>          <Customer id="?" telcoid="?"/>
>          <!--1 or more repetitions:-->
>          <productIds>?</productIds>
>          <isLookup>?</isLookup>
>          <maxWaitTime>?</maxWaitTime>
>       </QueryRequest>
>    </soapenv:Body>
> </soapenv:Envelope>
> OGNLUtils creates ognlExpression QueryRequest[0] for all the elements below QueryRequest. E.g. ognl for username, password etc is "QueryRequest[0]" for username and also "QueryRequest[0]" for password, when in reality it should be QueryRequest.username , QueryRequest.password etc..
> This is caused by the array element LATER in the WSDL;
>  <!--1 or more repetitions:-->
>  <productIds>?</productIds>
> combined with the  Comment firstComment = (Comment) YADOMUtil.getFirstChildByType(element, Node.COMMENT_NODE); which somehow finds the "<!-- 1 or .." later in the wsdl. 
> I think.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the esb-issues mailing list