This document explains how to setup Etires broker serve .NET application.  This application was developed by Columbus IT.  It is required to update Etires inventory and works using SQL broker service and service queues.  This application runs as a service with a configuration file pointing to the correct SQL environment and Ax database.  It sends updates to Etires web service 


DEV Web Service:  http://dandk-ax-dev.tireweb.com/webservices/tirewebservices.asmx

PROD Web Service:  http://dandk-ax.tireweb.com/webservices/tirewebservices.asmx


Install Microsoft SSBEA for SQL Server 2012

  1. Locate installer files at the following location:
    \\1001-dkds\Common\software\Ax\ETireUpdateService

  2. Copy the installer files to root of C: drive on destination server where you plan to run web service for Etires.

  3. Run the ssbeas.msi installer to install broker service application.

  4. Configure a service account to be used with the broker service application.


Edit Configuration Files

There are 2 configuration files to update:


  • ETireUpdateService.exe.config (C:\ETireUpdateService)

  • Edit the file and update the highlighted components before saving.

    <?xml version="1.0" encoding="utf-8" ?>

    <configuration>

      <system.diagnostics>

        <sharedListeners>

          <add name="logFileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\EtireUpdateService\Log\Log.txt">

          </add>

          <add name="eventLogListener" type="System.Diagnostics.EventLogTraceListener" initializeData="EtireUpdateService" >

            <filter type="System.Diagnostics.EventTypeFilter" initializeData="Error"/>

          </add>

        </sharedListeners>

        <trace autoflush="true" indentsize="8">

          <listeners>

            <remove name="Default" />

            <!--Uncomment these and fill out the sharedListener section to log information-->

            <!--<add name="logFileListener" />-->

            <add name="eventLogListener" />

          </listeners>

        </trace>

      </system.diagnostics>

      <startup>

        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />

      </startup>

      <connectionStrings>

        <add name="axdatabase" connectionString="Server=NPSQL01;Database=AXTST;Integrated Security=true;Application Name=ETireUpdateService;MultipleActiveResultSets=True"/>

      </connectionStrings>

      <system.serviceModel>

        <bindings>

          <basicHttpBinding>

            <binding name="TireWebServicesSoapDev" />

            <binding name="TireWebServicesSoapProd" />

            <binding name="TireWebServicesSoap" />

          </basicHttpBinding>

        </bindings>

        <client>

          <endpoint address="http://dandk-ax-dev.tireweb.com/webservices/tirewebservices.asmx"

            binding="basicHttpBinding" bindingConfiguration="TireWebServicesSoapDev"

            contract="TireWebDev.TireWebServicesSoap" name="TireWebServicesSoapDev" />

          <endpoint address="http://dandk-ax.tireweb.com/webservices/tirewebservices.asmx"

            binding="basicHttpBinding" bindingConfiguration="TireWebServicesSoapProd"

            contract="TireWebProd.TireWebServicesSoap" name="TireWebServicesSoapProd" />

        </client>

      </system.serviceModel>

      <appSettings>

        <add key="queuename" value="//DKTIRE/ETIRE/QUEUES/REQUEST"/>

        <add key="responsemessagetype" value="//DKTIRE/ETIRE/MESSAGETYPES/ONHANDUPDATERESPONSE"/>

        <add key="waitseconds" value="10"/>

        <add key="autoend" value="true"/>

        <!--Setting this to true turns off the call to etire. Use this if debugging is needed without sending anything to etire.-->

        <add key="debug" value="false"/>

        <add key="useprodsvc" value="false"/>

        <add key="etireuser" value="david"/>

        <add key="etirepass" value="dank77"/>

        <add key="stockdisplaylimit" value="99999"/>

      </appSettings>

    </configuration>

  • EAService.config (Located at C:\Program Files\Service Broker\External Activator\Config)


    <?xml version="1.0" encoding="utf-8"?>
    <Activator xmlns="http://schemas.microsoft.com/sqlserver/2008/10/servicebroker/externalactivator"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://schemas.microsoft.com/sqlserver/2008/10/servicebroker/externalactivator EAServiceConfig.xsd"
    >
    <NotificationServiceList>
    <NotificationService name="myNotifService" id="100" enabled="true">
    <Description>My test notification service</Description>
    <ConnectionString>
    <!-- All connection string parameters except User Id and Password should be specificed here -->
    <Unencrypted>server=NPSQL01;database=AXTST;Application Name=External Activator;Integrated Security=true;</Unencrypted>
    </ConnectionString>
    </NotificationService>
    </NotificationServiceList>
    <ApplicationServiceList>
    <ApplicationService name="ETIREAPP" enabled="true">
    <OnNotification>
    <ServerName>NPSQL01</ServerName>
    <DatabaseName>AXTST</DatabaseName>
    <SchemaName>dbo</SchemaName>
    <QueueName>//DKTIRE/ETIRE/QUEUES/REQUEST</QueueName>
    </OnNotification>
    <LaunchInfo>
    <ImagePath>C:\EtireUpdateService\ETireUpdateService.exe</ImagePath>
    <CmdLineArgs></CmdLineArgs>
    <WorkDir>C:\EtireUpdateService</WorkDir>
    </LaunchInfo>
    <Concurrency min="1" max="1" />
    </ApplicationService>
    </ApplicationServiceList>
    <LogSettings>
    <LogFilter>
    </LogFilter>
    </LogSettings>
    </Activator>

  • Start the service and set to Automatic startup if desired.

  • Test Deployment