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 };   // 
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."

Reply via email to