<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    consume web service with complex data type
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/billzhang1123">bill zhang</a> in <i>JBoss ESB Development</i> - <a href="http://community.jboss.org/message/537851#537851">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>I have been playing with webservice_consumer1 sample in JBoss ESB.&#160; I modified the sample code to invoke another web service which has an array of string as input parameter along with another String type paramter. Here is my code of process method in webservice_consumer1 MyRequestAction method. No changes on jboss-esb.xml.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-size: 10pt;">public Message process(Message message) throws Exception<br/> {<br/>&#160; logHeader();<br/>&#160; String msgBody = (String) message.getBody().get();</span></p><p><span style="font-size: 10pt;"><p><strong style=": ; color: #3f7f5f; text-decoration: underline; ">&#160; HashMap requestMap = new HashMap();<br/>&#160; <br/>&#160; String[] arrayOfStr = new String[2];<br/>&#160; arrayOfStr[0] = "b";<br/>&#160; arrayOfStr[1] = "b1";</strong></p><p><strong style=": ; color: #3f7f5f; text-decoration: underline; ">&#160; <br/>&#160; requestMap.put("sayHello.arg1.name", "vicky");<br/>&#160; requestMap.put("sayHello.arg1.kids", arrayOfStr);<br/></strong></p><p><strong style="color: #3f7f5f; font-size: 10pt; "><span style="color: #3f7f5f; font-size: 10pt;"><p>message.getBody().add(requestMap);</p><p>}</p><p><p align="left"><span style="font-size: 10pt; text-decoration: underline; "><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p align="left"><strong style="font-size: 10pt; ">After I ran the SendJMSMessage, on the web service side I can see the incoming value of name which is a String type. However web service can only see the number of elements but not the values. If I use SOAPUI to call the service I can see the array of kids that I send.</strong></p><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p align="left"><strong style="font-size: 10pt; ">Therefore, I guess the use of 'requestMap.put("sayHello.arg1.kids", arrayOfStr);' is wrong for array as input. Can someone please give me a hint of how to send an array of string using HashMap? Thanks.<span style="font-size: 2; "><strong style=": ; font-size: 2; font-color: #3f7f5f; "><span style=": ; font-size: 2; text-decoration: underline; "><strong style=": ; font-size: 2; "><p><p align="left"><span style="font-size: 10pt;"><p align="left"><span style="font-size: 10pt;"><p align="left"><span style="font-size: 10pt;"><p align="left" style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></span></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></p></strong><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></span><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></strong></span></strong><span style="font-size: 2; "><strong style=": ; font-size: 2; font-color: #3f7f5f; "><span style=": ; font-size: 2; text-decoration: underline; "><strong><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></strong><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></span><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></strong></span></p></span><span style="font-size: 2; "><strong style=": ; font-size: 2; font-color: #3f7f5f; "><span style="text-decoration: underline;"><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></span><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></strong></span></p></p></span><span style="font-size: 2; "><strong style=": ; font-size: 2; font-color: #3f7f5f; "><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p></strong></span></strong></p></span></p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/537851#537851">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss ESB Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2032">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>