- How do I change WebClient group model from licensed version to non-licensed version?
- Do I have to upgrade WebClient group model to the new version?
- Web template generator shows error like generateTemplate([B, com.adcaustin.util.AFile). What should I do?
- Subclipse does not work in Eclipse installed from WebClientLiveInstall. What should I do?
- How do I upgrade from WebClient 1.6 to WebClient 1.8?
- What should I do if I get "The WebClient i+ plugin must be v1.8 or above to use this version of WebClient." error in the console when I generate a web template?
- How do I apply WebClient generator license?
- How do I check if my web projects are published on my Tomcat server?
- How do I set the locale correctly for Firefox and Safari browser?
- How do I run my application in Java Swing using eclipse?
- How do I enable GZIP compression on my Tomcat server?
- How do I remove an existing genlicense file setting from Eclipse workspace?
- How do I use DojoTimePicker.ctrl?
- How do I use WebAccordionTree.ctrl?
- How do I use WebFilteringSelect.ctrl?
- How do I use WebGridExport.ctrl?
- How do I use WebGridFilter.ctrl?
- How do I use WebURLGrid.ctrl?
- How do I use LiteralHTML.ctrl?
- How do I enable column toggling in grid?
- How do I use WebLogMessages-page.wcli?
- How do I control authentication to IBM i?
- What should I do if my Tomcat server does not publish anything?
- I am not able to connect to AS/400 in WebClient or I am getting java.io.UnsupportedEncodingException: Cp037. What should I do?
- What should I do if I am getting a java.lang.NullPointerException when generating the web template?
- What should I do if I am getting a java.lang.NullPointerException on the web page?
- How to avoid running multiple WebClient applications in different browser tabs?
- What should I do if I am getting SEVERE: Exception loading sessions from persistent storage
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.adcaustin.webclient.servletproxy.CallWebClientFunction Caused by: java.io.NotSerializableException: com.adcaustin.webclient.servletproxy.CallWebClientFunction?
- What should I do if I am getting For input string: "" java.lang.NumberFormatException: For input string: "" ?
- What should I do if I am getting ERROR handleException() java.lang.ArrayIndexOutOfBoundsException: 1
Caused by: java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 1
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
in the log file?
- What should I do if I am getting an error "Unable to validate license" after upgrading WebClient?
- Where do I download WebClient i+ Mobile?
- What should I do if I need some support for WebClient i+ Mobile?
- How to get started with WebClient i+ Mobile?
- How to set control name in Plex panel properties?
- What can I do to improve the performance of my web page?
- How do I reset WebClient developer license file path?
- Is it possible to override WebClient.properties file path?
- How do I exclude Java classes or packages from WebClient processing?
- How do I use the Loader widget?
- What are the unsupported items in WebClient?
A: a. Login to your group model and remove the old WebClient group model and add the new WebClient group model from your library list.
b. Extract a new local model.
Important Note: If you get error messages during this operation, please contact CM First support for guidance.
A: No, you don't have to. You may choose to upgrade only if you need the new WebClient pattern.
Q: Web template generator shows error like generateTemplate([B, com.adcaustin.util.AFile). What should I do?
A: You need to install WebClient 1.8 project and make sure that you have the same WebClientBuilderPlugin installed in your Eclipse plugin.
A: WebClientLiveInstall is not designed for WebClient development purpose. If you are setting up WebClient development environment, you should build your environment from scratch. Subclipse will work with official eclipse installation.
A: a. Before you start installing WebClient 1.8, you will need to close your eclipse.
b. Go to your Eclipse/plugins folder, delete the old com.adcaustin.webclient.WebClientPlugin-1.6.jar and copy the new com.cmfirstgroup.webclient.WebClientPlugin-1.8.jar to the folder. Note: if you are using Eclipse Juno, the builder plugin has to be copied to Eclipse/dropins folder.
c. Start your Eclipse.
d. Close your existing WebClient project, right-click on the project and select Delete.
e. Close your Eclipse.
f. Go to your workspace directory using Windows Explorer and delete WebClient folder from your workspace.
g. Start your Eclipse.
h. Go to the Eclipse menu: File → Import → Expand General folder → Select Existing Projects into Workspace → click Next > → Check Select archive file and browse to where you download WebClient-1.8.zip → Click Finish.
i. There should be an Eclipse window prompting you to enter your license. Please copy your generator ID and open a ticket on our support website to request for your new generator license. If you have purchased Advanced Controls, please mention it in the ticket. All customers are entitled to 30-day free trial license. New licenses will be issued within 2-3 business days.
j. To get started with WebClient 1.8, you can use the trial version.
Please note that the upgrade procedures will not work with Eclipse that you installed from WebClientLive.
Q: What should I do if I get "The WebClient i+ plugin must be v1.8 or above to use this version of WebClient." error in the console when I generate a web template?
A: You need to delete the old WebClient Plugin from Eclipse/plugins folder and replace it with the latest WebClientPlugin builder.
A: Create a license folder anywhere you want. Copy both adclsdt.dat and genlicense.lic to the new folder. Browse to the license folder if prompted in Eclipse to enter your license.
A: Check your Tomcat project folder in your <workspace directory>\.<server path>\<deploy path>\<context path>\WEB-INF\lib.
Server path is usually set to .metadata\.plugins\org.eclipse.wst.server.core\tmp0.
Deploy path is usually set to wtpwebapps.
Context path is usually set to the name of your web project.
A: Create a page template, for example: locale-page.wcli on your custom template project. In your locale-page.wcli file, it should have something like the following.
/(!djConfig) locale:'fi-fi', /(!djConfig)
Above is the example for setting locale in Finnish. Remember to add a new triple in your function to apply the new page template.
is a FNC ~WebShell customPage
is a FNC ~WebUI
is a FNC customPage customPage
impl name locale
A: Go to Run → Run Configurations… → Select Java Application → Click New launch configuration.
In the Main tab window, browse and select your java project (the project that has your java source files). For the main class, search for ObRun.ObPanel.ObLaunch and click Apply.
Open Arguments tab window → In the Program arguments field, enter your function entry point in the format of <package name>.<function implementation name> “Path= “ → Click Apply → Click Run.
For example: WXPCOURSE60.WXuF “Path= “
A: Edit file /conf/server.xml and add to the HTTP Connector configuration like below.
compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml,application/json"
An example of an HTTP Connector configuration with compression enabled could be:
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml"/>
A:Go to your Eclipse directory -> Confiuration folder -> .settings folder and delete com.cmfirsttech.webclient file.
4. Web Controls / Web Templates
A: Set the control name of the time edit field to <control name>:MainArea:template=DojoTimePicker:default.
A: Add TreeView pattern from WebClient advanced control as you would for WebTreeView. The Java bean class in the panel properties should be set to WebAccordionTree.
A: WebFilteringSelect.ctrl is similar to WebCombo.ctrl except that user may enter more than one character in the input field. Set the control name of the combo box to <control name>:MainArea:template=WebFilteringSelect:escapChar=3:default.
escapChar can be customized to any number you like. The number represents how many character you enter before the combo box display the list based on the character you enter.
A: WebGridExport is used to export a grid to a CSV file format. First, you need to upgrade to the latest WebClient group model. Second, you need to add WebExportGrid to your function inheritance path.
A: WebGridFilter.ctrl is used to filter the data of a grid based on one of its column values. To use this control you will need to create two fields: one combo field and one edit field. Set the control name of the combo box to <controlname>:<attachpoint>:template=WebGridFilter:GridId=Grid1P:TextId=filterContains:default.
GridId should be set to the control name of the grid. TextId should be set to the control name of edit field.
The edit field control name should be set to filterContains:<attachpoint>. The control name should match the TextId in the combo box.
At runtime the combo box will list all the avaliable columns in the grid, the data of the grid will be filtered according to the text you enter in the edit field and the selected column in the combo box.
A: WebURLGrid.ctrl is a prototype control that is used to convert data in the grid column to a URL with the text "Link". The control name of the column heading will need to be set to <control name>:Grid1P.ColumnsArea:template=WebURLGrid:<ColumnsHeadingText>
A: LiteralHTML.ctrl is used to run hard-coded HTML that is entered in the Plex panel text property. The control name of the field should be set to <controlname>:MainArea:template=LiteralHTML:default.
A: The control name of the grid should be set to Grid1P:MainArea:ColumnToggling=Yes:default.
A: WebLogMessages should not be used in combination with WebMessages. Create a new function in your Plex local model like follows.
is a FNC WebShell.
impl name NME WebLogMessages.
A: See this link http://www.caplexwebclient.cmfirstgroup.com/?p=589
A: Try removing your web project from your Tomcat server and publish and then add the web project back to the server and republish.
Q: I am not able to connect to AS/400 in WebClient or I am getting java.io.UnsupportedEncodingException: Cp037. What should I do?
A: Make sure that your function works in Java Swing. If it is not working in Java Swing, check if your Eclipse is using the correct JDK version. You should be using JDK 1.6 or higher.
Q: What should I do if I am getting a java.lang.NullPointerException when generating the web template?
A: If you are using PlexResource folder to store your Plex .panelresource or .resource files, the PlexResource folder should set as a source folder. To set your PlexResource folder as a source folder:
- Right-click on your java project and select Properties.
- In the Source tab, click add folder and add the PlexResource folder to the source.
A: There are several things that may have caused this error. It could be that you are missing server functions or a JAR file. First, check the entry point in webclient.properties if it is correct. Second, check the servlet log. The servlet log folder can be found in WebClient.properties. Third, if there is no additional information on the log, we recommend that you run your application in Java Swing (See how do I run my application in Java Swing using Eclipse).
A: A web application has no way of knowing if any windows are open with the same session ID, so this situation can't be always avoided. However, the following recommendations will suffice in practice.
1. Do not have the users bookmark the WebClient servlet directly. Instead, launch the application from a menu or a portal page.
2. When launching the WebClient application, use a targeted anchor window reference to avoid opening the servlet in multiple windows/tabs at the same time, and also to disable the back button. More information: http://graphcomp.com/info/specs/target.html
3. For additional protection, define a Plex right-click context menu. The user will not see the "Open link in new tab" option, and the developer can provide the user more appropriate actions to take.
Again, this will not bullet-proof the case where the curious user is going into the address bar and copy/pasting the URL, or doing other kinds of experimentation. However, in practice, this should handle the normal uses of the application.
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.adcaustin.webclient.servletproxy.CallWebClientFunction
Caused by: java.io.NotSerializableException: com.adcaustin.webclient.servletproxy.CallWebClientFunction?
A: For Tomcat 6: locate the relevant Context element in either server.xml or in the context descriptor and declare the no-op session manager.
<Context .. > <Manager pathname="" /> </manager></context>
For Tomcat 7, turn off this feature in Tomcat by uncommenting the following in your webapp's context.xml
<Manager pathname="" />
Q: What should I do if I am getting For input string: "" java.lang.NumberFormatException: For input string: ""?
A: Two items to check in Plex panel properties.
- Make sure all of the toolbar buttons are associated with menu items in the panel properties.
- Check the right-click context menu that is referenced but not generated, for example because it is Exist No.
Q: What should I do if I am getting ERROR handleException() java.lang.ArrayIndexOutOfBoundsException: 1
Caused by: java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 1
Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
in the log file?
A: That means the function that you are calling requires an input parameter.
A: Restarting Eclipse would usually fix the issue.
A: WebClient i+ Mobile is free to download at http://code.google.com/p/webclient-mobile-for-ca-plex/.
A: For more information about WebClient i+ Mobile support, please contact John Rhodes.
A: All functions have to inherit from ~WebShell just like standard WebClient. All field control names have to be set in Plex panel properties.
How to set it up in Eclipse workspace:
- Install WebClient 1.8 plugin builder in Eclipse/plugins folder.
- Create a new workspace for WebClient Mobile.
- Create a java project for Plex application source code.
- Import WebClient 1.8 to the workspace.
- Create a dynamic web project for deployment.
- Create a WebClient Servlet under dynamic web project.
- Add WebClient i+ to the Java project libraries. Go to java project build path, open libraries tab, click on Add Library…button, select WebClient Component, click Next>, select WebClient i+ project and click Finish.
- Check out WebClient Mobile from google code to the workspace. Check out url https://github.com/cmfirstgroup/webclient-mobile-for-ca-plex.git/branches/branch1.0
By default, the checkout folder is named webclient-mobile-for-ca-plex.
- Create links folder for css and js folders under the dynamic web project/WebContent directory. The css folder should be linked to E:\WebClientMobileDev\webclient-mobile-for-ca-plex\res\css. The js folder should be linked to E:\WebClientMobileDev\webclient-mobile-for-ca-plex\res\js.
- Add WebClient mobile to the java project libraries. Go to java project build path, open libraries tab, click on Add Library…button, select WebClient Component, click Next >, select WebClient mobile and click Finish.
- Configure webclient.properties. Add the following property in the file.
A: By default, you need to set control name to all of edit fields in order to set the control name to the label fields. Please see below for examples.
To display Address edit and label fields, set the control name of the edit field to
The control name of label field should be set to
Another way to specify the label of the field is to set the control name of the edit field as follows.
You do not need to specify the control template for edit, password, combo, multilineedit, and checkbox fields. If you choose to specify a control template used or customize a WebClient i+ Mobile control, you will need to specify the area after the control name.
To display a date field with a date picker, set the control name of the edit field to
To display numeric field with spinner control, set the control name of the edit field to
If you choose to modify the width of label, set the control name of the label field to
By default, the width is set to 40%.
To position edit fields in a fieldset, set the control name of the edit field to
To position two edit fields on the same row, set the control name of the first edit field to
set the control name of the second edit field to
To specify a decimal point for a numeric field, set the control name of the edit field to
There are two ways to modify the height of multiline edit control.
1. If you choose to modify the rows of multiline edit field, set the control name of the edit field to
2. If you choose to automatically size the height of the control, set the control name of the edit field to
To position button on the toolbar area, set the control name of the button to
For details on ui options to use, please check Sencha Touch 1.1 documentation.
To set control name for grid by grouping based on the first column of the grid, set the control name to
A: Enabling GZIP compression on the web server increases the response time from the server because the response is first compressed and then send to the client.
A: Delete com.cmfirsttech.webclient.prefs file from eclipse installation dir/configuration/.settings folder.
A: Yes, it is. You can set the WebClient.properties file path in the web.xml of your server by adding the following context parameter. The param-name is webclient.proppath and the param-value should be set to the file path.
See Tomcat Documentation on setting context parameter. https://tomcat.apache.org/tomcat-8.0-doc/config/context.html#contextparameters
A:This feature is for advanced developer only. You can specify multiple class or package names using userclassexceptionlist property in WebClient.properties file. For example:
userclassexceptionlist = com.mycustompackage,org.Customclass
We do not support wildcard.
A:The Loader widget is used to indicate when some XML HTTP REQUEST is going on via topics, to implement this you must create a custom page template that include the following:
-The call to the Loader class: dojo.require("dojox.widget.Loader");
-A div element that uses the Loader class: <div dojoType="dojox.widget.Loader"></div>
Here is a simple example of a custom template that implements this Loader widget:
- Not attempt to interact directly with the local file system or computer.
- Not use Java beans or ActiveX controls unless they have been adapted with a custom WebClient template. (See Bean controls for more information.)
- Be generated using a supported version of CA Plex. Please check CA Plex compatibility version from CA website.
- Only use panels of a supported type (currently Dialog, Child Panel, and Top Application).
- Note that Top Application type has a limited support. It can function as a child in a child site.
- Detail popup window cannot call WebShell window.