PTC Arbortext Content Delivery Customization > Customizing System Integrations > Integrating the Ordering and Pricing System
Integrating the Ordering and Pricing System
To integrate the Ordering and Pricing Delegate System with PTC Arbortext Content Delivery, default implementations are provided for the Connection/Execute requests such as REST, SOAP, and JDBC. Select the appropriate connection type from the Configurator UI as shown in the following images.
For more information, see Editing Properties of the Configurator Entities in the Deployment section of the PTC Arbortext Content Delivery Administration Help Center.
The following interfaces and default implementations are available for the connection and execute request types:
RestRequestServiceDelegate
SOAPRequestServiceDelegate
DBRequestServiceDelegate
ConfiguratorServerPropertiesDelegate
Depending on the ordering or pricing server type, you must select the appropriate interface to implement and the same must be selected on the Configurator UI.
For example, Public class CustomerCommerceDelegate extends DefaultCommerceDelegate implements RestRequestServiceDelegate. In this example, a custom class extends the PTC provided implementation of the commerce delegate and implements the interface according to the request type.
* 
All the request delegates use the ExecuteOrderRequest and ExecutePricingRequest methods. Depending on the ordering or pricing server use case, the appropriate method is called from the custom class.
All the interfaces extend one more common interface ConfiguratorServerPropertiesDelegate that has default methods which use the data provided on the Configurator UI.
RestRequestServiceDelegate:
Package Details:
Package : com.ptc.sc.services.plugins
Project : Core
* 
The java.net.HttpURLConnection implementation is used here.
The following methods have dummy default values and must be overridden for the specific use case.
getRequestPayload()—Returns the request payload to be set on connection for the REST call.
getRequestMethod()—Returns the request method for the REST call such as GET, POST, and PUT.
getAcceptHeader()
—Returns the accept header to be set on the connection.
setAuthorization()—Sets the Authorization header on the connection. The default implementation is done with basic authorization.
SOAPRequestServiceDelegate:
Package Details:
Package : com.ptc.sc.services.plugins
Project : Core
* 
The javax.xml.soap implementation and Attachments API for Java (SAAJ) framework are used here.
The following methods have dummy default values and must be overridden in the custom class to write appropriate and applicable logic with the SOAP message that is to be sent to the third party server. No implementation has been provided for these dummy methods.
createSOAPRequest()—Creates the SOAP request to be sent.
createSoapEnvelope()—Creates the SOAP envelop on the SOAPMessage.
DBRequestServiceDelegate:
Package Details:
Package : com.ptc.sc.services.plugins
Project : Core
The following methods have dummy default values and must be overridden to achieve the specific use case.
ExtractResponseFromResultSet()—Extracts and processes the response from the result set received from the database.
createQuery()—Creates the query to be sent to database.
getDBProviderClass()—Returns the database provider class.
ConfiguratorServerPropertiesDelegate:
Package Details:
Package : com.ptc.sc.services.plugins
Project : Core
This interface is common for all the three implementations explained above. This is the default implementation for fetching parameters provided on the Configurator UI. To add parameters that are not available on the Configurator UI, add a custom property and value to the Setup.Setup.properties file in the InS_SW\SW directory. These new properties are fetched from the System properties.
DBRequestServiceDelegate uses the following default methods:
getServerURL(String Type)—Fetches the ordering or pricing server URL according to the type.
getServerPass(String Type)—Fetches the ordering or pricing server password according to the type.
getSOAPAction(String Type)—Fetches the ordering or pricing server SOAP action according to the type.
getDBPass(String Type)—Fetches the ordering or pricing server database password according to the type.
getDBUser(String Type)—Fetches the ordering or pricing server database User according to the type.
getDBURL(String Type)—Fetches the ordering or pricing server database URL according to the type.
getDBType(String Type)—Fetches the type of database used in customization according to the type.
getDBTableName(String Type)—Fetches the name of the database column to query to according to the type.
The customization sample files are available for download on the PTC download page.
* 
The type can be either order or pricing only for the current implementation as there are two sections—Ordering System and Pricing System, on the Configurator UI. This type decides the system properties that are fetched from the Configurator.
Was this helpful?