The following steps are required in order to configure OFBiz for use by the Accelerator assets.
It is recommended to create a separate service account for integration purposes
for example,
gradle loadAdminUserLogin -PuserLoginId=integrationadmin
Edit the framework/security/config/security.properties file and add the OFBiz server hostname to the host-headers-allowed setting
Services must be exported in order for the Mule applications to be able to invoke them. These are defined in a services xml file under the servicedef folder, organized by domain. For each of the following services, add the attribute
export="true"
to the service definition tag (all file paths are relative to$OFBIZ_HOME/applications
):
Path | Object |
---|---|
party/servicedef/services.xml | createPartyPostalAddressquickCreateCustomercreatePersonupdatePersoncreateUpdatePartyEmailAddresscreateUpdatePartyTelecoNumbercreateUpdatePartyPostalAddressfindPartiesById |
party/servicedef/services_view.xml | getPersongetPartiesFromExternalIdgetPartiesFromExactEmailgetPartyContactMechValueMaps |
accounting/servicedef/services_paymentmethod.xml | createCreditCard |
order/servicedef/services.xml | addOrderItemShipGroupchangeOrderStatuscreateOrderPaymentPreferencefindOrdersstoreOrder |
product/servicedef/services_shipment.xml | createShipment |
The service names can be cross-referenced with the XML request templates under src/main/resources/ofbiz
as well as a few of the Transform Message processors contained in the flows.
The Order, Party, and Product entities must be customized to support the order, customer, and product sync process, respectively. Here are the steps:
Navigate to
$OFBIZ_HOME/applications/datamodel/entitydef
Make a backup copies of the
order-entitymodel.xml
,party-entitymodel.xml
, andpartyproduct-entitymodel.xml
filesEdit the
order-entitymodel.xml
file as follows:Change the type of the externalId field in the OrderItem entity to "name" instead of "id"
Do the same for the externalId field in the OrderHeader entity
Edit the
party-entitymodel.xml
file as follows:Change the type of the externalId field in the Party entity to "name" instead of "id"
Add the following field to the Person entity:
<field name="customerNumber" type="name"></field>
Edit the
product-entitymodel.xml
file as follows:Add the following field to the Product entity:
<field name="externalId" type="name"></field>
Save all the files and restart OFBiz if it’s already running