Getting unable to cast error (when same object is referenced in client and web service)

R

Rahul

I am getting following error:

1) For a xml file "Request.xml" we created a schema "Request.xsd".

2) With the help of xsd.exe we got the C# file Request.cs.

3) We tried to send the object of Request.cs to a webservice method
SaveRequest(Request req).

4) Scenario is like same Request.cs is referenced by both server and
client.

5)When we are trying to pass the req object of type Request we are getting
unable to cast error.

Is this expected? If so, are there any workarounds?


Please help us in solving this.

Thanks !!!!!
 
J

John Saunders [MVP]

Rahul said:
I am getting following error:

1) For a xml file "Request.xml" we created a schema "Request.xsd".

2) With the help of xsd.exe we got the C# file Request.cs.

3) We tried to send the object of Request.cs to a webservice method
SaveRequest(Request req).

4) Scenario is like same Request.cs is referenced by both server and
client.

5)When we are trying to pass the req object of type Request we are getting
unable to cast error.

Is this expected? If so, are there any workarounds?

This is expected. The classes on the client side are proxy classes only -
they are not meant to be the same as the server-side classes. Their only
purpose is to make it easier for you to call the web methods exposed by the
server.

In fact, if you ever get a situation with ASMX web services where you have
the same class on the client and the server, then you've almost certainly
made a very serious mistake.
 
W

william

Hi John,
I've went through similar steps as Rahul, which is that I created a class by
using xsd.exe, I have a web service which return this serialized class. I
declared a variable as this class, and assign the return value of my web
service to the variable, I got compiling error "Cannot implicitly convert
type MyWebServiceTest.MyService.GetUserInfoResponseGetUserInfoResult to
User".

How can I get result from my web service?

Thanks.

William
 
J

John Saunders [MVP]

william said:
Hi John,
I've went through similar steps as Rahul, which is that I created a class
by
using xsd.exe, I have a web service which return this serialized class. I
declared a variable as this class, and assign the return value of my web
service to the variable, I got compiling error "Cannot implicitly convert
type MyWebServiceTest.MyService.GetUserInfoResponseGetUserInfoResult to
User".

How can I get result from my web service?

William, that error message you posted seems to be cut off. Surely the
message doesn't end with the word "User".
 
W

william

Hi John,

Actually my class name is "User", I declares a type as "User" on client
side, and tried to assign the return value of web service to it.Thanks.

William
 
J

John Saunders [MVP]

william said:
Hi John,

Actually my class name is "User", I declares a type as "User" on client
side, and tried to assign the return value of web service to it.Thanks.

Ok, but it looks like the proxy class (on the client) is returning type
MyWebServiceTest.MyService.GetUserInfoResponseGetUserInfoResult. I bet this
type has a property inside of it with the type User.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,481
Members
44,900
Latest member
Nell636132

Latest Threads

Top