By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,561 Members | 3,221 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,561 IT Pros & Developers. It's quick & easy.

Web Method returns array of custom type : casting error

P: n/a
My ASP.NET Web Service project has a Web Method that returns an array filled
with instances of a custom class.

The custom class is defined in a Class Library that is included in the
web-service project.

The same class lib is included in the ASP.NET Web Application that calls the
web-method

I can successfully call the web-method with

object[] a = WebReference.WebService.WebMethod();

but when I attempt

myClass element = (myClass) a[i];

I receive the runtime error

"Specified cast is not valid."



Nov 23 '05 #1
Share this Question
Share on Google+
7 Replies


P: n/a
What the web method (actually the method from proxy class) is returning is a
proxy-type, and not the type that web service originally returned. You have
two choices:

1. Use the proxy type as-is. Since this was generated class, it will be
close to what the web service returned, sans any methods.

2. Manually edit the proxy class (found in webreferences folder of your web
site, with the same name as the reference page), and remove the proxy type,
and include the actual type in the cs file. Then add the corresponding using
statement as well.
--
Manohar Kamath
Editor, .netWire
www.dotnetwire.com
"John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
My ASP.NET Web Service project has a Web Method that returns an array filled with instances of a custom class.

The custom class is defined in a Class Library that is included in the
web-service project.

The same class lib is included in the ASP.NET Web Application that calls the web-method

I can successfully call the web-method with

object[] a = WebReference.WebService.WebMethod();

but when I attempt

myClass element = (myClass) a[i];

I receive the runtime error

"Specified cast is not valid."


Nov 23 '05 #2

P: n/a
Hi Manohar, and thanks for the response.

<<<
1. Use the proxy type as-is. Since this was generated class, it will be
close to what the web service returned, sans any methods.

