Understanding WebsitePanel Proxy Classes
WebsitePanel employes the use of WSDL Proxy Classes to communicate between it’s different components. For more information about WSDL Proxy Classes refer to the following Microsoft Article:
There are two Proxy Class Projects in WebsitePanel
WebsitePanel.Server.Client Project (Server Solution)
This Proxy class is a collection of WSDL Proxies for WebsitePanel Server Component. This Class is referenced by projects located in the Enterprise Server Solution.
WebsitePanel.EnterpriseServer.Client Project (Enterprise Server Solution)
This Proxy class is a collection of WSDL Proxies for WebsitePanel Enterprise Server Component. This Class is referenced by projects located in the Portal Solution.
When is it required to update the classes in these projects?
Proxy classes are localized versions of the web services located in their respective component. Only when a change is made to the web services themselves are updates neccesary to these classes. For instance, if you add a new parameter to a webservice, unless you recompile the proxy class, the other solutions will not know the new objects model.
How do I update the Proxy class for a webservice so that they are up to date?
In order to update a particular proxy class for a webservice, you need to run wsdl tools against the webservice to auto-generate them. When you download your source you can navigate to /websitepanel/sources. In this directory you will find two batch files that can be modified to do this. The names of these batch files are generate_server_proxies.bat and generate_es_proxies.bat. A running available version of your webservice must be running so that the tools can work. You can simply play your project (either enterprise server or server project) inside visual studio and run it against the local development webserver if you do not have an available web server to use. In order for this to work you will need to have WSE SDK and .NET Framework 2.0 SDK Installed for these tools to be accessible.
Sample batch file:
WSDL Parameters that need to be changed:
server url: the URL to the webservice you are trying to generate a proxy class for
out: this is the location of where you want your new proxy class saved
namespace: the name space for the proxy class. You can check the existing class you want to update for the current namespace setting particular to the webservice you are trying to update a proxy class for.
After generating the new proxy class simply overwirte the existing one with the newer version and re-buid client project.