![]() |
#1 |
Участник
|
Prerequisites Please read this post to get a brief explanation of the scenario I will implement in C# using Web References. For C# we can leave the Service Tier running Negotiate or we can use Ntlm as PHP and Java. In this example I will assume that the Service Tier is running SPNEGO (which is the default) BTW. Basic knowledge about C# is required to understand the following post:-) Version and download I am using Visual Studio 2008 professional with SP1 when writing this sample, to be honest I have NOT tried to see whether this will work in the Express versions of Visual Studio, but they do have Service Reference and Web Reference so I cannot see why not. What is the difference between a Web Reference and a Service Reference? In short, the Web Reference is a .net 2.0 compatible Web Service reference, the Service Reference is a .net 3.5 WCF based Service Reference. Add Web Reference is a wrapper over wsdl.exe and can be used to create proxies for .NET 1.1 or 2.0 clients. Of course this means when you are pointing to a WCF service you have to be pointing to an endpoint that uses basicHttpBinding. Add Service Reference is a wrapper over svcutil.exe and also creates clients proxies. These proxies, however, can only be consumed by .NET 3.5 clients. How to add Web References Select Add Service Reference ![]() Click Advanced ![]() Click Add Web Reference ![]() Type in the URL and specify the namespace for the SystemService Web Reference ![]() and for the Customer Page Web Reference ![]() When adding a Web Reference, Visual Studio will create a config file in which it stores stuff like the URL for the Reference. In my samples I will set the URL in code and due to this, the config file is not needed. Authentication In the following sample I use Windows Authentication. In Web References you just need to set the property UseDefaultCredentials in the service class to true, then .net will automatically try to use your windows credentials to connect to the Web Service. If you want to connect to a Web Reference using a specific username/password you need to exchange this line: someService.UseDefaultCredentials = true; with this: someService.Credentials = new NetworkCredential("user", "password", "domain"); The code First a couple of using statements (including the two reference namespaces) and the main body of a console app: using System; using System.Net; using testApp.CustomerPageRef; using testApp.SystemServiceRef; namespace testApp { class Program { static void Main(string[] args) { // main program code } } } The main code follows First, connect to the System Web Service and list all companies: string baseURL = "
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|