Ant task communication protocol

You can customize the communication between the Ant tasks and Decision Center, which supports the HTTP and HTTPS communication protocols.

You can customize the communication in two ways:

Secure mode

By default, HTTPS supports only trusted certificates but you can set the Java™ system property ilog.rules.teamserver.allowSelfSignedCertificate to true to allow HTTPS on non-trusted self-signed certificates. Use the following code to set this property for Ant:

<property name="ilog.rules.teamserver.allowSelfSignedCertificate" value="true"/>

  • To accept self-signed certificates over HTTPS connections, by using the SSL security protocol, set the property to true or SSL.
  • To accept self-signed certificates over HTTPS connections, by using the TLS security protocol, set the property to TLS.
  • If you do not want to allow self-signed certificates over HTTPS connections, set the property to false.

Custom protocols

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 this 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:

  • The HTTP client is instantiated.

  • The protocol in the URL used for communication is the same as the value of the custom.protocol.scheme property.

You can implement the protocol using either of the following options:

  • 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"/>