Rule Execution Server support HTTP and the secured HTTPS communication protocol. You can customize the protocol factory.
Communication with Rule Execution Server supports the HTTP or HTTPS communication protocols. Communication with Rule Execution Server can occur from Decision Center or Rule Designer.
You can customize the communication in two ways:
By default, HTTPS supports only trusted certificates. As a consequence, when you communicate with Rule Execution Server in secure mode, you cannot connect using a demo certificate that is not trusted by the default JVM. Your application server raises an SSL handshake exception if you try to connect using a nontrusted demo certificate. To enable communication to work with nontrusted certificates, add the following Java™ system property in the start script of the application server:
-Dilog.rules.res.allowSelfSignedCertificate=true
To allow HTTPS on nontrusted self-signed certificates for Ant tasks, set the Java system property ilog.rules.res.allowSelfSignedCertificate to true, as follows:
<property name="ilog.rules.res.allowSelfSignedCertificate" value="true"/>
You can customize the protocol factory for a specific protocol by using the following system properties:
custom.protocol.factory: The fully qualified name of the protocol factory.
custom.protocol.scheme: The protocol name for which the protocol factory is customized.
custom.protocol.defaultPort: The default port used for the protocol if no port is specified in the URL.
You must launch the JVM that initiates the HTTP communication with these system properties and your implementation of the protocol factory class org.apache.commons.httpclient.protocol.ProtocolSocketFactory in the class path.
The protocol factory specified in custom.protocol.factory is instantiated and registered if both the following conditions are satisfied:
You can implement the protocol in one of the following ways:
Execute an Ant task with the system properties:
-Dcustom.protocol.factory=com.ilog.MyProtocolFactory -Dcustom.protocol.scheme=https -Dcustom.protocol.defaultPort=443
Add the properties to the build.xml file:
<property name="custom.protocol.factory" value="com.ilog.MyProtocolFactory"/>
<property name="custom.protocol.scheme" value="https"/>
<property name="custom.protocol.defaultPort" value="443"/>