Skip to content

OPCFoundation/opcua-webapi-dotnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Opc.Ua.WebApi - the C# library for the OPC UA Web API

Provides simple HTTPS based access to an OPC UA server.

This C# SDK is automatically generated by the OpenAPI Generator project:

  • API version: 1.05.4
  • SDK version: 1.504.0
  • Build package: org.openapitools.codegen.languages.CSharpClientCodegen

Frameworks supported

Dependencies

The DLLs included in the package may not be the latest version. We recommend using NuGet to obtain the latest version of the packages:

Install-Package RestSharp
Install-Package Newtonsoft.Json
Install-Package JsonSubTypes
Install-Package System.ComponentModel.Annotations

NOTE: RestSharp versions greater than 105.1.0 have a bug which causes file uploads to fail. See RestSharp#742. NOTE: RestSharp for .Net Core creates a new socket for each api call, which can lead to a socket exhaustion problem. See RestSharp#1406.

Installation

Run the following command to generate the DLL

  • [Mac/Linux] /bin/sh build.sh
  • [Windows] build.bat

Then include the DLL (under the bin folder) in the C# project, and use the namespaces:

using Opc.Ua.WebApi.Api;
using Opc.Ua.WebApi.Client;
using Opc.Ua.WebApi.Model;

Packaging

A .nuspec is included with the project. You can follow the Nuget quickstart to create and publish packages.

This .nuspec uses placeholders from the .csproj, so build the .csproj directly:

nuget pack -Build -OutputDirectory out Opc.Ua.WebApi.csproj

Then, publish to a local feed or other host and consume the new package via Nuget as usual.

Usage

To use the API client with a HTTP proxy, setup a System.Net.WebProxy

Configuration c = new Configuration();
System.Net.WebProxy webProxy = new System.Net.WebProxy("http://myProxyUrl:80/");
webProxy.Credentials = System.Net.CredentialCache.DefaultCredentials;
c.Proxy = webProxy;

Getting Started

using System.Collections.Generic;
using System.Diagnostics;
using Opc.Ua.WebApi.Api;
using Opc.Ua.WebApi.Client;
using Opc.Ua.WebApi.Model;

namespace Example
{
    public class Example
    {
        public static void Main()
        {

            Configuration config = new Configuration();
            config.BasePath = "http://localhost:4840";
            var apiInstance = new DefaultApi(config);
            var activateSessionRequest = new ActivateSessionRequest?(); // ActivateSessionRequest? | ActivateSessionRequestMessage (optional) 

            try
            {
                ActivateSessionResponse result = apiInstance.ActivateSession(activateSessionRequest);
                Debug.WriteLine(result);
            }
            catch (ApiException e)
            {
                Debug.Print("Exception when calling DefaultApi.ActivateSession: " + e.Message );
                Debug.Print("Status Code: "+ e.ErrorCode);
                Debug.Print(e.StackTrace);
            }

        }
    }
}

Documentation for API Endpoints

All URIs are relative to http://localhost:4840

Class Method HTTP request Description
DefaultApi ActivateSession POST /activatesession
DefaultApi Browse POST /browse
DefaultApi BrowseNext POST /browsenext
DefaultApi Call POST /call
DefaultApi Cancel POST /cancel
DefaultApi CloseSession POST /closesession
DefaultApi CreateMonitoredItems POST /createmonitoreditems
DefaultApi CreateSession POST /createsession
DefaultApi CreateSubscription POST /createsubscription
DefaultApi DeleteMonitoredItems POST /deletemonitoreditems
DefaultApi DeleteSubscriptions POST /deletesubscriptions
DefaultApi FindServers POST /findservers
DefaultApi GetEndpoints POST /getendpoints
DefaultApi HistoryRead POST /historyread
DefaultApi HistoryUpdate POST /historyupdate
DefaultApi ModifyMonitoredItems POST /modifymonitoreditems
DefaultApi ModifySubscription POST /modifysubscription
DefaultApi Publish POST /publish
DefaultApi Read POST /read
DefaultApi RegisterNodes POST /registernodes
DefaultApi Republish POST /republish
DefaultApi SetMonitoringMode POST /setmonitoringmode
DefaultApi SetPublishingMode POST /setpublishingmode
DefaultApi SetTriggering POST /settriggering
DefaultApi TransferSubscriptions POST /transfersubscriptions
DefaultApi TranslateBrowsePathsToNodeIds POST /translate
DefaultApi UnregisterNodes POST /unregisternodes
DefaultApi Write POST /write

Documentation for Models

Documentation for Authorization

Endpoints do not require authorization.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published