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. 

Project

This example

...

was tested with Visual Studio 2013. 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

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
titleSession 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 OldWebServicesGetResourceCount.ProjectorWebServicesV1;
 
namespace 

...

OldWebServicesGetResourceCount
{
    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 = "yourAccountName"

...

,
                

...

//EmailAddress = "yourEmailAddress"

...

,
                

...

//Password = "yourPassword"
            };
            //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)
            {
                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();
        }
    }
}