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
>
>