Advanced Design Issues
Because the type information of a remote type is required by the client, it is often easiest to simply deploy the remote type assembly on the client. However, in many cases you will not want the client to have access to the implementation of the type. There are a number of ways to solve this problem:
Declare an interface in an assembly that will be shared by the server and the client.
The client will have to callto instantiate the proxy. Using the operator new will cause a compilation error because you cannot create an instance of an interface.
Generate a metadata assembly using the Soapsuds tool. For more information see Using.
Generate source code using the Soapsuds tool. For more information see Using.