Table of Contents
The process of creating a WCF C# client to the
        addnumbers service is similar to that for a Java
        programming language client. To create a WCF client you will:
Use the svcutil.exe tool to generate the C#
                proxy class and contracts for accessing the web
                service.
Create a client program that uses the generated files to
                make calls to the addnumbers web service.
This section covers the following topics:
You must have the following software installed to create the WCF client:
Microsoft Windows Software Development Kit (SDK) for July Community Technology Preview
Microsoft .NET Framework 3.5 RTM
The csclient-enabled-fromjava.zip
                        example bundle, which is availalble for download.
 You must also deploy the
            addnumbers service described in WSIT Example Using a Web Container Without NetBeans IDE. The service is also available for
            download.
The client class uses a generated proxy class,
            AddNumbersImpl, to access the web service. The
            port instance variable stores a reference to the
            proxy class.
Then the web service operation addNumbers is
            called on port:
The full Client.cs class is as follows:
Example 15.3.
using System;
class Client {
    static void Main(String[] args) {
        AddNumbersImplClient port = null;
        try {
            port = new AddNumbersImplClient("AddNumbersImplPort");
            int number1 = 10;
            int number2 = 20;
            Console.Write("Adding {0} and {1}. ", number1, number2);
            int result = port.addNumbers (number1, number2);
            Console.WriteLine("Result is {0}.\n\n",result);
            number1 = -10;
            Console.Write("Adding {0} and {1}. ", number1, number2);
            result = port.addNumbers (number1, number2);
            Console.WriteLine("Result is {0}.\n\n",result);
            port.Close();
        } catch (System.ServiceModel.FaultException e) {
            Console.WriteLine("Exception: " + e.Message);
            if (port != null) port.Close();
        }
    }
}The example bundle contains all the files you need to build and run a WCF client that accesses a Metro web service written in the Java programming language.
The csclient-enabled-fromjava.zip bundle
            contains the following files: 
Client.cs, the C# client
                        class
build.bat, the build batch
                        file
This section covers the following topics:
When creating a Java programming language client, you
                use the wsimport tool to generate the proxy and
                helper classes used by the client class to access the web
                service. When creating a WCF client, the
                svcutil.exe tool provides the same functionality
                as the wsimport tool. svcutil.exe
                generates the C# proxy class and contracts for accessing the
                service from a C# client program.
The example bundle contains a batch file,
                build.bat, that calls svcutil.exe to
                generate the proxy class. The command is:
svcutil /config:Client.exe.config http://localhost:8080/wsit-enabled-fromjava/addnumbers?wsdlThe example bundle's build.bat file
                    first generates the proxy class and configuration file for
                    the client, then compiles the proxy class, configuration
                    file, and Client.cs client class into the
                    Client.exe executable file.
To run build.bat, do the following.
                    
At a command prompt, navigate to the location where you extracted the example bundle.
If necessary, customize
                                the build.bat file as described in
                                To Customize the build.bat File.
Type the following command:
build.batTo customize the build.bat file for
                    your environment, do the following: 
Open
                                build.bat in a text
                                editor.
On the first line, type
                                the full path to the svcutil.exe tool.
                                By default, it is installed at C:\Program
                                Files\Microsoft
                                SDKs\Windows\v6.0\Bin.
On the first line,
                                change the WSDL location URL if you did not deploy
                                the addnumbers service to the local
                                machine, or if the service was deployed to a
                                different port than the default 8080 port
                                number.
For example, the following command (all on one
                                line) sets the host name to
                                testmachine.example.com and the port
                                number to 8081:
svcutil /config:Client.exe.config http://testmachine.example.com:8081/wsit-enabled-fromjava/addnumbers?wsdlOn line 2, change the
                                location of the csc.exe C# compiler and
                                the System.ServiceModel and
                                System.Runtime.Serialization support
                                DLLs if you installed the .NET 2.0 and 3.0
                                frameworks to non-default
                                locations.
After the client has been built, run the client by following these steps.
At a command prompt, navigate to the location where you extracted the example bundle.
Type the following command:
Client.exeYou will see the following output:
Adding 10 and 20. Result is 30. Adding -10 and 20. Exception: Negative numbers can't be added!