Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...


Info

The account used to connect to your installation must have the the global permissions Web Services and Export Data permission enabled enabled.

C#

This example will retrieve the number of resources in your installation. 

...

This example was tested with Visual Studio 20122013. The project is a console application. You can download a VS2013 example project here.

Attachments
patterns*.zip

Add Web Reference

You'll need to add a web reference to Projector's WSDL. You can do so by right-clicking References in the solution explorer and choosing Add Service Reference.

Image Added

Add Using Reference

Using the name of your project and the name of your web service, add a using directive to the top of your program. In the example below, my project is OldWebServicesGetResourceCount. The service reference is called ProjectorWebServicesV1.

Code Example

Using the below code as a starting place, start using our web services. 

Tip

...

 using
Code Block
title

 

Once the reference is added, the following code should execute (with proper authentication information):

 

Session Tickets

This example assumes that you can create a session ticket. To learn how to create session tickets see C Sharp Example. You must use the v2 web services to generate session tickets. They can be used by the v1 services going forward though.


Code Block
languagecsharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using ProjectorExampleWS1OldWebServicesGetResourceCount.ServiceReference1ProjectorWebServicesV1;
 
namespace ProjectorExampleWS1OldWebServicesGetResourceCount
{
    	class Program
   	 {
		        static void Main(string[] args)
		{
			
        {
            Program program = new Program();
            Console.WriteLine("Projector console app running....\n");
            //create an instance of the Projector Service
			
            var svc = new OpsProjectorSvcSoapClient();
			
            var header = new OpsAuthenticationHeader
			{
				
            {
                SessionTicket = "XXXXXXXXXXXXXXXXXXXXXXXX",
                //you can log in using your credentials directly, but we strongly discourage this approach. You should generate session tickets to log in. Direct credentials are fine for some simple tests
                //AccountName = "youraccountyourAccountName",
				
                //EmailAddress = "youremailyourEmailAddress",
				
                //Password = "yourpasswordyourPassword"
			};
			
            };
            //Authenticate with server and ensure we have the correct Service URL
			
            var getWebServiceUrlRq = new GetWebServiceUrlRq();
			
            GetWebServiceUrlRs getWebServiceUrlRs = svc.GetWebServiceUrl(header, getWebServiceUrlRq);
			
            if (getWebServiceUrlRs.WebServiceUrl != null)
			{
				svc.Endpoint.Address = new EndpointAddress(            {
                var newEndpoint = string.Format("{0}/OpsProjectorWebSvc/OpsProjectorSvc.asmx", getWebServiceUrlRs.WebServiceUrl);
                Console.WriteLine("Redirecting your endpoint to: \n" + newEndpoint + "\n");
                svc = new OpsProjectorSvcSoapClient(new BasicHttpsBinding(), new EndpointAddress(newEndpoint));
			}
			
            }
            //Retrieve some data from the installation using Rq/Rs
			
            var exportResourcesRq = new ExportResourcesRq
			{
				
            {
                Parameters = new ExportResourcesRequest
				{
					
                {
                    OnlyCountRows = true
				}
			};
			
                }
            };
            ExportResourcesRs exportResourcesRs = svc.ExportResources(header, exportResourcesRq);
			            int iResources = exportResourcesRs.Data.RowCount;
            Console.WriteLine("Your installation has " + iResources.ToString() + " active resources as of today.\n");
            Console.WriteLine("Press enter to quit");
            Console.ReadLine();
		}
	
        }
    }
}