Hi Vinh,

How I can define XSD schema that mentioned here? and how to reference that
from my services.xml? should i put these is a xml file and put the file in
classpath?

<xs:complexType name="StringArrayType">
        <xs:sequence>
            <xs:element name="Item" type="xs:string" minOccurs="0"
maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="StringArray" type="tns:StringArrayType"/>
    <xs:complexType name="2DStringArrayType">
        <xs:sequence>
            <xs:element ref="StringArray" minOccurs="0"
maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="2DStringArray" type="tns:2DStringArrayType"/>
Please tell me the real file format of XSD Schema.

Chinmoy

On Fri, Apr 4, 2008 at 8:59 AM, Vinh Nguyen (vinguye2) <[EMAIL PROTECTED]>
wrote:

>  Hi,
> Please see the attached email where I tried to address your question:)
>
> The idea with web services is that you can pass/return any type of object
> as long as you define an XML schema for it.  The schema definition tells
> the data binding tooling (i.e. ADB, XmlBeans, etc) how to convert your type
> to/from XML.
>
> So if you want to return a multi-dimension array, you need to define an
> object schema that has such a data structure.  For example, the following
> might work for you if you want to pass a 2D string[].
>
>     <xs:complexType name="StringArrayType">
>         <xs:sequence>
>             <xs:element name="Item" type="xs:string" minOccurs="0"
> maxOccurs="unbounded"/>
>         </xs:sequence>
>     </xs:complexType>
>     <xs:element name="StringArray" type="tns:StringArrayType"/>
>
>     <xs:complexType name="2DStringArrayType">
>         <xs:sequence>
>             <xs:element ref="StringArray" minOccurs="0"
> maxOccurs="unbounded"/>
>         </xs:sequence>
>     </xs:complexType>
>     <xs:element name="2DStringArray" type="tns:2DStringArrayType"/>
>
>
>
>  ------------------------------
> *From:* Chinmoy Chakraborty [mailto:[EMAIL PROTECTED]
> *Sent:* Thursday, April 03, 2008 1:24 AM
> *To:* [email protected]
> *Subject:* Does Axis2 support 2D/2D object array as return type?
>
>  Hello,
>
> Does Axis2 support 2D/2D object array as return type?
>
> Chinmoy
>
>
> ---------- Forwarded message ----------
> From: "Vinh Nguyen (vinguye2)" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Date: Thu, 20 Mar 2008 15:05:02 -0700
> Subject: RE: How to return Object[] from axis2
>  Hi,
> What kind of value are you getting back?
>
> I don't think xs:any was designed for this.  It should be to generically
> represent an object that actually has an XSD schema.  In what you're trying
> to do below, what is the schema of the xml you expect to be returned?
> -Vinh
>
>  ------------------------------
> *From:* Chinmoy Chakraborty [mailto:[EMAIL PROTECTED]
> *Sent:* Thursday, March 20, 2008 11:01 AM
> *To:* [email protected]
> *Subject:* Re: How to return Object[] from axis2
>
>  Hi Deepal,
>
> Thnaks a lot for your response. I can use Axis2 in our client side but we
> need to make it work with Axis 1.4 to support backward
> compatibility. I checked axis2 and found that it supports Object array as
> return type however, it does not work with following return type (Object
> array of Objejectarray of Object array):
>
> public Object[] returnObjectArray(String authToken) {
>         Object[] retVal = new Object[3];
>         Object[] args = new Object[3];
>         args[0] = new Object[] {"Arg1", "Arg2", "Arg3"};
>         args[1] = new Object[] {"Arg1", "Arg2", "Arg3"};
>         args[2] = new Object[] {"Arg1", "Arg2", "Arg3"};
>         retVal[0] = new Object[] {"RetVal1", "Retval2", authToken, args};
>         retVal[1] = new Object[] {"RetVal3", "Retval4", authToken, args};
>         retVal[2] = new Object[] {"RetVal5", "Retval6", authToken, args};
>         return retVal;
>     }
>
> Please let me know how I can make axis2 work with axis 1.4 for the above
> mentioned return type!!
>
> Chinmoy
>
>
>
>
> On Thu, Mar 20, 2008 at 10:30 PM, Deepal jayasinghe <[EMAIL PROTECTED]>
> wrote:
>
>> Hi Chinmoy ,
>> If you do not mind , try to use Axis2 in the client side . If it is
>> working then the problem should be there in either Axis1 or the way
>> Axis2 serialize that message .
>>
>> Thank you!
>> Deepal
>> > Thanks a lot Deepal for your reply. I have a made a test service that
>> > returns an object array. I can see the correct SOAP through the
>> > SOAPMonitor (that Axis2 is returning) but in axis 1.4 client I am
>> > getting following exception:
>> >
>> > 23938 ERROR [http8080-Processor23]
>> > org.apache.axis.client.Call     - Exception:
>> > org.xml.sax.SAXException: Found character data inside an array element
>> > while deserializing
>> >  at
>> >
>> org.apache.axis.encoding.ser.ArrayDeserializer.characters(ArrayDeserializer.java:502)
>> >  at
>> >
>> org.apache.axis.encoding.DeserializationContext.characters(DeserializationContext.java:966)
>> >  at
>> >
>> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:177)
>> >  at
>> >
>> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
>> >  at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:345)
>> >  at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
>> >  at org.apache.axis.client.Call.invoke(Call.java:2467)
>> >  at org.apache.axis.client.Call.invoke(Call.java:2366)
>> > .........................
>> >
>> > How can resolve above issue?
>> >
>> > Chinmoy
>> >
>> > On Wed, Mar 19, 2008 at 7:43 PM, Deepal jayasinghe <[EMAIL PROTECTED]
>> > <mailto:[EMAIL PROTECTED]>> wrote:
>> >
>> >     Yes Axis2 support Object arrays. The error may be due to some issue
>> in
>> >     your code , however we can help you to fix that if you can send us
>> the
>> >     code or create a JIRA attaching test code.
>> >
>> >     Thank you!
>> >     Deepal
>> >     > Hi All,
>> >     >
>> >     > I am using hitting Axis2 with axis 1.4 client. I have a service
>> >     which
>> >     > returns Object[].
>> >     >
>> >     > With axis 1.4 in both ends it worked well. But in axis2 it gives
>> >     > Nullpointer exception when the service tried to return Object[]
>> >     > (object array).
>> >     >
>> >     > Does axis2 support object array as return type? If yes then how
>> >     can I
>> >     > make it work with old axis1.4 client? its necessary to support old
>> >     > axis1.4 because lots of our customers are using axis1.4 client
>> >     and we
>> >     > need to make it backward compatible.
>> >     >
>> >     > Chinmoy
>> >
>> >
>> >
>> >
>> ---------------------------------------------------------------------
>> >     To unsubscribe, e-mail: [EMAIL PROTECTED]
>> >     <mailto:[EMAIL PROTECTED]>
>> >     For additional commands, e-mail: [EMAIL PROTECTED]
>> >     <mailto:[EMAIL PROTECTED]>
>>  >
>> >
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>

Reply via email to