Make Sure PARC
(Pervasive Auto ReConnect) is Disabled: By
default, this option is disabled. If you
need to double check this setting, use the Pervasive Control Center and
Documentation application as follows:
4. Installation
Folder Location: On your web server, typically, you will put your Elliott
web services in a sub-directory under \Inetpub\wwwroot such as ElliottService. Download and extract the latest
D:\web\ElliottService\Deploy-<yyyymmdd>.Zip file to this folder.
5. Set
Cobol85.cbr path: In the Bin folder of your web services installation
(\Inetpub\wwwroot\ElliottService\Bin) modify the COBOL85.CBR using Notepad. Change
@CBR_ENTRYFILE=NSIFH.INF to include full path of the bin directory (Example: @CBR_ENTRYFILE=C:\Inetpub\wwwroot\ElliottService\Bin\NSIFH.INF).
6. Install
COBOL Runtimes (if not already installed):
a. For 32-bit servers: Download D:\WEB\ElliottService\COBOLRuntimesFor32BitOS.Zip
and install both runtimes using the
default target directories.
b. For 64-bit servers: Download D:\WEB\ElliottService\COBOLRuntimesFor64BitOS.Zip
and install both runtimes using the default target directories.
c. Do not restart your system – it is not necessary.
7. Enable Elliott
Web Services & Set Custom Programs: Enable web services and update
Elliott configuration for any custom programs for the business logic in web
services (default business logic works for most customers):
a. Go to Utilities,
Global Setup
b. Go to Add-Ons,
Activex/web services
c. Go through each item on First menu and Second menu and set each object field #1 to Y. We recommend you set all web service to Y so
they will be available if you decide to use them later.
d. To use custom programs, change field 3 to specify
the custom business logic program your company uses for each web services
necessary. You will need help from
NETcellent for this.
8. Configure
IIS: You need to create an application in IIS for the web services to run
under.
a. Open IIS
from the Administrator Tools and navigate to your Web Services folder under
the Web Sites icon. If you choose the
default \Inetpub\wwwroot\ElliottService it will be under the Default Web Site
in IIS.
b. Right click on the Web Services folder (ElliottService if you choose the default install options) and select “convert to application.”
c. In the Actions pane on the right side, select Basic Settings to find the application pool of your website. The default is DefaultAppPool.
d. Open the Application Pools folder in IIS and right
click on the Application Pool for your web services site. (the default is
defaultAppPool) Select Advanced Settings.
e. Set enable
32-bit applications to True
f. Set Managed Pipeline mode to Classic
g. Select Recycling… from the Actions pane.
h. Set
Recycling Conditions to: Specific time(s): at midnight and when virtual & private memory reaches 1048576.
i. Set the identity of the application
pool as needed to access the required files. Continue reading the next steps
for more information.
9. Permissions:
(Server Location – Elliott Machine) If you install the web services on the
same machine as Elliott/P.Sql, then leave the IIS application pool as “Network
Service.”
10. Permissions:
(Server Location – Separate from Elliott
Machine) If you choose to install the web services on a machine that is not
running Elliott/P.Sql you will need to change the IIS application pool to a
domain user. Assign this domain user permissions to the Elliott directory. Also
assign this user to the Users Group.
11. Network Service
User - The Network Service account is a
special, built-in account that is similar to an authenticated user account. The
Network Service account has the same level of access to resources and
objects as members of the Users group. This limited access helps safeguard your
system if individual services or processes are compromised. Services that run
as the Network Service account access network resources using the
credentials of the computer account.
12. Elliott Data
Directory Permissions: Your P.SQL Btrieve security has two options. If you
choose the Classic option your App
Pool Identity will need read/write file system permissions to the Elliott
directory. If you choose the Mixed option your App Pool Identity will only need traverse rights to see the
directory and files.
13. Log Folder Permissions: Elliott Web Services will create and write to log files for debugging purposes under the Web Services Log sub-directory (i.e., \Inetpub\wwwroot\ElliottServices\Log). By default, when you create a web application in IIS, the App pool running your web services will have the user indentify of “Network Service.” You need to give write permissions to the user “Network Service” to the Log folder. Otherwise, Elliott Web Services will not be able to create log files.
14. Create Event Log Keys: In order for the web services to be able to write to the event log you need to create the event log keys. Browse to RegisterEventSources.exe in your \bin folder (default path: \Inetpub\wwwroot\ElliottService\Bin\RegisterEventSources.exe) and right click on the exe to run as administrator.
15. Event
Viewer Logging: Open the event viewer and select the
ElliottService events. Right click to open the properties and select “Overwrite
event as needed.” This will prevent errors from occurring when the event log is
full.
16. Web.config settings: In the root of your Web Services folder (\Inetpub\wwwroot\ElliottService) open the web.config folder.
a. Change <compilation defaultLanguage="vb" debug="false">
i. When debug is set to true, asp.net request will not time out. This is to allow you to debug with visual studio at your own pace without having to worry about the requests suddenly disappearing. Of course in a production environment timeouts are crucial to avoid requests becoming stuck indefinitely, so this is the reason to make sure debug is set to false when the application is deployed into production.
ii. Generally speaking, the “debug” property is not there when you deploy. But if you deploy by copying the file, you should double check to make sure you set the debug=”false.”
b. Set the SMTP settings to use your mail server. Example:
<smtp deliveryMethod="Network">
<network host="mailer.netcellent.com" port="25"
userName="[account@gmail.com]" password="[password]" />
</smtp>
c. If you are not using the current version of p.sql (finding out what version is currently being developed for) you may need to modify and uncomment the following in the web config. <emk: I need to know the PSQL ADO.Net DLL we distribute, which PSQL version does that stands for? Does that match with token below? See version 3.5 on our web services folder, but below show 3.0? Are we hard coding our web services against PSQL 11 ADO.Net, that does not seems to be reasonable? Verify with Jim>
<!-- HOW TO USE:
1) Uncomment the following assemblyBinding tag to redirect the runtime to load a specific version of the Pervasive.Data.SqlClient.dll
2) Change the newVersion value to the version number of Pervasive.Data.SqlClient installed on client machine
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Pervasive.Data.SqlClient" publicKeyToken="c84cd5c63851e072"/>
<bindingRedirect oldVersion="0.0.0.0-65535.65535.65535.65535" newVersion="3.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
17. Custom Configuration Settings: You need to review the settings in the \Config\Elliott.Custom.Config file. The default settings are in the \Config\Elliott.Default.Config file. If the settings are found in the Elliott.Custom.config they will take precedence over the Elliott.default.config. For all paths use UNC \\server\share or IP address for the directory paths.
a. SiteURL - Specifies the web site url of the web services
b. StoreWebSiteURL – (Y/N) Specifies whether the (caller) website url will be stored when creating order
c. EnableTokenBaseSecurity - Specifies whether token based security is enabled, used if token needs to be passed when calling the web service. If token isn’t passed values will not be returned.
d. ReplaceEliItmIQWithSqlWhenPossible - Specifies whether SQL will replace the usage of eliitmiq component when possible
e. SQLErrorsBeforeClearingConnections - Specifies the number of PQSL Client exceptions before clearing the connection pool. The purpose is let web services recover by itself when for some reasons PSQL server become unavailable (i.e. services pack update, server rebott…etc.)
f. <add key="DDFPath" value="\\ts2\COB\Share\eli74\ddf40"/> - The DDF path is where Pervasive’s Database Definition Files are located. If a file needs to be created, the COBOL file handler will read the DDF files to construct the definition of fields and keys for the file before it calls Pervasive to create the file.
g. COBOLWindowsRTMinimum - FOR SHARING COBOL Windows runtimes
h. COBOLWindowsRTMaximum - FOR SHARING COBOL Windows runtimes
i. COBOLWindowsRTWaitSeconds - FOR SHARING COBOL Windows runtimes
j. SQLClientType - Specifies the ADO.NET provider to use for relational data access. Acceptable values are:
ODBC - ODBCConnectionString and ODBC.NET data provider will be used
PSQL - PSQLConnectionString and PSQL ADO.NET manageddata provider will be used
k. <add key="PSQLConnectionString" value="ServerDSN=ELI74TUTORIAL;Server=TS2;User ID=Master;Password=XXXXXX"/> - Specifies the connection string to use for pervasive ado.net data provider
l. <add key="ODBCConnectionString" value="DSN=ElliottData"/> - Specifies the connection string to use for odbc.net data provider
m. <add key="Elipath" value="\\ts2\COB\Share\eli74\TUTORIAL"/> - Specifies the UNC path to elliott data directory
n. <add key="ImageLinkPath" value="\\ts2\users\COB\Share\eli74\images"/> - Specifies the UNC path to elliott image directory
<!-- ORDER CONFIRMATION EMAIL SETTINGS -->
o. OrderContactEmailConfirm -Specifies whether confirmation email will be sent to order econtact upon order creation
p. CustEmailConfirm - Specifies whether confirmation email will be sent to customer who placed upon order creation
q. SendOrderAdminEmail - Specifies whether confirmation email will be sent to order admin, defined in config, upon order creation
r. UseEcontactForOrderAdminEmail - Specifies whether the from email address in Order Admin email will be taken from the Order eContact
s. SendOrderSalesmanEmail - Specifies whether confirmation email would be sent to the salesman upon order creation
t. SendOrderAdminEmailViaOrderSalesmanEmailCC - Specifies whether the Admin email will be sent as a CC on the Salesman email
u. UseEcontactForOrderSalesmanEmail - Specifies whether the from email address in Order Salesman email will be taken from the Order eContact
v.&n