Integrating eFORMz with Blue Yonder (JDA/RedPrairie) WMS
eFORMz can use multiple data formats that Blue Yonder (JDA/RedPrairie) WMS creates. Your current process is an important consideration in how you integrate eFORMz. For example, if your current process includes creating PDF files, eFORMz can pick up the PDF files and extract the data they contain, which minimizes your changes to existing business processes and speeds development time and accuracy. Sometimes a combination of these methods works best.
Java Print Service (JPS) – JDA MOCA services
eFORMz integrates with BlueYonder WMS by capturing output via JDA MOCA services using Java Print Service (JPS).
PrintServices.xml is a part of the eFORMz installation and it holds configuration of eFORMz printers. The Director Toolkit (Configuration) is an app that’s used to configure eFORMz printers. The eFORMz Java Print Service Provider jar file (
eFORMzPrinter.jar) translates Java drawing operations to Minisoft eFORMz Document (
.efd) formatted output. The resulting
.efd files are read in by eFORMz and outputted to
eFORMzPrinter.jar in the classpath. This entails either copying it to a directory that is automatically searched by your application’s class loader, or specifically referencing
eFORMzPrinter.jar in the
-cp parameter. Download
eFORMzPrinter.jar here: eFORMzPrinter.zip
PrintService.xml file to configure your printers and put it in a dedicated local directory. Download a simple sample here: PrintServices.zip
Modify the application’s start-up command by adding the
-DefzPrintServicesDefaultDirectory=<config directory> parameter, where
directory is where
PrintServices.xml is located. In other words, add the following in a Java command to whatever is calling the print service.
Note: To avoid dash substitution, it is recommended that you type the dash (
-) in place instead of copying it.
-D parameter refers to a directory created to contain the
PrintServices.xml file. It is also the directory that will contain the folders for the intercepted output from BlueYonder/JDA. Typically we use
Restart the Java application
Restart the Java application. The logging setup in the sample
PrintServices.xml will create logging in the
eFORMzPrinter.jar, Process w/Director allows the user to call the eFORMz Director service.
eFORMzPrinter.jar can send print output to the Director for processing using a web service by modifying
PrintServices.xml, the configuration XML file. Here is a sample:
<PrintService Name="Web Service"> <Output Type="ws" Url="http://localhost:8001/servlet/com.minisoft.AppServer.AppServer?APP=com.minisoft.eformz.eFORMzApp&director&Host=localhost&Port=9996&User=minisoft&Password=password&ConfigurationName=eFORMzPrinters_new.cfg&QueueName=FromWS&NameTemplate=fromws.efd&QueueData=true&ProcessData=true" ContentType="text/xml"> <Output Type="file" Directory="/Users/username/Minisoft/build/print/FromWS" FileName="packslip.efd" ProcessWDirector="false" WebServiceUrl="" Host="" Port="" User="" Password="" Configuration="" Queue="" /> </Output> <Option Name="Omit white rectangles" Value="Yes" /> <Option Name="Consolidate glyphs" Value="No" /> <Option Name="Omit lines" Value="Yes" /> </PrintService>
Change the host addresses and directory references. Make sure that the Director configuration is accessible. This means that the configuration needs to be started with the
-ac switch. You can include
-ac as a startup parameter. The
-ac switch must precede the queue name. Usually the accessible queue is named
accessible.cfg. So this is the typical startup configuration with an accessible queue:
This is explained here: Setting the eFORMz Startup Configuration. Another option is to check the “Make configuration accessible from eFORMz Web Services” checkbox. The checkbox for making the configuration accessible to web services is shown when you add a new configuration in the Director tab. This is explained here: Director Setup for Windows, Director Setup for Unix and Director Setup for iSeries/AS400.
Depending on the version of eFORMz you are running and its configuration, you may or may not need the
Password parameters. This example shows how to include a backup transfer method if the WS fails
<Output Type="file">. This would need to use a shared files system if eFORMz is on a server separate from Blue Yonder. Note that when you update
PrintServices.xml, the jar file automatically reads in the changes. You do not have to restart Blue Yonder.
Consult the following post for more details: Process w/Director