Have a look at following class , it does what you want to do
https://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/integration/test/org/apache/axis2/rpc/RPCCallTest.java
> Class[] returnTypes = new Class[]{(Struct_cards[])}
> this don't compile because the objects inside the array must be Class
> type, and I already tried that one
>
> Class[] returnTypes = new Class[]{Struct_cards[].class}
>
>
> Rodrigo Asensio
> [EMAIL PROTECTED]
> http://www.rodrigoasensio.com
> "To err is human, but to really screw up requires the root password."
>
>
>
> On Wed, Dec 10, 2008 at 12:50 PM, Deepal Jayasinghe
> <[EMAIL PROTECTED]> wrote:
>
>>> Can't return a simple Object[]
>>>
>>> axis2 141
>>>
>>> client code:
>>> ----------------
>>>
>>> RPCServiceClient serviceClient = new RPCServiceClient();
>>> Options options = serviceClient.getOptions();
>>> EndpointReference targetEPR = new EndpointReference(URL);
>>> options.setTo(targetEPR);
>>> options.setTimeOutInMilliSeconds(TIMEOUT);
>>>
>>> QName actionQ = new QName(NAMESPACE, action);
>>> Class[] returnTypes = new Class[] { Struct_cards.class }; //
>>>
>> Class[] returnTypes = new Class[]{(Struct_cards[])}
>>
>> would work.
>>
>>> also
>>> tried Struct_cards[].class
>>> Object[] results = serviceClient.invokeBlocking(actionQ,
>>> params, returnTypes);
>>>
>>> It returns an array of 1 element Struct_cards with all its values
>>> empty, below the XML response and the bean code.
>>> I saw that might be a problem of axis2 converting simple object
>>> arrays, but I didn't found any proof. Any help will be appreciated.
>>>
>>>
>>> xml returns :
>>> -----------------
>>>
>>> <get_cardsResponse
>>> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
>>> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
>>> <get_cardsReturn
>>> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
>>> xmlns:ns1="http://icu_test.dev"
>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>> soapenc:arrayType="ns1:struct_cards[2]" xsi:type="soapenc:Array">
>>> <get_cardsReturn xsi:type="ns1:struct_cards">
>>> <card_delegate xsi:type="xsd:string">X</card_delegate>
>>> <card_expire_date xsi:type="xsd:string">XXXX</card_expire_date>
>>> <card_id xsi:type="xsd:string">XXXXXXXXXXXXX</card_id>
>>> <card_lfd xsi:type="xsd:string">xxxx</card_lfd>
>>> <card_name xsi:type="xsd:string">Rodrigo Asensio</card_name>
>>> <card_type xsi:type="xsd:string">1</card_type>
>>> <usrfld1 xsi:type="xsd:string"></usrfld1>
>>> </get_cardsReturn>
>>> <get_cardsReturn xsi:type="ns1:struct_cards">
>>> <card_delegate xsi:type="xsd:string">x</card_delegate>
>>> <card_expire_date xsi:type="xsd:string">xxxxx</card_expire_date>
>>> <card_id xsi:type="xsd:string">xxxxxxxxxxxxxxxxxxxxxxxxx</card_id>
>>> <card_lfd xsi:type="xsd:string">xxxx</card_lfd>
>>> <card_name xsi:type="xsd:string">Rodrigo Asensio</card_name>
>>> <card_type xsi:type="xsd:string">1</card_type>
>>> <usrfld1 xsi:type="xsd:string"></usrfld1>
>>> </get_cardsReturn>
>>> </get_cardsReturn>
>>> </get_cardsResponse>
>>>
>>> bean code: (very basic)
>>> ---------------
>>>
>>> public class Struct_cards {
>>> protected java.lang.String card_delegate;
>>> protected java.lang.String card_expire_date;
>>> protected java.lang.String card_id;
>>> protected java.lang.String card_lfd;
>>> protected java.lang.String card_name;
>>> protected java.lang.String card_type;
>>> protected java.lang.String usrfld1;
>>>
>>> public Struct_cards() {}
>>>
>>> public Struct_cards(String card_delegate, String card_expire_date,
>>> String card_id, String card_lfd, String card_name,
>>> String card_type, String usrfld1) {
>>> this.card_delegate = card_delegate;
>>> this.card_expire_date = card_expire_date;
>>> this.card_id = card_id;
>>> this.card_lfd = card_lfd;
>>> this.card_name = card_name;
>>> this.card_type = card_type;
>>> this.usrfld1 = usrfld1;
>>> }
>>>
>>> public String getCard_delegate() {
>>> return card_delegate;
>>> }
>>>
>>> public void setCard_delegate(String card_delegate) {
>>> this.card_delegate = card_delegate;
>>> }
>>>
>>> public String getCard_expire_date() {
>>> return card_expire_date;
>>> }
>>>
>>> public void setCard_expire_date(String card_expire_date) {
>>> this.card_expire_date = card_expire_date;
>>> }
>>>
>>> public String getCard_id() {
>>> return card_id;
>>> }
>>>
>>> public void setCard_id(String card_id) {
>>> this.card_id = card_id;
>>> }
>>>
>>> public String getCard_lfd() {
>>> return card_lfd;
>>> }
>>>
>>> public void setCard_lfd(String card_lfd) {
>>> this.card_lfd = card_lfd;
>>> }
>>>
>>> public String getCard_name() {
>>> return card_name;
>>> }
>>>
>>> public void setCard_name(String card_name) {
>>> this.card_name = card_name;
>>> }
>>>
>>> public String getCard_type() {
>>> return card_type;
>>> }
>>>
>>> public void setCard_type(String card_type) {
>>> this.card_type = card_type;
>>> }
>>>
>>> public String getUsrfld1() {
>>> return usrfld1;
>>> }
>>>
>>> public void setUsrfld1(String usrfld1) {
>>> this.usrfld1 = usrfld1;
>>> }
>>>
>>>
>>>
>>>
>>>
>>>
>>> Rodrigo Asensio
>>> [EMAIL PROTECTED]
>>> http://www.rodrigoasensio.com
>>> "To err is human, but to really screw up requires the root password."
>>>
>>>
>>>
>> --
>> Thank you!
>>
>>
>> http://blogs.deepal.org
>>
>>
>>
>
>
--
Thank you!
http://blogs.deepal.org