The first component to be aware of is the DLL that contains the web services API contract, and client proxy class. Use of this DLL in your client application is optional. It provides some helpful utilities for creating your own proxies and services. Alternatively, you can use the Intent Services by adding a Service Reference to your .NET application, which can generate a client proxy for you.
This is a pre-built client proxy class that can be used by .NET clients to access the web services. It has multiple constructors that work the same way as the constructors provided by client proxy generated by a service reference plus one additional constructor taking an Uri argument.
<configuration> <system.serviceModel> <bindings> <netNamedPipeBinding> <binding name="NetNamedPipeBinding_IIntentServices" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:05:00" transactionFlow="false" transferMode="Buffered" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="67108864" maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="67108864"> <readerQuotas maxDepth="32" maxStringContentLength="33554432" maxArrayLength="67108864" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <security mode="Transport"> <transport protectionLevel="EncryptAndSign" /> </security> </binding> </netNamedPipeBinding> </bindings> <client> <endpoint address="net.pipe://localhost/Autodesk/Intent/Services" binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_IIntentServices" contract="Autodesk.Intent.Services.IIntentServices" name="NetNamedPipeBinding_IIntentServices"> </endpoint> </client> </system.serviceModel> </configuration>
The extra constructor takes an URI pointing to the WCF endpoint hosting IIntentServices. It should be instantiated with the URI of the Intent Session Manager Service (see below) in order for the client application to access the remote API.
This interface defines which operations are available on the web services. The API is similar to the standard Intent API with a few exceptions.
The API has a Get and Set for each of the supported types. There is one weakly-typed version for each (that is, GetValue , SetValue ), which boxes the value as a .Net Object.
There is also a strong-typed version for each of the internal Intent Types.
The weakly-typed version supports all of the internal Intent Types plus objects to support arbitrary binary streams (for example, byte[], Stream, MemoryStream).
Additionally, there is an operation to enable setting a rule by formula.
This abstract base class acts as a wrapper for another class that implements IIntentServices. You can use it to easily create a SOAP-based web service implementation that you can expose through your web application. Use it to wrap an IntentServicesClient object.