Importing using the SDK
- Last UpdatedApr 15, 2025
- 2 minute read
A new feature, "Custom Binding," allows modification of Server. Config files in order to handle the import and export of extremely high amounts of Assets and/or Procedures through the SDK. This feature is specifically intended to handle memory issues discovered during the import of high amounts of Assets which cause "out of memory" exceptions, but is recommended as a preventive step.
Enabling this setting requires modification of the "Server" configuration file, MobileOperator.SdkService.exe.config (AVEVA Mobile Operator Server, by default "\Program Files\AVEVA\Mobile Operator\Server"), and the "Client" configuration file (used by the application calling the SDK).
Client and Server Configuration Files
Insert the following text between "<bindings>" and "</bindings>" under <system.serviceModel> for both the Client and Server configuration files:
<customBinding>
<binding name="customTcpBinding" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00">
<binaryMessageEncoding>
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</binaryMessageEncoding>
<tcpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" transferMode="Buffered" />
</binding>
<binding name="customHttpBinding" closeTimeout="00:10:00" openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00">
<mtomMessageEncoding maxReadPoolSize="2147483647" maxWritePoolSize="2147483647" maxBufferSize="2147483647">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
</mtomMessageEncoding>
<httpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" allowCookies="false" bypassProxyOnLocal="false"
hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647" transferMode="Streamed" useDefaultWebProxy="true" />
</binding>
</customBinding>
Client and Server Configuration Files - Existing Endpoints
If your Client .Config file is already set up to use endpoints, make the following modifications to both the Client and Server configuration files:
- Modify the endpoint address settings in the Client configuration file as follows:
<endpoint address="" binding="customBinding" bindingConfiguration="customHttpBinding" contract="WcfService.ISdkService" />
<endpoint address="" binding="customBinding" bindingConfiguration="customTcpBinding " contract="WcfService.ISdkService" />
- Then, add the following text between "<service>" and "</service>" under "<services>" in the Server .Config file:
<endpoint address="http://localhost:9700/SdkService/" binding="customBinding" bindingConfiguration="customHttpBinding" contract="IntelaTrac.Sdk.ISdkService" />
<endpoint address="net.tcp://localhost:8700/SdkService/" binding="customBinding" bindingConfiguration="customTcpBinding" contract="IntelaTrac.Sdk.ISdkService" />
Client and Server Configuration Files - No Endpoints
If your Client .Config file is not set up to use Endpoints, make the following modifications to both the Client and Server configuration files:
- To the Server .Config file, add the following text between "<service>" and "</service>" under "<services>"
<endpoint address="http://localhost:9700/SdkService/" binding="customBinding" bindingConfiguration="customHttpBinding" contract="IntelaTrac.Sdk.ISdkService" />
<endpoint address="net.tcp://localhost:8700/SdkService/" binding="customBinding" bindingConfiguration="customTcpBinding" contract="IntelaTrac.Sdk.ISdkService" />
- To the Client .Config file, add the following text between "<client>" and "</client>" under "<system.serviceModel>"
<endpoint address="http://localhost:9700/SdkService/" binding="customBinding" bindingConfiguration="customHttpBinding" contract="WcfService.ISdkService"
name="CustomHttpBinding_ISdkService"/>
<endpoint address="net.tcp://localhost:8700/SdkService/" binding="customBinding" bindingConfiguration="customTcpBinding" contract=" WcfService.ISdkService"
name="CustomTcpBinding_ISdkService"/>