"cannot serialize interface" error in web service, help please

  • Thread starter Thread starter n_o_s_p_a__m
  • Start date Start date
N

n_o_s_p_a__m

My web service has a webmethod whose return type is declared as an
interface type, for example:

[WebMethod()]
public IBusinessProcess GetBusinessProcess() {}

which generates the lovely error:

Cannot serialize interface IBusinessProcess

The returned object (which implements IBusinessProcess), however, is
marked Serializable; but I gather that doesn't matter and that this is
some limitation in web services (because of marshalling)?

Please let me know what's up here. Thanks in advance.

-NS
 
Hi,

I don't think that you can serialize an interface. Here are some ideas for solving it:
1. Replace the interface with a base class. Obviously, this won't work if you need to inherit from other classes.
2. I have no idea if this will work, but:
Have the webmethod return an object (that implements your interface).
Make sure that the client app has a reference to the same interface. You probably need to have the interface in a separate dll that
both client and server has access to.
In the client, just cast the returned object to your interface.
 
Back
Top