My custom class is very simple. Two private fields. Two properties to
read-access the private fields. Two constructors (default, and one that
sets the two fields' values).

Are you saying that the proxy type will contain the data that my custom
class contains , but the two properties will not be available ?

So, I access the data like this:

a[i].Field1
a[i].Field2
<<<
2. Manually edit the proxy class (found in webreferences folder of your web
site, with the same name as the reference page), and remove the proxy type,
and include the actual type in the cs file. Then add the corresponding using
statement as well.

I'm not sure exactly what to do here.

Looking at my web-application in Visual Studio, and clicking on the
web-reference, a number of expandable nodes are shown: these appear to be
all of the types that my web-service references. Among them is listed the
name of my custom class -- but the first character is in lower case. In the
tree that expands from that node are listed my class' fields, construtors,
and properties exactly as I've defined them.

I'm looking at the contents of the "Web References" folder underneath my
web-app's physical folder: Reference.cs, Reference.map,
<web-service-name>.disco, <web-service-name>.wsdl

These files all look very dangerous to edit.
"Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
news:uA****************@TK2MSFTNGP10.phx.gbl... What the web method (actually the method from proxy class) is returning is
a
proxy-type, and not the type that web service originally returned. You
have
two choices:

1. Use the proxy type as-is. Since this was generated class, it will be
close to what the web service returned, sans any methods.

2. Manually edit the proxy class (found in webreferences folder of your
web
site, with the same name as the reference page), and remove the proxy
type,
and include the actual type in the cs file. Then add the corresponding
using
statement as well.
--
Manohar Kamath
Editor, .netWire
www.dotnetwire.com
"John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
My ASP.NET Web Service project has a Web Method that returns an array

filled
with instances of a custom class.

The custom class is defined in a Class Library that is included in the
web-service project.

The same class lib is included in the ASP.NET Web Application that calls

the
web-method

I can successfully call the web-method with

object[] a = WebReference.WebService.WebMethod();

but when I attempt

myClass element = (myClass) a[i];

I receive the runtime error

"Specified cast is not valid."



Nov 23 '05 #3

P: n/a
I am saying, your proxy type is identical to your custom type (almost),
except it will be in another namespace -- same as that of the proxy class.
So, by doing a manual changes, you are tricking SOAP to think that it is
actually deserializing to proxy type. As long as the names and types are
same, it will work.

--
Manohar Kamath
Editor, .netWire
www.dotnetwire.com
"John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
news:u%******************@TK2MSFTNGP10.phx.gbl...
Hi Manohar, and thanks for the response.

<<<
1. Use the proxy type as-is. Since this was generated class, it will be
close to what the web service returned, sans any methods.

My custom class is very simple. Two private fields. Two properties to
read-access the private fields. Two constructors (default, and one that
sets the two fields' values).

Are you saying that the proxy type will contain the data that my custom
class contains , but the two properties will not be available ?

So, I access the data like this:

a[i].Field1
a[i].Field2
<<<
2. Manually edit the proxy class (found in webreferences folder of your web site, with the same name as the reference page), and remove the proxy type, and include the actual type in the cs file. Then add the corresponding using statement as well.
I'm not sure exactly what to do here.

Looking at my web-application in Visual Studio, and clicking on the
web-reference, a number of expandable nodes are shown: these appear to be
all of the types that my web-service references. Among them is listed the
name of my custom class -- but the first character is in lower case. In the tree that expands from that node are listed my class' fields, construtors,
and properties exactly as I've defined them.

I'm looking at the contents of the "Web References" folder underneath my
web-app's physical folder: Reference.cs, Reference.map,
<web-service-name>.disco, <web-service-name>.wsdl

These files all look very dangerous to edit.
"Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
news:uA****************@TK2MSFTNGP10.phx.gbl...
What the web method (actually the method from proxy class) is returning

is a
proxy-type, and not the type that web service originally returned. You
have
two choices:

1. Use the proxy type as-is. Since this was generated class, it will be
close to what the web service returned, sans any methods.

2. Manually edit the proxy class (found in webreferences folder of your
web
site, with the same name as the reference page), and remove the proxy
type,
and include the actual type in the cs file. Then add the corresponding
using
statement as well.
--
Manohar Kamath
Editor, .netWire
www.dotnetwire.com
"John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
news:%2******************@TK2MSFTNGP09.phx.gbl...
My ASP.NET Web Service project has a Web Method that returns an array

filled
with instances of a custom class.

The custom class is defined in a Class Library that is included in the
web-service project.

The same class lib is included in the ASP.NET Web Application that
calls the
web-method

I can successfully call the web-method with

object[] a = WebReference.WebService.WebMethod();

but when I attempt

myClass element = (myClass) a[i];

I receive the runtime error

"Specified cast is not valid."




Nov 23 '05 #4

P: n/a
Ok. I edited Reference.cs so that my custom type is explicitly declared
using the class library namespace:

used to be : public MyCustomClass Method1() {

changed to: public MyCustomClassLibrary.MyCustomClass Method1() {
Now what happens is that I receive no compile-time nor run-time errors, but
on the web-app side, properties of an instance of MyCustomClass are always
null, no matter what values MyWebService.Method1() has set them to.
so ...

object[] array = MyWebReference.Method1();
(MyCustomClass) element = array[0];
String s1 = element.Field1;
String s2 = element.Field2;

element.Field1 and element.Field2 are always null,

"Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
news:eR**************@TK2MSFTNGP12.phx.gbl...
I am saying, your proxy type is identical to your custom type (almost),
except it will be in another namespace -- same as that of the proxy class.
So, by doing a manual changes, you are tricking SOAP to think that it is
actually deserializing to proxy type. As long as the names and types are
same, it will work.

--
Manohar Kamath
Editor, .netWire
www.dotnetwire.com
"John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
news:u%******************@TK2MSFTNGP10.phx.gbl...
Hi Manohar, and thanks for the response.

<<<
1. Use the proxy type as-is. Since this was generated class, it will be
close to what the web service returned, sans any methods.
>>>


My custom class is very simple. Two private fields. Two properties to
read-access the private fields. Two constructors (default, and one that
sets the two fields' values).

Are you saying that the proxy type will contain the data that my custom
class contains , but the two properties will not be available ?

So, I access the data like this:

a[i].Field1
a[i].Field2
<<<
2. Manually edit the proxy class (found in webreferences folder of your

web
site, with the same name as the reference page), and remove the proxy

type,
and include the actual type in the cs file. Then add the corresponding

using
statement as well.
>>>


I'm not sure exactly what to do here.

Looking at my web-application in Visual Studio, and clicking on the
web-reference, a number of expandable nodes are shown: these appear to be
all of the types that my web-service references. Among them is listed
the
name of my custom class -- but the first character is in lower case. In

the
tree that expands from that node are listed my class' fields,
construtors,
and properties exactly as I've defined them.

I'm looking at the contents of the "Web References" folder underneath my
web-app's physical folder: Reference.cs, Reference.map,
<web-service-name>.disco, <web-service-name>.wsdl

These files all look very dangerous to edit.
"Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
news:uA****************@TK2MSFTNGP10.phx.gbl...
> What the web method (actually the method from proxy class) is returning is > a
> proxy-type, and not the type that web service originally returned. You
> have
> two choices:
>
> 1. Use the proxy type as-is. Since this was generated class, it will be
> close to what the web service returned, sans any methods.
>
> 2. Manually edit the proxy class (found in webreferences folder of your
> web
> site, with the same name as the reference page), and remove the proxy
> type,
> and include the actual type in the cs file. Then add the corresponding
> using
> statement as well.
>
>
> --
> Manohar Kamath
> Editor, .netWire
> www.dotnetwire.com
>
>
> "John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
> news:%2******************@TK2MSFTNGP09.phx.gbl...
>> My ASP.NET Web Service project has a Web Method that returns an array
> filled
>> with instances of a custom class.
>>
>> The custom class is defined in a Class Library that is included in the
>> web-service project.
>>
>> The same class lib is included in the ASP.NET Web Application that calls > the
>> web-method
>>
>> I can successfully call the web-method with
>>
>> object[] a = WebReference.WebService.WebMethod();
>>
>> but when I attempt
>>
>> myClass element = (myClass) a[i];
>>
>> I receive the runtime error
>>
>> "Specified cast is not valid."
>>
>>
>>
>>
>>
>>
>>
>
>



Nov 23 '05 #5

P: n/a
I think you misunderstood me...

In the reference.cs, DELETE the custom type MyCustomClass. Then, add the
using statement with the namespace MyCustomClassLibrary. You should not have
to change anything else.
--
Manohar Kamath
Editor, .netWire
www.dotnetwire.com
"John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
news:e1**************@TK2MSFTNGP12.phx.gbl...
Ok. I edited Reference.cs so that my custom type is explicitly declared
using the class library namespace:

used to be : public MyCustomClass Method1() {

changed to: public MyCustomClassLibrary.MyCustomClass Method1() {
Now what happens is that I receive no compile-time nor run-time errors, but on the web-app side, properties of an instance of MyCustomClass are always
null, no matter what values MyWebService.Method1() has set them to.
so ...

object[] array = MyWebReference.Method1();
(MyCustomClass) element = array[0];
String s1 = element.Field1;
String s2 = element.Field2;

element.Field1 and element.Field2 are always null,

"Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
news:eR**************@TK2MSFTNGP12.phx.gbl...
I am saying, your proxy type is identical to your custom type (almost),
except it will be in another namespace -- same as that of the proxy class. So, by doing a manual changes, you are tricking SOAP to think that it is
actually deserializing to proxy type. As long as the names and types are same, it will work.

--
Manohar Kamath
Editor, .netWire
www.dotnetwire.com
"John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
news:u%******************@TK2MSFTNGP10.phx.gbl...
Hi Manohar, and thanks for the response.

<<<
1. Use the proxy type as-is. Since this was generated class, it will be
close to what the web service returned, sans any methods.
>>>

My custom class is very simple. Two private fields. Two properties to
read-access the private fields. Two constructors (default, and one that sets the two fields' values).

Are you saying that the proxy type will contain the data that my custom
class contains , but the two properties will not be available ?

So, I access the data like this:

a[i].Field1
a[i].Field2
<<<
2. Manually edit the proxy class (found in webreferences folder of your

web
site, with the same name as the reference page), and remove the proxy

type,
and include the actual type in the cs file. Then add the corresponding

using
statement as well.
>>>

I'm not sure exactly what to do here.

Looking at my web-application in Visual Studio, and clicking on the
web-reference, a number of expandable nodes are shown: these appear to be all of the types that my web-service references. Among them is listed
the
name of my custom class -- but the first character is in lower case. In
the
tree that expands from that node are listed my class' fields,
construtors,
and properties exactly as I've defined them.

I'm looking at the contents of the "Web References" folder underneath
my web-app's physical folder: Reference.cs, Reference.map,
<web-service-name>.disco, <web-service-name>.wsdl

These files all look very dangerous to edit.
"Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
news:uA****************@TK2MSFTNGP10.phx.gbl...
> What the web method (actually the method from proxy class) is returning is
> a
> proxy-type, and not the type that web service originally returned.

You > have
> two choices:
>
> 1. Use the proxy type as-is. Since this was generated class, it will be > close to what the web service returned, sans any methods.
>
> 2. Manually edit the proxy class (found in webreferences folder of your > web
> site, with the same name as the reference page), and remove the proxy
> type,
> and include the actual type in the cs file. Then add the corresponding > using
> statement as well.
>
>
> --
> Manohar Kamath
> Editor, .netWire
> www.dotnetwire.com
>
>
> "John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
> news:%2******************@TK2MSFTNGP09.phx.gbl...
>> My ASP.NET Web Service project has a Web Method that returns an array > filled
>> with instances of a custom class.
>>
>> The custom class is defined in a Class Library that is included in the >> web-service project.
>>
>> The same class lib is included in the ASP.NET Web Application that

calls
> the
>> web-method
>>
>> I can successfully call the web-method with
>>
>> object[] a = WebReference.WebService.WebMethod();
>>
>> but when I attempt
>>
>> myClass element = (myClass) a[i];
>>
>> I receive the runtime error
>>
>> "Specified cast is not valid."
>>
>>
>>
>>
>>
>>
>>
>
>



Nov 23 '05 #6

P: n/a
Ahh, I see. The problem is that the MyCustomClass stub in References.cs
causes the compiler to think that web-method return types of MyCustomClass
originate in the web-service rather than in MyCustomClassLibrary.

Correct ?

"Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
news:em**************@TK2MSFTNGP10.phx.gbl...
I think you misunderstood me...

In the reference.cs, DELETE the custom type MyCustomClass. Then, add the
using statement with the namespace MyCustomClassLibrary. You should not
have
to change anything else.
--
Manohar Kamath
Editor, .netWire
www.dotnetwire.com
"John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
news:e1**************@TK2MSFTNGP12.phx.gbl...
Ok. I edited Reference.cs so that my custom type is explicitly declared
using the class library namespace:

used to be : public MyCustomClass Method1() {

changed to: public MyCustomClassLibrary.MyCustomClass Method1() {
Now what happens is that I receive no compile-time nor run-time errors,

but
on the web-app side, properties of an instance of MyCustomClass are
always
null, no matter what values MyWebService.Method1() has set them to.
so ...

object[] array = MyWebReference.Method1();
(MyCustomClass) element = array[0];
String s1 = element.Field1;
String s2 = element.Field2;

element.Field1 and element.Field2 are always null,

"Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
news:eR**************@TK2MSFTNGP12.phx.gbl...
>I am saying, your proxy type is identical to your custom type (almost),
> except it will be in another namespace -- same as that of the proxy class. > So, by doing a manual changes, you are tricking SOAP to think that it
> is
> actually deserializing to proxy type. As long as the names and types are > same, it will work.
>
> --
> Manohar Kamath
> Editor, .netWire
> www.dotnetwire.com
>
>
> "John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
> news:u%******************@TK2MSFTNGP10.phx.gbl...
>> Hi Manohar, and thanks for the response.
>>
>> <<<
>> 1. Use the proxy type as-is. Since this was generated class, it will
>> be
>> close to what the web service returned, sans any methods.
>> >>>
>>
>> My custom class is very simple. Two private fields. Two properties
>> to
>> read-access the private fields. Two constructors (default, and one that >> sets the two fields' values).
>>
>> Are you saying that the proxy type will contain the data that my
>> custom
>> class contains , but the two properties will not be available ?
>>
>> So, I access the data like this:
>>
>> a[i].Field1
>> a[i].Field2
>>
>>
>> <<<
>> 2. Manually edit the proxy class (found in webreferences folder of
>> your
> web
>> site, with the same name as the reference page), and remove the proxy
> type,
>> and include the actual type in the cs file. Then add the corresponding
> using
>> statement as well.
>> >>>
>>
>> I'm not sure exactly what to do here.
>>
>> Looking at my web-application in Visual Studio, and clicking on the
>> web-reference, a number of expandable nodes are shown: these appear to be >> all of the types that my web-service references. Among them is listed
>> the
>> name of my custom class -- but the first character is in lower case. In > the
>> tree that expands from that node are listed my class' fields,
>> construtors,
>> and properties exactly as I've defined them.
>>
>> I'm looking at the contents of the "Web References" folder underneath my >> web-app's physical folder: Reference.cs, Reference.map,
>> <web-service-name>.disco, <web-service-name>.wsdl
>>
>> These files all look very dangerous to edit.
>>
>>
>> "Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
>> news:uA****************@TK2MSFTNGP10.phx.gbl...
>> > What the web method (actually the method from proxy class) is returning > is
>> > a
>> > proxy-type, and not the type that web service originally returned. You >> > have
>> > two choices:
>> >
>> > 1. Use the proxy type as-is. Since this was generated class, it will be >> > close to what the web service returned, sans any methods.
>> >
>> > 2. Manually edit the proxy class (found in webreferences folder of your >> > web
>> > site, with the same name as the reference page), and remove the
>> > proxy
>> > type,
>> > and include the actual type in the cs file. Then add the corresponding >> > using
>> > statement as well.
>> >
>> >
>> > --
>> > Manohar Kamath
>> > Editor, .netWire
>> > www.dotnetwire.com
>> >
>> >
>> > "John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
>> > news:%2******************@TK2MSFTNGP09.phx.gbl...
>> >> My ASP.NET Web Service project has a Web Method that returns an array >> > filled
>> >> with instances of a custom class.
>> >>
>> >> The custom class is defined in a Class Library that is included in the >> >> web-service project.
>> >>
>> >> The same class lib is included in the ASP.NET Web Application that
> calls
>> > the
>> >> web-method
>> >>
>> >> I can successfully call the web-method with
>> >>
>> >> object[] a = WebReference.WebService.WebMethod();
>> >>
>> >> but when I attempt
>> >>
>> >> myClass element = (myClass) a[i];
>> >>
>> >> I receive the runtime error
>> >>
>> >> "Specified cast is not valid."
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >
>> >
>>
>>
>
>



Nov 23 '05 #7

P: n/a
Yes... by removing the custom type, you are actually returning from the
proxy class, an object which is the same type the web service returns.

--
Manohar Kamath
Editor, .netWire
www.dotnetwire.com
"John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
news:uR**************@TK2MSFTNGP14.phx.gbl...
Ahh, I see. The problem is that the MyCustomClass stub in References.cs
causes the compiler to think that web-method return types of MyCustomClass
originate in the web-service rather than in MyCustomClassLibrary.

Correct ?

"Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
news:em**************@TK2MSFTNGP10.phx.gbl...
I think you misunderstood me...

In the reference.cs, DELETE the custom type MyCustomClass. Then, add the
using statement with the namespace MyCustomClassLibrary. You should not
have
to change anything else.
--
Manohar Kamath
Editor, .netWire
www.dotnetwire.com
"John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
news:e1**************@TK2MSFTNGP12.phx.gbl...
Ok. I edited Reference.cs so that my custom type is explicitly declared
using the class library namespace:

used to be : public MyCustomClass Method1() {

changed to: public MyCustomClassLibrary.MyCustomClass Method1() {
Now what happens is that I receive no compile-time nor run-time errors,

but
on the web-app side, properties of an instance of MyCustomClass are
always
null, no matter what values MyWebService.Method1() has set them to.
so ...

object[] array = MyWebReference.Method1();
(MyCustomClass) element = array[0];
String s1 = element.Field1;
String s2 = element.Field2;

element.Field1 and element.Field2 are always null,

"Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
news:eR**************@TK2MSFTNGP12.phx.gbl...
>I am saying, your proxy type is identical to your custom type (almost), > except it will be in another namespace -- same as that of the proxy

class.
> So, by doing a manual changes, you are tricking SOAP to think that it
> is
> actually deserializing to proxy type. As long as the names and types

are
> same, it will work.
>
> --
> Manohar Kamath
> Editor, .netWire
> www.dotnetwire.com
>
>
> "John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
> news:u%******************@TK2MSFTNGP10.phx.gbl...
>> Hi Manohar, and thanks for the response.
>>
>> <<<
>> 1. Use the proxy type as-is. Since this was generated class, it will
>> be
>> close to what the web service returned, sans any methods.
>> >>>
>>
>> My custom class is very simple. Two private fields. Two properties
>> to
>> read-access the private fields. Two constructors (default, and one

that
>> sets the two fields' values).
>>
>> Are you saying that the proxy type will contain the data that my
>> custom
>> class contains , but the two properties will not be available ?
>>
>> So, I access the data like this:
>>
>> a[i].Field1
>> a[i].Field2
>>
>>
>> <<<
>> 2. Manually edit the proxy class (found in webreferences folder of
>> your
> web
>> site, with the same name as the reference page), and remove the proxy > type,
>> and include the actual type in the cs file. Then add the corresponding > using
>> statement as well.
>> >>>
>>
>> I'm not sure exactly what to do here.
>>
>> Looking at my web-application in Visual Studio, and clicking on the
>> web-reference, a number of expandable nodes are shown: these appear to
be
>> all of the types that my web-service references. Among them is
listed >> the
>> name of my custom class -- but the first character is in lower case.

In
> the
>> tree that expands from that node are listed my class' fields,
>> construtors,
>> and properties exactly as I've defined them.
>>
>> I'm looking at the contents of the "Web References" folder underneath my
>> web-app's physical folder: Reference.cs, Reference.map,
>> <web-service-name>.disco, <web-service-name>.wsdl
>>
>> These files all look very dangerous to edit.
>>
>>
>> "Manohar Kamath" <mk*****@TAKETHISOUTkamath.com> wrote in message
>> news:uA****************@TK2MSFTNGP10.phx.gbl...
>> > What the web method (actually the method from proxy class) is

returning
> is
>> > a
>> > proxy-type, and not the type that web service originally returned.

You
>> > have
>> > two choices:
>> >
>> > 1. Use the proxy type as-is. Since this was generated class, it
will be
>> > close to what the web service returned, sans any methods.
>> >
>> > 2. Manually edit the proxy class (found in webreferences folder of

your
>> > web
>> > site, with the same name as the reference page), and remove the
>> > proxy
>> > type,
>> > and include the actual type in the cs file. Then add the

corresponding
>> > using
>> > statement as well.
>> >
>> >
>> > --
>> > Manohar Kamath
>> > Editor, .netWire
>> > www.dotnetwire.com
>> >
>> >
>> > "John Grandy" <johnagrandy-at-yahoo-dot-com> wrote in message
>> > news:%2******************@TK2MSFTNGP09.phx.gbl...
>> >> My ASP.NET Web Service project has a Web Method that returns an

array
>> > filled
>> >> with instances of a custom class.
>> >>
>> >> The custom class is defined in a Class Library that is included
in the
>> >> web-service project.
>> >>
>> >> The same class lib is included in the ASP.NET Web Application

that > calls
>> > the
>> >> web-method
>> >>
>> >> I can successfully call the web-method with
>> >>
>> >> object[] a = WebReference.WebService.WebMethod();
>> >>
>> >> but when I attempt
>> >>
>> >> myClass element = (myClass) a[i];
>> >>
>> >> I receive the runtime error
>> >>
>> >> "Specified cast is not valid."
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >
>> >
>>
>>
>
>



Nov 23 '05 #8

This discussion thread is closed

Replies have been disabled for this discussion.