Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP .Net Web Services (http://www.velocityreviews.com/forums/f64-asp-net-web-services.html)
-   -   How to do: Web Services returning a class that inherits arraylist (http://www.velocityreviews.com/forums/t787685-how-to-do-web-services-returning-a-class-that-inherits-arraylist.html)

Hammer 09-18-2008 06:31 PM

How to do: Web Services returning a class that inherits arraylist
 
All,

I have a class called CartLine and I try to return this class in a Web
Method I can not!

[Serializable]
public class Cartline: Arraylist
{
// class properties and etc.
}

The proxy reference doesn't contain any information even though I use the
following:

[XmlInclude(typeof(ShoppingCart)), XmlInclude(typeof(Business.Cart))]
public CartLine GetCartItem(String m_ShoppingCartUserId,
Common.UserStatus eStatus)

And to add insult to injury, when I uses this web method calls to returns my
class as object[] that I can not cast back to my business class.

Can anyone shed some light on how to accomplish this?


Registered User 09-18-2008 08:24 PM

Re: How to do: Web Services returning a class that inherits arraylist
 
On Thu, 18 Sep 2008 11:31:04 -0700, Hammer
<Hammer@discussions.microsoft.com> wrote:

>All,
>
>I have a class called CartLine and I try to return this class in a Web
>Method I can not!
>
>[Serializable]
>public class Cartline: Arraylist
>{
> // class properties and etc.
>}
>
>The proxy reference doesn't contain any information even though I use the
>following:
>
> [XmlInclude(typeof(ShoppingCart)), XmlInclude(typeof(Business.Cart))]
> public CartLine GetCartItem(String m_ShoppingCartUserId,
>Common.UserStatus eStatus)
>
>And to add insult to injury, when I uses this web method calls to returns my
>class as object[] that I can not cast back to my business class.
>
>Can anyone shed some light on how to accomplish this?
>


You're trying to return an object which contains both data and
functionality which can't be done. The objects in the array are of a
type declared within the web service's namespace. This is because not
every client will know about the System.Collections namespace and its
ArrayList type.

Web service types are described as simple objects because they are not
based upon true object-oriented types. The SOAP in SOAP web service
stands for Simple Object Access Protocol.A different mechanism will be
needed to pass complex types.

regards
A.G.

Hammer 09-19-2008 04:12 PM

Re: How to do: Web Services returning a class that inherits arrayl
 
I beg differ,

its an array. Array types can be defined in the soap schema. I'm just trying
to find out why doesn't mines get defined. I can update my reference files
but it does me little good if I then update my web references.

Has anyone encounter this problem or has a possible solution?

Thanks,

"Registered User" wrote:

> On Thu, 18 Sep 2008 11:31:04 -0700, Hammer
> <Hammer@discussions.microsoft.com> wrote:
>
> >All,
> >
> >I have a class called CartLine and I try to return this class in a Web
> >Method I can not!
> >
> >[Serializable]
> >public class Cartline: Arraylist
> >{
> > // class properties and etc.
> >}
> >
> >The proxy reference doesn't contain any information even though I use the
> >following:
> >
> > [XmlInclude(typeof(ShoppingCart)), XmlInclude(typeof(Business.Cart))]
> > public CartLine GetCartItem(String m_ShoppingCartUserId,
> >Common.UserStatus eStatus)
> >
> >And to add insult to injury, when I uses this web method calls to returns my
> >class as object[] that I can not cast back to my business class.
> >
> >Can anyone shed some light on how to accomplish this?
> >

>
> You're trying to return an object which contains both data and
> functionality which can't be done. The objects in the array are of a
> type declared within the web service's namespace. This is because not
> every client will know about the System.Collections namespace and its
> ArrayList type.
>
> Web service types are described as simple objects because they are not
> based upon true object-oriented types. The SOAP in SOAP web service
> stands for Simple Object Access Protocol.A different mechanism will be
> needed to pass complex types.
>
> regards
> A.G.
>


Hammer 09-26-2008 07:28 PM

Re: How to do: Web Services returning a class that inherits arrayl
 
I found the solution to my problem, when you add a WCF service - select the
advance button, select the array dropdown and then select the appropriate
array that applys to your situation.

Yupper, hidden to plain view....

Happy hunting...

"Hammer" wrote:

> I beg differ,
>
> its an array. Array types can be defined in the soap schema. I'm just trying
> to find out why doesn't mines get defined. I can update my reference files
> but it does me little good if I then update my web references.
>
> Has anyone encounter this problem or has a possible solution?
>
> Thanks,
>
> "Registered User" wrote:
>
> > On Thu, 18 Sep 2008 11:31:04 -0700, Hammer
> > <Hammer@discussions.microsoft.com> wrote:
> >
> > >All,
> > >
> > >I have a class called CartLine and I try to return this class in a Web
> > >Method I can not!
> > >
> > >[Serializable]
> > >public class Cartline: Arraylist
> > >{
> > > // class properties and etc.
> > >}
> > >
> > >The proxy reference doesn't contain any information even though I use the
> > >following:
> > >
> > > [XmlInclude(typeof(ShoppingCart)), XmlInclude(typeof(Business.Cart))]
> > > public CartLine GetCartItem(String m_ShoppingCartUserId,
> > >Common.UserStatus eStatus)
> > >
> > >And to add insult to injury, when I uses this web method calls to returns my
> > >class as object[] that I can not cast back to my business class.
> > >
> > >Can anyone shed some light on how to accomplish this?
> > >

> >
> > You're trying to return an object which contains both data and
> > functionality which can't be done. The objects in the array are of a
> > type declared within the web service's namespace. This is because not
> > every client will know about the System.Collections namespace and its
> > ArrayList type.
> >
> > Web service types are described as simple objects because they are not
> > based upon true object-oriented types. The SOAP in SOAP web service
> > stands for Simple Object Access Protocol.A different mechanism will be
> > needed to pass complex types.
> >
> > regards
> > A.G.
> >


Registered User 09-27-2008 09:11 AM

Re: How to do: Web Services returning a class that inherits arrayl
 
On Fri, 26 Sep 2008 12:28:06 -0700, Hammer
<Hammer@discussions.microsoft.com> wrote:

>I found the solution to my problem, when you add a WCF service - select the
>advance button, select the array dropdown and then select the appropriate
>array that applys to your situation.
>
>Yupper, hidden to plain view....
>
>Happy hunting...
>

Good stuff. I hadn't considered WCF primarily because I haven't had
occasion to use the tool. Most of what I do interacts with legacy
systems and their seeming eccentricities.

Doesn't a WCF webservice require a WCF client?

regards
A.G.

>"Hammer" wrote:
>
>> I beg differ,
>>
>> its an array. Array types can be defined in the soap schema. I'm just trying
>> to find out why doesn't mines get defined. I can update my reference files
>> but it does me little good if I then update my web references.
>>
>> Has anyone encounter this problem or has a possible solution?
>>
>> Thanks,
>>
>> "Registered User" wrote:
>>
>> > On Thu, 18 Sep 2008 11:31:04 -0700, Hammer
>> > <Hammer@discussions.microsoft.com> wrote:
>> >
>> > >All,
>> > >
>> > >I have a class called CartLine and I try to return this class in a Web
>> > >Method I can not!
>> > >
>> > >[Serializable]
>> > >public class Cartline: Arraylist
>> > >{
>> > > // class properties and etc.
>> > >}
>> > >
>> > >The proxy reference doesn't contain any information even though I use the
>> > >following:
>> > >
>> > > [XmlInclude(typeof(ShoppingCart)), XmlInclude(typeof(Business.Cart))]
>> > > public CartLine GetCartItem(String m_ShoppingCartUserId,
>> > >Common.UserStatus eStatus)
>> > >
>> > >And to add insult to injury, when I uses this web method calls to returns my
>> > >class as object[] that I can not cast back to my business class.
>> > >
>> > >Can anyone shed some light on how to accomplish this?
>> > >
>> >
>> > You're trying to return an object which contains both data and
>> > functionality which can't be done. The objects in the array are of a
>> > type declared within the web service's namespace. This is because not
>> > every client will know about the System.Collections namespace and its
>> > ArrayList type.
>> >
>> > Web service types are described as simple objects because they are not
>> > based upon true object-oriented types. The SOAP in SOAP web service
>> > stands for Simple Object Access Protocol.A different mechanism will be
>> > needed to pass complex types.
>> >
>> > regards
>> > A.G.
>> >


John Saunders 09-27-2008 11:31 PM

Re: How to do: Web Services returning a class that inherits arrayl
 
"Registered User" <n4jvp@ix.netcom.com> wrote in message
news:bftrd49pbk4r3vt5ekhm4fjmul7lpr0da9@4ax.com...
> On Fri, 26 Sep 2008 12:28:06 -0700, Hammer
> <Hammer@discussions.microsoft.com> wrote:
>
>>I found the solution to my problem, when you add a WCF service - select
>>the
>>advance button, select the array dropdown and then select the appropriate
>>array that applys to your situation.
>>
>>Yupper, hidden to plain view....
>>
>>Happy hunting...
>>

> Good stuff. I hadn't considered WCF primarily because I haven't had
> occasion to use the tool. Most of what I do interacts with legacy
> systems and their seeming eccentricities.
>
> Doesn't a WCF webservice require a WCF client?


No. WCF is simply the replacement for the older ASMX web service technology.
It no more requires a WCF client than ASMX required a .NET client.

--
John Saunders | MVP - Connected System Developer



All times are GMT. The time now is 05:22 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.