The location of service configuration file is provided by the servicesConfigURL
User Setting, and defaults to servicesconfig.xml
in the users's ChemAxon folder - located in user home as .chemaxon or ChemAxon, depending on operating system.
The file should be valid for the following XSD schema:
<?xml version="1.0" encoding="utf-8"?> <xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- definition of attributes --> <xs:attribute name="alias" type="xs:string" /> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="class" type="xs:string" /> <xs:attribute name="url" type="xs:string" /> <xs:attribute name="method" type="xs:string" /> <xs:attribute name="descriptor" type="xs:string" default="chemaxon.marvin.services.descriptors.LocalServiceDescriptor"/> <xs:attribute name="value" type="xs:string" /> <xs:attribute name="expression" type="xs:string" /> <!-- definition of complex types --> <xs:complexType name="evaluationType"> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute ref="class" use="optional" default="chemaxon.marvin.services.ChemicalTermsArgument" /> <xs:attribute ref="expression" use="optional" /> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:complexType name="argumentType"> <xs:all> <xs:element name="Evaluate" type="evaluationType" minOccurs="0" maxOccurs="1" /> </xs:all> <xs:attribute name="class" use="optional" default="java.lang.String"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="java.lang.Integer" /> <xs:enumeration value="java.lang.Float" /> <xs:enumeration value="java.lang.Double" /> <xs:enumeration value="java.lang.String" /> <xs:enumeration value="java.lang.Long" /> <xs:enumeration value="java.lang.Boolean" /> <xs:enumeration value="chemaxon.struc.Molecule" /> <xs:enumeration value="chemaxon.struc.MDocument" /> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:attribute ref="value" use="optional" /> <xs:attribute ref="name" use="optional" default="Unnamed" /> <xs:attribute ref="alias" use="optional" /> </xs:complexType> <xs:complexType name="serviceType"> <xs:all> <xs:element name="Arguments" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="Argument" type="argumentType" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> </xs:all> <xs:attribute ref="name" use="required" /> <xs:attribute ref="url" use="required" /> <xs:attribute ref="method" use="required" /> <xs:attribute ref="class" use="optional" /> <xs:attribute ref="descriptor" use="optional" /> <xs:attribute ref="alias" use="optional" /> <xs:anyAttribute processContents="skip" /> </xs:complexType> <xs:element name="Services"> <xs:complexType> <xs:sequence> <xs:element name="Service" type="serviceType" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>