WAS v8.5 > Reference > Custom properties

Java virtual machine custom properties

We can use the dmgr console to change the values of JVM custom properties.

IBM recommends using the HPEL log and trace infrastructure. With HPEL, one views logs using the LogViewer command-line tool in PROFILE/bin.

To set custom properties, connect to the dmgr console and navigate to the appropriate Java virtual machine custom properties page.
Application server

Click Servers > Server Types. Select either WebSphere application servers > server_name or WebSphere proxy servers > server_name, and then, under Server Infrastructure, click Java and process management > Process definition > Java virtual machine > Custom properties.

If the custom property is not present in the list of already defined custom properties, create a new property, and enter the property name in the Name field and a valid value in the Value field. Restart the server to complete your changes.

We can use the Custom properties page to define the following properties for use by the Java virtual machine.


allowDeployerRoleGenPluginCfg

Set true to enable users with the deployer role to generate and configure the plugin-cfg.xml file. After you set and save this custom property, restart the application server.

If the custom property is missing or its value is set to false, the following situations occur when the user has the deployer role permissions:

To disable this function, delete the custom property or set its value to false.

Also, we can set this custom property from the command line using wsadmin and the following Jacl script:

#-------------------------------------------------------------------------
# setAllowDeployer.jacl - Jacl script for setting a the allowDeployerRoleGenPluginCfg
property 
# of the web server plug-in for WAS #-------------------------------------------------------------------------
#    This Jacl file modifies server.xml for an application server. This script is designed 
#    to be invoked while the AppServer is running. #
#    Here is an example of how to invoke the script:
#    wsadmin -f setAllowDeployer.jacl &ltnodeName> &ltserverName> &ltenableValue> 
#------------------------------------------------------------------------
proc printUsageAndExit {} {
     puts " "
     puts "Usage: wsadmin -f setAllowDeployer.jacl &ltnodeName> server <boolEnable>"
     puts "Note: enableValue argument is of type boolean; valid values are true and false." 
     exit
 }
 if { [llength $argv] >= 3 } {
     set nodename [lindex $argv 0]
     set servername [lindex $argv 1]
     set enablevalue [lindex $argv 2]
 } else {
     printUsageAndExit
 }  

set cellname [$AdminControl getCell]
set propname "allowDeployerRoleGenPluginCfg" 
set propdesc "Allow conditional deployer role for plug-in generation
and propagation" 
set required "false"  

set jvm [$AdminConfig getid 
/Cell:${cellname}/Node:${nodename}/Server:${servername}/JavaProcessDef:/JavaVirtualMachine:/]

$AdminConfig modify $jvm [subst {{systemProperties {{{name {$propname}}
{value {$enablevalue}} 
{description {$propdesc}} {required {$required}}}}}}]  
$AdminConfig save   

exit 0

Usage:


com.ibm.cacheLocalHost

Set to true to instruct the IBM SDK for Java to cache the IP address returned from java/net/InetAddress.getLocalHost for the life of the JVM. This is a performance enhancement that is advised on all processes if the localhost address of a process will not change while it is running.

The address for servers configured using DHCP change over time. Do not set this property unless you are using statically assigned IP addresses for the server.


com.ibm.config.eclipse.wtp.enablejemtrim

Use this custom property to enable the pruning of intermediate DOM nodes after the XML parse of the metadata occurs for an application.

The setting for this property should match the setting for the com.ibm.config.eclipse.wtp.enablexmltrim custom property. Either both of these properties should be left unset, set to false, or set to true

Default is false.


com.ibm.config.eclipse.wtp.enablexmltrim

Use this custom property to enable the sharing of JavaClass instances, and the conversion of expanded JavaClass and JavaMethod objects to lightweight proxies after they are used.

The setting for this property should match the setting for the com.ibm.config.eclipse.wtp.enablejemtrim custom property. Either both of these properties should be left unset, set to false, or set to true.

Default is false.


com.ibm.config.eclipse.wtp.jem=finer

Use this custom property to generate a trace from code areas that are enabled when the com.ibm.config.eclipse.wtp.enablejemtrim custom property is set to true.

This property might impact performance. Therefore, this property should only be specified if a problem occurs during the pruning of intermediate DOM nodes after the XML parse of the metadata occurs for an application, and you need to obtain additional information to diagnose the cause of that problem.


com.ibm.config.eclipse.wtp.xmltrim=finer

Use this custom property to generate a trace from code areas that are enabled when the com.ibm.config.eclipse.wtp.enablexmltrim custom property is set to true.

This property might impact performance. Therefore, this property should only be specified if a problem occurs with the sharing of JavaClass instances, or the conversion of expanded JavaClass and JavaMethod objects to lightweight proxies after they are used, and you need to obtain additional information to diagnose the cause of that problem.

com.ibm.eclipse.wtp.allowRootedEntries

In previous service releases, properties files in the root directory of an EAR file are not read properly. Thus, in this service release and later, the behavior is changed so the class path in META-INF and MANIFEST.MF files are treated as a relative URI. To revert back to the original behavior, set the com.ibm.eclipse.wtp.allowRootedEntries to true.


com.ibm.ejs.ras.writeSystemStreamsDirectlyToFile

Support JSR-47 customized logging to write to the SystemOut stream without the format of WebSphere Application Server. The format of WAS includes information, for example, timestamp, thread ID, and some others. An application might not want this information to appear in the SystemOut stream (or perhaps prefer the information to appear in a different format). To disable the format of WAS, set this custom property to true.


com.ibm.ejs.sm.server.quiesceInactiveRequestTime

Specify, in milliseconds, how fast IIOP requests through the ORB can be received and processed. For example, if we specify a value of 5000 for this property, the server does not attempt to shutdown until incoming requests are spaced at least 5 seconds apart. If the value specified for this property is too large, when the application server is stopped from the dmgr console the following error message might be issued:

Default is 5000 (5 seconds).

If you decide to use this custom property, we can specify it as a JVM custom property for either an application server, a node agent, or a deployment manager. It is typically set as an application server JVM custom property.


com.ibm.ejs.sm.server.quiesceTimeout

Specify, in seconds, the overall length of the quiesce timeout. If a request is still outstanding after this number of seconds, the server might start to shut down. For example, a value of 180 would be 3 minutes.

Default is 180.

If you decide to use this custom property, we can specify it as a JVM custom property for either an application server, a node agent, or a deployment manager. It is typically set as an application server JVM custom property.


com.ibm.websphere.deletejspclasses

Use this property to indicate to delete JSP classes for all applications after those applications have been deleted or updated. Default is false.


com.ibm.websphere.deletejspclasses.delete

Use this property to indicate to delete JSP classes for all applications after those applications have been deleted, but not after they have been updated. Default is false.


com.ibm.websphere.deletejspclasses.update

Use this property to indicate to delete JSP classes for all applications after those applications have been updated, but not after they have been deleted. Default is false.


com.ibm.websphere.ejb.UseEJB61FEPScanPolicy

Use this property to control whether the product scans pre-Java EE 5 modules for additional metadata during the application installation process or during server startup. By default, these legacy EJB modules are not scanned.

Default is false.

Set this property to true for each server and administrative server that requires a change in the default value.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.ejbcontainer.expandCMPCFJNDIName

The EJB container should allow for the expansion of the CMP Connection Factor JNDI Name when a user's JNDI name contains a user defined Application Server variable. The custom property, com.ibm.websphere.ejbcontainer.expandCMPCFJNDIName, makes it possible to expand the CMP Connection Factor JNDI Name.

If the value is true, which is the default, the EJB Container expands a variable when found in the CMP Connection Factory JNDI Name. If the value is set to false, the EJB Container does not expand a variable.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.ejbcontainer.includeRootExceptionOnRollback

Use this EJB custom property to enable the following functionality:

To enable this functionality set this property to true. To disable, this functionality set this property to false.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.jaxrpc.stub.typemapping.per.thread

Use this property to indicate whether the JAX-RPC runtime should use thread specific type mapping objects.

The JAX-RPC runtime uses a single TypeMappingRegistry object for all of the JAX-RPC clients. This design is intentional, and allows you to create a JAX-RPC stub and use it on multiple threads. However the singleton TypeMappingRegistry gets contaminated if multiple JAX-RPC Web services with different mappings are invoked concurrently. Even though this situation is uncommon, if it exists on the system, we can set the com.ibm.websphere.jaxrpc.stub.typemapping.per.thread custom property to true to indicate to the JAX-RPC runtime that it can use thread-specific type mapping objects. These separate mapping objects avoid the contamination issue, and the various web service calls will succeed.

Default is false.

You should not use this custom property unless you encounter a situation where the singleton TypeMappingRegistry gets contaminated. Enabling this property might regress applications that are dependent on access to the same JAX-RPC stub across multiple threads.


com.ibm.websphere.jaxrs.server.DisableIBMJAXRSEngine

Disable the JAX-RS integration run time from automatically processing your JAX-RS applications. Default is false.

Setting this property to a value of true also disables the IBM JAX-RS runtime integration with EJB and JCDI.


com.ibm.websphere.logging.useJULThreadID

Use this property to control thread ID type used in WAS log files.

When you set this property to true, LogRecord instances are used to retrieve thread ID. When you set this property to false, Thread instances are used to retrieve thread ID.

Default is false.

For transitioning users: Beginning with v8.5, the default value for this property is false. In earlier versions, the default value for the com.ibm.websphere.logging.useJULThreadID property is true.trns


com.ibm.websphere.management.application.client.EnvEntry_processBindings

Specify how an environment entry value is handled during an application deployment.

If this property has a value of false, an environment entry value is read from, and written to, the deployment descriptor. Any environment entry value specified in the XML bindings is ignored.

If this property is not specified, or has a value of true, an environment entry value specified in the XML bindings is given preference over the value specified in the deployment descriptor. The environment entries from annotations are processed. Default is true.

If an application is deployed with com.ibm.websphere.management.application.client.EnvEntry_processBindings enabled and is then exported to be deployed on a pre-v8.0 environment, the environment entry value in the XML bindings are not recognized by both the deployment and runtime environments.

If an application is deployed with com.ibm.websphere.management.application.client.EnvEntry_processBindings enabled and is then exported to be deployed on a v8.0 or later environment, the environment entry value in XML bindings are not recognized by the deployment environment but are recognized by the runtime environment.

Do not include the com.ibm.websphere.management.application.client.EnvEntry_processAnnotations custom property in the JVM configuration settings if the com.ibm.websphere.management.application.client.EnvEntry_processBindings custom property is set to true.

If the environment contains pre-v8.0 nodes and an application is targeted to a pre-Version 8.0 node, set this property with a value of false if we have an environment entry defined in the application and the environment entry value is going to be provided or changed during deployment including install, edit, or update. Otherwise, the application deployment will fail.


com.ibm.websphere.management.application.fullupdate

Specify that when any of the applications are updated, you want the binaries directory erased and the content of the updated EAR file completely extracted.

If this property is not specified, each changed file within an updated EAR file is individually updated and synchronized in the node. This process can be time consuming for large applications if a large number of files change.

Setting the com.ibm.websphere.management.application.fullupdate property to:


com.ibm.websphere.management.application.fullupdate.application_name

Specify that when the specified application is updated, you want the binaries directory for that application erased and the content of the updated EAR file completely extracted.

If this property is not specified, each changed file within the updated EAR file for the specified application is individually updated and synchronized in the node. This process can be time consuming for large applications if a large number of files change.

Setting the com.ibm.websphere.management.application.fullupdate.application_name property to:


com.ibm.websphere.management.application.keepExistingSharedLibraries

Specify how shared library mappings are handled during application updates.

When false, then the shared libraries specified during the application update operation should replace the original shared library settings. False is the default setting.

When true, after an application is updated, the application and module configurations include the original shared library settings in addition to those specified during the update operation.


com.ibm.websphere.management.application.persistWebContext

Specify whether the context root and virtual host information for web modules is persisted in the deployment.xml file. If this property is not specified, application deployment has to rely on annotation processing to read the context root and virtual host information, which impacts the performance of application deployment

When true, the context root and virtual host information for web modules is persisted in the deployment.xml file, the persisted data is used for application deployment validation, which improves the performance of application deployment.

Default is false, which means the context root and virtual host information for web modules is not persisted in the deployment.xml file.


com.ibm.websphere.management.application.sync.recycleappasv5

Specify you want the application recycling behavior to work the same way as this behavior worked in versions previous to v6.x of the product.

In v6.x and higher, after an application update or edit operation occurs, depending on which files are modified, either the application or its modules are automatically recycled. This recycling process occurs for all application configuration file changes, and all non-static file changes.

However, in versions previous to v6.x of the product, an application is recycled only if the EAR fileitself is updated, or if the binaries URL attribute changes. An application is not recycled if there is a change to the application configuration file.

Setting the com.ibm.websphere.management.application.sync.recycleappasv5 property to:

Default is false.


com.ibm.websphere.management.application.updateClusterTask.serverStopWaitTimeout

Specify, in seconds how long the deployment manager waits for a server to stop completely in the $AdminTask updateAppOnCluster task. By default, the deployment manager waits for 60 seconds. The amount of time specified for this property should be greater than the longest amount of time that it takes to stop a server in the cluster.

This property can only be specified if you are using v7.0.0.1 or higher.

This property is only valid if it is specified for a deployment manager.


com.ibm.websphere.management.application.updatesync.appExpansionTimeout

Use the property to specify how long the deployment manager waits to start an application server following an application update. This wait time enables the binaries for the application to be expanded to their directories after the update process completes. The amount of time specified for this property should be the maximum amount of time that any of the applications residing in a node, take to fully expand their binaries.

By default, the rollout update function waits for 60 seconds, for each application expansion to occur following an update to one or more applications. Because the rollout function can be used to update multiple applications at the same time, the default value for this property is n x 60 seconds, where n is the number of applications that are being updated.

The default wait time might not be sufficient for larger applications. If, after the applications are updated, one or more of these applications do not start when the server starts, you might have to specify a longer length of time for the rollout update function to wait before starting the server.

This property is only valid if it is specified for a deployment manager.


com.ibm.websphere.management.configservice.getServerLogRootFromTemplate

Specify whether the value specified for the SERVER_ROOT variable defined in a server template, or the value of {LOG_ROOT}/serverName should be used when we create an application server or cluster member.

When creating an application server or cluster member, the value of {LOG_ROOT}/serverName is always used instead of the value of theSERVER_ROOT variable defined in an existing server template. If, when we create an application server or cluster member, to use the value of the SERVER_ROOT variable defined in a server template, set this property to true.

If we use this custom property, it must be set for the deployment manager.

When using wsadmin in connected mode, use the AdminTask.setJVMSystemProperties command to set this property at the deployment manager level.

When using wsadmin in LOCAL mode (conntype=none), this property can be passed in as a javaoption:

wsadmin -conntype none -javaoption
"-Dcom.ibm.websphere.management.configservice.getServerLogRootFromTemplate=true"


com.ibm.websphere.management.configservice.sessionIdUniqueness

Use this property to prevent duplicated configuration session or workspace ID generation. If different process create randomly generated configuration session or workspace IDs within the same millisecond, it is possible for the IDs to be identical.

To prevent duplicated configuration session or workspace ID generation, add this property to the application server settings and set it to true.

We can use either the AdminTask.setJVMSystemProperties wsadmin command or the dmgr console to specify this custom property.

After you save your changes, you must restart the server before this configuration change goes into effect.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.management.configservice.validatePropNames

Enforce character restrictions for custom property names, and for the name value of Property and J2EEResourceProperty configuration objects in wsadmin commands.

We can use one of the following methods to turn off character validation for custom property names, and the name value of Property and J2EEResourceProperty configuration objects in wsadmin commands.


com.ibm.websphere.management.processEmbeddedConfigGlobal

Use this property to globally enable or disable processing of the embedded configuration of enhanced application EAR file during deployment. An enhanced EAR file results when we export an installed application.

This custom property overrides globally the default setting for the Process embedded configuration (-processEmbededConfig) option. By default, Process embedded configuration is set to true (selected) for enhanced EAR files and false (deselected) for all other EAR files. The Process embedded configuration setting determines the directory to which the product expands an enhanced EAR file during deployment of the enhanced EAR file. If you exported an application from a cell other than the current cell and did not specify the $(CELL) variable for Directory to install application when first installing the application, setting Process embedded configuration to false during deployment of an enhanced EAR file extracts the enhanced EAR file in the app_server_root/profiles/installedApps/current_cell_name directory. Otherwise, if Process embedded configuration is set to true, the enhanced EAR file is expanded in the app_server_root/profiles/installedApps/original_cell_name directory, where original_cell_name is the cell on which the application was first installed. If you specified the $(CELL) variable for Directory to install application when we first installed the application, installation expands the enhanced EAR file in the app_server_root/profiles/installedApps/current_cell_name directory.

When this processEmbeddedConfigGlobal custom property is set to false, the product does not process the embedded configuration of any application, including enhanced EAR files, during deployment. After you set processEmbeddedConfigGlobal to false, the product does not process the embedded configuration of enhanced EAR files. However, when deploying an individual enhanced EAR file, we can override this false setting by explicitly setting Process embedded configuration to true.

When this processEmbeddedConfigGlobal custom property is set to true, the product processes the embedded configuration of enhanced EAR files.

Regardless of whether this processEmbeddedConfigGlobal custom property is set to true or false, the product deploys applications that do not have embedded configurations as usual. The setting has no effect on deployment.

If you decide to use this custom property, we can either specify this property as a JVM custom property for the application server, or add this property to the wsadmin.properties file.

com.ibm.websphere.management.useUpdatedPropertyFiles

Use this property to create new mail sessions using the updated property file template.

Set to true to use the updated properties file configuration template to create new mail sessions. The updated properties file configuration template will be used instead of the original properties file configuration template.

Best practice: You should enable com.ibm.websphere.management.useUpdatedPropertyFiles unless we used the original properties file template to extract configuration objects to the property files.

After you set the system property, save the changes. If the application server is part of a federated cell, synchronize the node to propagate the changes. Restart each server for the changes to take effect.

This property is not enabled by default.


com.ibm.websphere.metadata.ignoreDuplicateRefBindingsInWebModul

Use this property to control whether the JVM ignores instances of duplicate reference bindings in the DTD file for a web module in a J2EE version 1.3 application.

Typically a MetaDataException occurs if the DTD file for a web module in a J2EE version 1.3 application contains duplicate references.

The standards for the DTD file for a web module specifically states the reference bindings must have a unique name fields. Therefore, an application containing a web module that includes duplicate reference bindings is technically a non-compliant application.

Although the standards for the DTD file for a web module forbids a user from defining duplicate reference bindings, the JVMs in versions of the product that preceded 7.0 tolerate duplicate reference bindings. If we have DTD files for web modules in Java 2 Platform, Enterprise Edition (J2EE) version 1.3 applications containing duplicate reference bindings, we can either remove the duplicate reference, or add this property to your JVM configuration settings, and set the property to true.


com.ibm.websphere.network.useMultiHome

Use this property in a multihomed environment to indicate on which IP addresses the application server listens. In a multihomed environment, there is normally a specific IP address the application server is restricted to listening on for Discovery and SOAP messages. Setting the com.ibm.websphere.network.useMultiHome property to:

If we cannot contact the server, check the setting for com.ibm.websphere.network.useMultihome to ensure it is correct. We can change the value through the dmgr console. Modify the defaults by setting the value for the server. Restart the server before these changes take effect.

com.ibm.websphere.resource.xmlConfigMaxLineLength

Specify a preferred maximum line length for XML configuration documents.

Lines at the beginning of a server.xml file often exceeds 2048 characters in length. Lines exceeding 2048 characters in length cannot be processed by common text editing tools on some operating systems, such as z/OS . Therefore, when we edit and save a file that includes lines exceeding 2048 characters, the long lines are truncated. This truncation makes the configuration file unusable, and causes the server startup to fail.

If we specify a value for this the property, when we edit and save an XML configuration document, the line breaks will occur as soon as possible after the number of characters in the line reaches the specified maximum number of allowable characters. The line breaks still occur at logical breaking points, which is why the line lengths might still exceed the specified maximum. Therefore the value we specify for this property should take into account the number of characters that might exceed the specified maximum to ensure that none of the lines in the document exceed 2048 characters.

If we do not specify a value for this property, lines are allowed to grow to any length.

An acceptable value for this property is an integer in the range 80 to 2046, inclusive.

There is no default value for this property.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.sib.webservices.useTypeSoapArray

We can pass messages directly to a bus destination by overriding the JAX-RPC client binding namespace and endpoint address. However:

Here are examples of the two different messages:

Set to true to modify the default behavior and send a string array message that is fully compatible with standard JAX-RPC. Setting this property modifies the default behavior for all outbound JMS web services invocations sent from the service integration bus.


com.ibm.websphere.webservices.attachment.tempfile.expiration

Use this property to indicate, in seconds, an expiration time for an attachment on a JAX-WS or SCA client or service. If an attachment is not accessed for a period of time greater than the expiration time, the web service runtime is allowed to delete the attachment.

The JAX-RPC programming model allows access to attachments from incoming Web service messages. The attachment might be accessed immediately, or might be stored for later processing. Therefore, the memory associated with the attachment might persist much longer than the lifetime of the Web service interaction. because there is no precise length of time after which the Web service runtime can safely free the attachment.

For small attachments, the memory is eventually freed by the Java garbage collector.

For large attachments, the JAX-RPC runtime stores the attachment data in a temporary file, thereby allowing the runtime to process extremely large attachments without consuming memory. If the application does not access the attachment, or if the application does not adequately close the data handler associated with the attachment, the large temporary file is not freed. Over time, these temporary attachment files might accumulate on the file system if no expiration time is specified for these files.

Best practice: A setting of 600 is recommended if specify an expiration time for these attachments. The default setting for this custom property is 0 seconds, which indicates there is no expiration time for these attachments.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.attachements.maxMemCacheSize

Specify, in kilobytes, the maximum size of an attachment on the JAX-RPC client or service that can be written to memory. For example, if the web service needs to send 20 MB attachments, set the property to 20480.

When determining a value for this property, remember the larger the maximum cache size, the more impact there is on performance, and, potentially, to the Java heap.

If we do not specify a value for this property, the maximum memory used to cache attachments is 32 KB, which is the default value for this property.

To specify the maximum size of an attachment on the JAX-WS client or service, see the com.ibm.ws.websvcs.attachments.sizethreshold custom property.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.DisableIBMJAXWSEngine

Use this property to turn off web services annotation scanning at the server level. By default, web services annotation scanning is enabled at the server level.

To turn off annotation scanning at the application level, set the DisableIBMJAXWSEngine property in the META-INF/MANIFEST.MF of a WAR file or EJB module to true.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.http.OneWayConnectionRecycleTime

Specify, in seconds, how long the web services engine should wait before reusing a one-way connection. When a one-way connection is reused too quickly, a web service operation might fail on the client because of a timeout problem, such as a SocketTimeoutException.

When a value is specified for this property, one-way connections are not reset until the specified number of seconds elapses, starting from when the request is sent.

By default, this property is not set and one-way connections are reset immediately after the request is sent.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.http.waitingThreadsThreshold

Specify how many waiting connection requests are tolerated before releasing soft connections. A soft connection occurs when a client engine maintains connection objects for some hosts after the connection is closed. By default, after five threads are waiting for connections, the client engine releases the soft connections.

If all of the connections are being used, the custom property does not have an impact. In this situation, we can increase the maximum connection limit, the maximum number of threads, or both.

The default value for this custom property is 5.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.jaxrpc.client.publishwsdl

Whether a WSDL file is published for a client web module. When true, if an application contains a client web module, a WSDL file might be published for that client. If we do not want WSDL files published for the client applications, set this property to false.

Default is true.

If you decide to use this custom property, specify it as an application server JVM custom property.

com.ibm.websphere.webservices.jaxws.setLinkValuePrecedence

Specify the precedence of link values in the JAX-WS runtime environment.

When true, deployment descriptor link values have precedence over annotation link values.

Default is false.


com.ibm.websphere.webservices.soap.enable.legacy.get.behavior

Starting in WAS v8, the SOAP with Attachments API for Java (SAAJ) methods SOAPMessage.getSOAPHeader and getSOAPBody now throw a SOAPException if there is no corresponding element in the message. Previously these methods would return a null if there was no corresponding element in the message. A System property is provided to revert the behavior to return null rather than throw an exception. The property is com.ibm.websphere.webservices.soap.enable.legacy.get.behavior. The default value of the property is null which is interpreted as false. To revert the behavior to return a null, set the property to the String value true. Note the previous behavior of returning null is not compliant with the SAAJ specification.


com.ibm.websphere.webservices.tempAttachDir

Specify the location on a storage device where you want the web services runtime to cache a copy of any attachment , that is greater than 32KB in size, that is being sent or received as part of a SOAP message.

For performance reasons, the web services runtime caches a temporary copy of any SOAP message attachment that is greater than 32KB in size. If we do not specify a value for this property, the cached copy of the attachment is typically sent to the default temporary directory for the operating system.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.transport.jms.messageType

Use this property to control the JMS message type used by the web services engine for SOAP over JMS components when sending request and response messages. To specify a JMS BytesMessage (javax.jms.BytesMessage) object, set the property to BYTES to indicate the body of the message is binary data. To specify a JMS TextMessage (javax.jms.TextMessage) object, set the property to TEXT to indicate the body of the message is string data.

The default value for this custom property is BYTES.

To learn more about the SOAP over JMS message types, see the configuring SOAP over JMS message types information.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.transport.OPTIMIZE_HTTP_HEADERS

Prior to v8, a JAX-WS client application for WAS might send a SAVE_CONNECTION HTTP header in a SOAP message. This additional header ensures that proper processing occurs by the application server that is hosting the JAX-WS web service. However, this SAVE_CONNECTION header and the additional processing is not necessary if the application server for the client and the application server host for the web service are both using WAS v7.0 Fix Pack 3 or later.

We can set the com.ibm.websphere.webservices.transport.OPTIMIZE_HTTP_HEADERS custom property to false to enable the SAVE_CONNECTION header to ensure proper processing by older application server levels. By default, this custom property is set to true, which disables the JAX-WS client from sending the SAVE_CONNECTION header. If you need to change this default behavior, set the custom property to false on the application server that is hosting the JAX-WS client application.

Verify the application server for the client and application server host for the web service are both using v7.0 Fix Pack 3 or later.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.transport.ssl.loadFromPolicyBinding

Use this property to control whether JAX-WS applications use SSL transport bindings or the system default SSL settings when the client is a managed client, and the client and the server are in different application servers.

When creating an SSL binding, this property is automatically added to the bindings file, and set to true. This setting enables SSL transport bindings to be used for JAX-WS applications when the client is a managed client, and the client and the server are in different application servers. If no bindings are attached to your JAX-WS application, set this property to false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.UseWSFEP61ScanPolicy

Use this property to control whether the product scans WAR 2.4 and earlier modules for JAXWS components and semi-managed service clients. By default, these legacy WAR modules are only scans for semi-managed service clients.

Default is false.

Set this property to true for each server and administrative server that requires a change in the default value.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.websphere.webservices.WSDL_Generation_Extra_Classpath

Set the location of the shared class files. The wsgen command-line tool generates the necessary artifacts required for JAX-WS applications when they start from Java code. However, the wsgen command-line tool might not locate the necessary class files and append the following error messages to the log file:

Caused by: java.lang.NoClassDefFoundError
...
at com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.wsgen(WASWSDLGenerator.java:521)
at com.ibm.ws.websvcs.wsdl.WASWSDLGenerator.generateWsdl(WASWSDLGenerator.java:183)
Use this property to provide the fully qualified location to the missing class files. With this custom property, we can provide fully qualified paths to multiple Java archives (JAR) and directories and separate them using a semicolon (;).

If you decide to use this custom property, specify it as an application server JVM custom property.

com.ibm.websphere.websvcs.EJBPostInvokeCallOnException

Use this property to clean up the state and transaction following an exception in a web-services-invoked EJB.

On installations of WAS that use JAX-WS web services, when an exception occurs in an EJB that is invoked as part of a web service, transactions could remain active on a thread and prevent a transaction associated with the current XA transaction flow from resuming. Set to true to ensure complete cleanup of the state and transaction.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.

com.ibm.websphere.workspace.decodeclustervariable

Use this property to ensure that variables defined at a cluster scope are expanded when they occur in log file paths defined in the dmgr console.

If this property is not set, and cluster scoped variables are used to define log file paths, then the deployment manage might fail to retrieve the requested log file. Therefore, you should add this property to your deployment manager JVM settings if you include cluster scoped variables in the log file paths.

Default is false.

If you decide to use this custom property, specify it as a deployment manager JVM custom property. After you set this property to true, you must restart the deployment manager before this change goes into effect.


com.ibm.ws.amm.scan.context.filter.archives

Use this property to provide a list of archives, or utility JAR files, that do not contain annotations. Archives or utility JAR files specified for this property are not be scanned for annotations.

When a Java EE 5 or 6 application is deployed or updated, the Annotations Metadata Manager (AMM) facility scans all of the annotation metadata. This scanning process can negatively affect the amount of time required to deploy an application. If the application includes archives or utilities that do not contain annotations, we can list these archives and utilities as the value for this property. If the application includes Java Packages that do not contain annotations, we can list them as the value for the Ignore-Scanning-Packages property.

The values specified for this properties are case sensitive, and must be expressed as a single string with a comma followed by a space used to separate the names of the archives or utility JAR files. Wildcards and REGEX expressions are not permitted.

As an alternative to using this custom property, we can add the Ignore-Scanning-Archives property to one of the following files or modules, and specify the archives and utilities that we do not want scanned as the value of that property:

Values specified in the amm.filter.properties files are merged with those found in this custom property to form a server scoped set of filters. This merged set of filters applies to all of the applications deployed on that server.

Values specified in the manifest file of an application are merged with the server scoped set of filters to form a module scoped superset that applies to all modules within that application.

Values specified in the manifest file of a web or EJB module are merged with the module scoped set of filters. This merged set of filters only applies to that module.

Exercise caution if you update a manifest file. Manifest files have line length limitations, and other constraints that must be adhered to.

Example:


com.ibm.ws.amm.scan.context.filter.packages.

Use this property to provide a list of Java Packages that do not contain annotations. The Java classes specified for this property are not scanned for annotations.

When a Java EE 5 or 6 application is deployed or updated, the Annotations Metadata Manager (AMM) facility scans all of the annotation metadata. This scanning process can negatively affect the amount of time required to deploy an application. If the application includes Java Packages that do not contain annotations, we can list them as the value for this property. If the application includes archives or utilities that do not contain annotations, we can list them as the value for the Ignore-Scanning-Archives property.

The value specified for this property are case sensitive and must be expressed as a single string with a comma followed by a space used to separate the names of the Java Packages. Wildcards and REGEX expressions are not permitted.

As an alternative to using this custom property, we can add the Ignore-Scanning-Packages property to one of the following files or modules, and specify the archives and utilities that we do not want scanned as the value of that property:

Values specified in the amm.filter.properties files are merged with those found in this custom property to form a server scoped set of filters. This merged set of filters applies to all of the applications deployed on that server.

Values specified in the manifest file of an application are merged with the server scoped set of filters to form a module scoped superset that applies to all modules within that application.

Values specified in the manifest file of a web or EJB module are merged with the module scoped set of filters. This merged set of filters only applies to that module.

The following example is properties file centric and cannot be used as is for a manifest file. Manifest files have a 72 byte line length limit, as well as other constraints that must be adhered to.

Example:


com.ibm.ws.application.enhancedScanning

Disable several optimizations that decreases the time to deploy and start enterprise applications. The optimizations primarily involve Java Platform, Enterprise Edition (Java EE 5)-enabled applications. When you set this property to false, the following updates are disabled:

If you set this property to false, you might experience decreases in performance. Default is true.


com.ibm.ws.cache.CacheConfig.alwaysSetSurrogateControlHdr

Use this property to force the surrogate-control header from the dynamic cache service to always be set on the response. The surrogate-control header contains the metadata the Edge Side Include (ESI) processing needs to correctly generate, and invalidate the cached content in the ESI cache.

Default is false, which means the surrogate-control header might not be set on the response.

If you decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


com.ibm.ws.cache.CacheConfig.cascadeCachespecProperties

Use this property to enable child pages or fragments to inherit the cascade of save-attributes, and store-cookies properties from their parent pages or fragments. Default is false.

The default behavior of the dynamic cache service is to store the request attributes for a child page or fragment, if not explicitly overridden in the cache specification. An application server can run into an Out-Of-Memory condition in scenarios where these request attributes get too large. If the attributes saved by default are not serializable, then the disk offload of these cache entries results in java.io.NotSerializableExceptions.

If you decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


com.ibm.ws.cache.CacheConfig.filteredStatusCodes

Use this property to indicate error situations in which we do not want the dynamic cache service to cache the servlet output.

The value specified for this property is a space delimited list of HTTP response error codes. If the status code returned from a cache miss matches one of the listed response error codes, the dynamic cache service does not cache the data that was obtained in response to an HTTP request.

If you decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


com.ibm.ws.CacheConfig.alwaysTriggerCommandInvalidations

Use this property to ensure that command invalidations are triggered regardless of the skipCache attribute.

When a request object contains the <previewRequest> attribute the dynamic cache sets the skipCache attribute to true. When the skipCache attribute is true, commands are not always invalidated. Set the com.ibm.ws.CacheConfig.alwaysTriggerCommandInvalidations custom property to true to ensure that command invalidations are triggered regardless of the skipCache attribute. When you set this custom property, it affects all cache instances. Default is false.

This custom property is set on the application server level only.

If you decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


com.ibm.ws.classloader.allowDisposedClassLoad

Specify whether the JVM should fully dispose of an application class loader when the application is stopped. If the JVM does not fully dispose of an application class loader, classes can still be loaded from that class loader.

When this property is set to a value of true, the JVM does not fully dispose of an application class loader when the application is stopped.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.classloader.encodeResourceURLs

Specify whether the application class loaders, such as EAR, web module, and shared library loaders encode spaces in resource URLs. If true, spaces are encoded as "%20" in the URLs that either a getResource or getResources call returns.

Default is true. If false, warning message WSVR0333W displays in the logs. This message indicates the use of the false setting for this property has been deprecated.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.classloader.strict

Use this property to enable the WAS application class loader to provide access to the META-INF directory through a getResources call even if the META-INF directory path does not include a trailing slash

The WAS application class loader does not, by default, provide access to the META-INF directory through a getResources call unless a trailing slash is specified at the end of the META-INF directory path. If you want the WAS application class loader to provide access to the META-INF directory through a getResources call even if a trailing slash is not specified at the end of the META-INF directory path, set this property to true.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.classloader.zipFileCacheSize

Specify the maximum number of application JAR files that can be held open for resource and class loading. Reducing the number of times JAR files must be opened, improves the performance of applications that are resource or class loading intensive.

When the specified limit of open JAR files is reached, the class loader starts to close and remove JAR files based on the last time they were accessed. The most recently accessed JAR files are kept open. The value specified for this property should be based on the total number of application JAR files that are frequently accessed.

The default value for this property is 8. Specifying a value of 0 disables the cache and prevents application JAR files from being held open.

Avoid Trouble: Do not use the Microsoft Windows Hot Deployment function if we specify a value other than 0 for this property. gotcha

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.el.reuseEvaluationContext

Use this property to indicate the same EvaluationContext object can be reused on a per thread basis.

Typically, during the evaluation of expressions the Unified EL code creates a new org.apache.el.lang.EvaluationContext object for each call that is made. Because these objects are subsequently made available for garbage page, as the number of objects created increases, memory consumption and garbage page also increases. Setting the com.ibm.ws.el.reuseEvaluationContext property to true enables the same EvaluationContext object to be reused on a per thread basis, thereby decreasing memory consumption and the amount of garbage page that needs to occur.

Default is false.


com.ibm.ws.management.connector.soap.logClientInfo

Use this property to indicate whether to log the host, port, and username of SOAP client requests. When true, SOAP client details are logged in SystemOut.log. These details are also added to trace.log if the trace level for the SOAP connector is set to all.

Default is false.

com.ibm.ws.management.connector.soap.waitBeforeCloseTime

Use this property to change the length of time specified for the server SOAP connection timeout. When using the localhost adapter on a Microsoft Windows operating system, the server SOAP connection timeout, which defaults to 10 milliseconds, allows large amounts of data to be streamed without interruption.

If too short a length of time is specified for this property, a SOAPException for premature end of stream might occur on the server side of the connection when a large amount of data is streamed.

Specify a value of 0 disables the timeout.


com.ibm.ws.management.event.max_polling_interval

Specify the maximum amount of time the server waits before it asks or gets notifications from the client. The default polling interval is 1000 milliseconds (1 second). If a property value is not specified, the default value is used.

If we are using a SOAP or IPC connector, we can use this property to tune that connector such the amount of time the server waits for a poll notification from the client matches the time interval the server would wait if you were using an RMI connector.

If this property value is set to -1, the client polls for notifications based on a built-in adaptive algorithm that changes the polling interval based on the number of notifications the client receives. A time interval of 3 to 20 seconds can elapse between polls before the first notification is received.

For transitioning users: Prior to v8.0, if a value was not specified for the com.ibm.ws.management.event.max_polling_interval property, client polls for notification were based on the built-in adaptive algorithm that changes the polling interval based on the number of notifications the client receives.trns

This property must be specified for the client-side JVM.


com.ibm.ws.management.event.pull_notification_timeout

Specify the amount of time the client waits before polling notification from the server. The default timeout is 60000 milliseconds (60 seconds or 1 minute). If a property value is not specified, the default value is used.

If the property value is set to 0 (zero) or to a negative number such as -1, the server returns to the client immediately even if no notification is available.

For transitioning users: Prior to version 8.0, if a value was not specified for the com.ibm.ws.management.event.pull_notification_timeout property, the server returned to the client right away even if no notification was available.trns

This property must be specified for the server-side JVM.


com.ibm.ws.management.repository.tempFileKeepTimeMinutes

Specify, in minutes, how long a file is kept in the configuration repository temporary directory before the configuration repository temporary directory cleanup task can delete that file from the directory. The default value for this property is 1440 minutes, which is equal to 24 hours. In previous versions of the product, a file was kept for 60 minutes.

Default is typically sufficient for performing needed cleanup without deleting files that are in use. However, there might be situations where specify a larger, or smaller value. We can specify a minimum value of 60 minutes for this property. However, IBM recommends specified a value that is equivalent to several hours to account for situations where very large files are being transferred or synchronized, or where a network is slow, and file transfer operations are taking a long time. In these situations, if too short a time period is specified, it is possible for a file to be deleted while it is still being transferred.

If the com.ibm.ws.management.repository.tempFileSweepIntervalMinutes property is set to 0, the cleanup function is disabled, and any files left behind after a server process failure, remain in the configuration repository temporary directory until they are manually removed, or the cleanup function is enabled.

If an invalid value is specified for this property, the default value is used.


com.ibm.ws.management.repository.tempFileSweepIntervalMinutes

Specify, in minutes, how frequently the configuration repository temporary directory cleanup task runs. This task removes files from the configuration repository temporary directory that were not properly removed because of a server process failure.

The cleanup task always runs when the server starts, and then again after the time length specified for this property expires. The default value for this property is 720 minutes, which is equivalent to 12 hours. This length of time is typically sufficient for the configuration repository temporary directory cleanup task to successfully complete the cleanup process. We can disable this cleanup function by setting this property to 0.

In previous versions of the product, the cleanup task ran when the server started, and then ran again every 30 minutes.

If an invalid value is specified for this property, the default value is used.


com.ibm.ws.odr.plugincfg.config.ASDisableNagle

Specify whether to disable the Nagle algorithm for the connection between the plug-in and the proxy server.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false, which means the Nagle algorithm is enabled for the connection between the plug-in and the proxy server.


com.ibm.ws.odr.plugincfg.config.AcceptAllContent

Specify whether we can include content in POST, PUT, GET, and HEAD requests when a Content-Length or Transfer-encoding header is contained in the request header. We can specify one of the following values for this attribute:

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false.


com.ibm.ws.odr.plugincfg.config.AppServerPortPreference

Specify which port number is used to build URI's for a sendRedirect.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is HostHeader.


com.ibm.ws.odr.plugincfg.config.ChunkedResponse

Specify whether the plug-in groups the response to the client when a Transfer-Encoding : Chunked response header is present in the response.

We can specify one of the following values for this attribute:

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false.


com.ibm.ws.odr.plugincfg.config.IISDisableNagle

Specify whether to disable the nagle algorithm.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false.


com.ibm.ws.odr.plugincfg.config.IISPluginPriority

Specify the priority in which the Web server loads the plug-in. We can specify one of the following values for this attribute:

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is High.


com.ibm.ws.odr.plugincfg.config.IgnoreDNSFailures

Specify whether the plug-in is to ignore DNS failures within a configuration when started.

When true, the plug-in ignores DNS failures within a configuration and starts successfully if at least one server in each ServerCluster resolves the host name. Any server for which the host name is not resolved is marked unavailable for the life of the configuration. The host name is not resolved later during the routing of requests. If a DNS failure occurs, a log message is written to the plug-in log file and the plug-in continues initializing instead of the Web server not starting.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false.


com.ibm.ws.odr.plugincfg.config.RefreshInterval

Specify, in seconds, how frequently the plug-in should check the configuration file for updates or changes. The plug-in checks the file for any modifications that occur since the plug-in configuration was loaded.

In a development environment where frequent changes occur, set the time interval to less than 60 seconds.

In a production environment, you should set a higher value than the default value, because updates to the configuration do not occur as frequently.

If the plug-in reload is not successful, the plug-in log file contains an error message, and the previous configuration is used until plugin-cfg.xml successfully reloads. Refer to the plug-in log file for more information if an error occurs.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is 60.


com.ibm.ws.odr.plugincfg.config.ResponseChunkSize

Specify, in kilobytes, the maximum chunk size the plug-in should use when reading the response body. For example, Config ResponseChunkSize="N", where N equals the chunk size.

By default, the plug-in reads the response body in 64k chunks until all of the response data is read. This process might cause a performance problem for requests where the response body contains large amounts of data. If the content length of the response body is unknown, a buffer size of N kilobytes is allocated and the body is read in N kilobyte size chunks, until the entire body is read. If the content length is known, then a buffer size of either content length or N is used to read the response body.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is 64.


com.ibm.ws.odr.plugincfg.config.VHostMatchingCompat

Specify whether the plug-in should use the port number for virtual host matching. The following values can be specified:

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false.


com.ibm.ws.odr.plugincfg.config.TrustedProxyEnable

Specify whether the plug-in is to allow the inclusion of trusted proxies. The following values can be specified:

The trusted proxies are collected from the defined trusted security proxies.

This property is only valid for a proxy server, and applies to the Config element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false.


com.ibm.ws.odr.plugincfg.log.Name

Specify the fully qualified path to the log file to which the plug-in writes error messages.

This property is only valid for a proxy server, and applies to the Log element in the plugin-cfg.xml file the proxy server automatically generates.

Default is profileRoot/logs/http_plugin.log.


com.ibm.ws.odr.plugincfg.log.LogLevel

Specify the level of detail of the log messages the plug-in writes to the log. We can specify one of the following values for this attribute:

This property is only valid for a proxy server, and applies to the Log element in the plugin-cfg.xml file the proxy server automatically generates.

Default is Error.

A lot of messages are logged at the trace level, which can cause the file system to fill up very quickly. Never use a trace setting in a normally functioning environment as it adversely affects performance.


com.ibm.ws.odr.plugincfg.cluster.CloneSeparatorChange

Use this property to indicate to the plug-in the plus character (+) can be used as the clone separator.

Some pervasive devices cannot handle the colon character (:) used to separate clone IDs in conjunction with session affinity.

If we use this custom property, you must change the proxy server configurations such the proxy server separates clone IDs with the plus character instead the colon character.

This property is only valid for a proxy server, and applies to the ServerCluster element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false.


com.ibm.ws.odr.plugincfg.cluster.LoadBalance

Specify the appropriate load balancing option: Round Robin or Random.

The Round Robin implementation has a random starting point. The first proxy server is picked randomly. Round Robin is then used to pick proxy servers from that point forward. This implementation ensures that in multiple process based Web servers, all of the processes don't start up by sending the first request to the same proxy server.

The Random implementation also has a random starting point. However with this implementation all subsequent proxy servers are also randomly selected. Therefore, the same proxy server might get selected repeatedly while other proxy servers remain idle.

Default is Round Robin.


com.ibm.ws.odr.plugincfg.cluster.PostSizeLimit

Specify, in bytes, the maximum number of bytes of request content the plug-in is allowed to attempt to send to a server. If a request is received that is greater than the specified value, the plug-in ends the request

This property is only valid for a proxy server, and applies to the ServerCluster element in the plugin-cfg.xml file the proxy server automatically generates.

Default is -1, which indicates there is no limit to the size of a request.


com.ibm.ws.odr.plugincfg.cluster.RemoveSpecialHeaders

Use this property to whether the plug-in is to add special headers to a request before it is forwarded to the server. These headers store information about the request the application then uses. By default, the plug-in removes these headers from incoming requests before adding the required headers.

If you set this property to false, you introduce a potential security exposure headers from incoming requests are not removed.

This property is only valid for a proxy server, and applies to the ServerCluster element in the plugin-cfg.xml file the proxy server automatically generates.

Default is true.


com.ibm.ws.odr.plugincfg.cluster.RetryInterval

Specify, in seconds, the amount of time that elapses between when a proxy server is marked down and when the plug-in reattempts to make a connection.

This property is only valid for a proxy server, and applies to the ServerCluster element in the plugin-cfg.xml file the proxy server automatically generates.

Default is 60.


com.ibm.ws.odr.plugincfg.odrIncludeStopped

Specify whether the plug-in is to allow the inclusion of stopped proxy servers. The following values can be specified:

This property is only valid for a proxy server.

Default is false.


com.ibm.ws.odr.plugincfg.server.ConnectTimeout

Specify, in seconds, the amount of time the plug-in waits for a successful connection

Specify a value for th property enables the plug-in to perform non-blocking connections with the proxy server. Such connections are beneficial when the plug-in is unable to contact the destination to determine if the port is available or unavailable.

When a value greater than 0 is specified, and a connection does not occur after that time interval elapses, the plug-in marks the proxy server unavailable, and proceeds with one of the other proxy servers defined in the cluster.

If no value is specified for this property, the plug-in performs a blocking connect in which the plug-in waits until an operating system times out and allows the plug-in to mark the proxy server unavailable.

This property is only valid for a proxy server, and applies to the Server element in the plugin-cfg.xml file the proxy server automatically generates.

Default is 0.


com.ibm.ws.odr.plugincfg.server.ExtendedHandShake

Use this property to indicate to the plug-in that it must ensure the availability of a proxy server before sending a request to that proxy server.

Typically, the plug-in marks a proxy server as stopped when a connect() ends. However, when a proxy firewall is between the plug-in and the proxy server, the connect() succeeds, even though the back-end proxy server is stopped. This situation causes the plug-in to not failover correctly to other proxy servers.

This property is only valid for a proxy server, and applies to the Server element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false.


com.ibm.ws.odr.plugincfg.server.MaxConnections

Specify the maximum number of pending connections to a proxy server that can flow through a Web server process at any point in time.

This property is only valid for a proxy server, and applies to the Server element in the plugin-cfg.xml file the proxy server automatically generates.

Default is -1, which indicates there is no maximum number for the number of pending connections to a proxy server that can flow through a Web server process at any point in time.


com.ibm.ws.odr.plugincfg.cluster.WaitForContinue

Specify whether to use the HTTP 1.1 100 Continue support before sending the request content to the proxy server.

Typically, the plug-in does not wait for the 100 Continue response from the proxy server before sending the request content. You should use HTTP 1.1 100 Continue support when configuring the plug-in to work with certain types of proxy firewalls.

This property is ignored for POST requests to prevent a failure from occurring if the proxy server closes a connection because of a time-out.

This property is only valid for a proxy server, and applies to the Server element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false.


com.ibm.ws.odr.plugincfg.property.ESIEnable

Use this property to enable or disable the Edge Side Include (ESI) processor. If the ESI processor is disabled, the other ESI elements in the file are ignored.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file the proxy server automatically generates.

Default is true.


com.ibm.ws.odr.plugincfg.property.ESIMaxCacheSize

Specify, in 1 KB units, the maximum size of the cache. The default maximum size of the cache is 1024 KB (1 megabyte). If the cache is full, the first entry to be evicted from the cache is the entry that is closest to its expiration time.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file the proxy server automatically generates.

Default is 1024.


com.ibm.ws.odr.plugincfg.property.ESIInvalidationMonitor

Specify whether or not the ESI processor receives invalidations from the proxy server.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file the proxy server automatically generates.

Default is false.


com.ibm.ws.odr.plugincfg.property.https.keyring

Specify the directory location of the SAF keyring when the protocol of the transport is set to HTTPS.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file the proxy server automatically generates.

Default is profileRoot/etc/plugin-key.kdb.


com.ibm.ws.odr.plugincfg.property.https.stashfile

Specify the location of the stashfile.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file the proxy server automatically generates.

Default is profileRoot/node/etc/plugin-key.sth .


com.ibm.ws.odr.plugincfg.property.PluginInstallRoot

Specify the installation path for the plug-in.

Set this property, to the fully qualified path of the plug-in installation root. If we use the default value, the property does not display in the plugin-cfg.xml file.

This property is only valid for a proxy server, and applies to the Property element in the plugin-cfg.xml file the proxy server automatically generates.

Default is "".


com.ibm.ws.pm.checkingDBconnection

Specify whether the persistence manager is to continue checking the availability of a database, that was previously marked as unavailable, until a connection with that database is successfully established.

If a database service is down when the persistent manager attempts to establish a connection to that database, the database is marked as unavailable.

Typically, the persistent manager does not re-attempt to establish a connection after a database is marked as unavailable. If you sent this property to true, the persistence manager continues to check the availability of the database until it is able to successfully establish a connection to that database.

Default is false.


com.ibm.ws.runtime.component.ResourceMgr.postBindNotify

Use this property to make the Connection Factory MBeans available when a resource adapter starts.

Typically, when a resource adapter starts, the Connection Factory MBeans are not available for the resource adapter to query. However, certain resource adapters, such as the IMS™ DB Resource Adapter, require this functionality for initialization.

If you are not using a resource adapter that requires the availability of Connection Factory MBeans at initialization, add this property to your JVM settings and set the value to false.

Default is true.


com.ibm.ws.runtime.dumpShutdown

There are differing situations where a thread dump during server shutdown is useful. The following are examples

The com.ibm.ws.runtime.dumpShutdown diagnostic custom property allows you to trigger a Java core thread dump during server shutdown. Set to true to trigger a Java core thread dump during server shutdown. Default is false.

For platforms where an IBM Software Development Kit is used (AIX , Windows, Linux, z/OS), the Java core thread dump is generated in the working directory of the application server.

For other platforms (Solaris, HP-UX), the Java core thread dump is written into the native_stdout.log file for the application server.

In addition to the Java core thread dump, the stack trace of the current thread that is processing the shutdown is printed in the SystemErr.log for the application server.


com.ibm.ws.runtime.logThreadPoolGrowth

Thread pools allowed to grow are configured with a maximum size but allowed to increase in size beyond that maximum. However, by default, no messages are issued that indicate the maximum size has been exceeded.

Set to true if you want the server to send a message to the log file when a thread pool that is allowed to grow increases beyond its configured maximum size.


com.ibm.ws.scripting.apptimeout

Specify, in seconds, the length of time that can elapse before an application installation, or an application update times out. Default is 86400, which is equivalent to 24 hours.

Specify a reasonable value for this property prevents the installation, or update process from continuing indefinitely when a situation occurs that prevents the installation, or update script from completing. For example, you might have a JACL script that updates an EAR file that cannot complete because the deployment manager the script is connected to stops.


com.ibm.ws.sib.webservices.useSOAPJMSTextMessages

By default on WAS v6 or later, a SOAP over JMS web service message sent by the web services gateway is sent as a JmsBytesMessage.

Set to true to modify the default behavior and send a compatible JmsTextMessage. Setting this property modifies the default behavior for all outbound JMS web services invocations sent from the service integration bus.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.use602RequiredAttrCompatibility

Use the com.ibm.ws.use602RequiredAttrCompatibility custom property to specify whether the <required> attribute is evaluated prior to other attributes in the cachespec.xml file.

In v6.0.2, if you set the <required> attribute to false, then all of the other attributes within the cachespec.xml file are ignored and a cache ID is generated.

For transitioning users: In versions later than 6.0.2, by default, the <required> attribute is evaluated along with all of the other attributes to determine if a cache ID is generated.trns

If you set the com.ibm.ws.use602RequiredAttrCompatibility custom property to true, then the behavior of the cachespec.xml file is reverted back to the behavior in v6.0.2. The <required> attribute is evaluated prior to other attributes in the cachespec.xml file. Default is false.When you set this JVM custom property, which only applies to the application server level, it affects all of the dynamic cache users.

If you decide to use this custom property, specify it as an application server JVM custom property unless otherwise indicated within the context of a specific task.


com.ibm.ws.webservices.allowNoSOAPActionHeader

Use this property to enable the web services engine to tolerate an incoming web service request that does not contain a SOAPAction header. This property must be set at the application server level.

The SOAP specification states that an HTTP request message must contain a SOAPAction HTTP header field with a quoted empty string value, if in the corresponding WSDL description, the soapAction of soapbind:operation is either not present, or present with an empty string as its value. However, if you want the web services engine to handle requests that do not contain a SOAPACTION header, add this property to the application server settings and set it to true.

When this property is not specified, or is not set to true, if an incoming SOAP request message does not contain a SOAPAction header, a SOAP Fault is returned to the client

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.allowStatusCode202OneWay

Use this property to allow a JAX-RPC one-way service to send a 202 status code instead of a 200 status code.

A JAX-RPC one-way service deployed on WAS normally returns a 200 HTTP status code. Some JAX-RPC implementations cannot tolerate a 200 status code, preferring a 202 instead. According to the Basic Profile v1.1, both 200 and 202 are valid status codes for one-way services.

If the property is set to true, then the JAX-RPC one-way service returns a 202 status code.

Default is false.

This property only applies to the application server JVM.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.appendRootCauseToWSF

If you are a JAX-RPC user, use this property to specify whether you want the Fault details for an exception, that are returned in a response, to contain information about the original exception

Typically, the Fault details for an exception, that are returned in a response, only contains information about the most recent exception. It does not contain information about the original exception, which usually is not the most current exception. Frequently, an exception triggers other exceptions before the Fault details are returned in a response. This discrepancy can make problem determination more difficult for the end user if that person does not have access to the logs from the service provider.

If the end user needs to be able to see the exception details for all of the exceptions associated with a problem, this custom property should be set to true for the JVM on the service provider's application server. When true on the service provider's application server, the application server loops though all the exception causes, and concatenates the details of each exception into the Fault details that are returned in the response.

Default is false.

If you decide to use this custom property, specify it as a JVM custom property for an application server.


com.ibm.ws.webservices.contentTransferEncoding

Specify a range of bits for which .XML-encoding is disabled.

Typically any integer that is greater than 127 is XML-encoded. When we specify this property:

Specify 7bit, if you only want integers greater than 127 encoded. Specify 8bit, if you only want integers greater than 255 encoded. Specify binary, if you want encoding disabled for all integers.

Default is 7bit.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.disableSOAPElementLazyParse

Disable lazy parsing of SOAPElements. Lazy parsing is designed for situations where the client is not parsing the SOAPElement. If a client is parsing the SOAPElement with SAAJ, it is better to not delay parsing by the web services component.

We can set this property as a JVM custom property at either the server or client level. When this property is set at either the server or client level, the setting applies to all applications on the JVM. Default is false.

We can also use an application assembly tool to specify this property as a new web service description binding entry for the port component binding, to disable lazy parsing of SOAPElements on an application-by-application basis for a particular server, instead of for all of the servers that are managed by the deployment manager.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.engine.transport.jms.propagateOneWaySystemExceptions

Use this property to enable exceptions that occur during the processing of a one-way JMS Web service to be propagated back to the EJB container. This propagation makes normal error recovery possible.

If false, an exception is wrapped in a WebServicesFault message and sent back to the client. Because the Web service is not aware of the exception, no recovery is attempted.

Default is false.

This property does not apply to a one-way HTTP Web service, or to two-way JMS requests.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.forceLegacyDispatchFromSOAPConnection

Specify the JAX-RPC engine is to be used to process outgoing requests for SOAP with Attachments API for Java (SAAJ) clients, instead of the JAX-WS engine.

This property does not apply to web services clients that use the JAX-RPC or JAX-WS APIs to invoke web services. When the JAX-WS engine is used to process client requests, the outcome might be different than when the JAX-RPC engine is used. For example, some SAAJ clients set the SOAPAction header as a MIME header, using the SAAJ APIs. When the JAX-RPC engine is used to process such a request, this SOAPAction header with its user-set value is sent in the request. However, if the JAX-WS engine is used to process the same request, an empty SOAPAction header is sent in the request. If you are used to having the JAX-RPC engine process SAAJ client requests and want to preserve this behavior, add this property to your JVM settings and set it to true.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.HttpRedirectWithProxy

Set to true to allow HTTP redirect requests to be sent through the proxy server. When you set this property to true, you change the default behavior for all outbound HTTP redirect requests sent from the JAX-RPC runtime. When false, a redirect request is sent to a remote server directly even though a proxy server is configured.

Default is false.

If you decide to use this custom property, specify it as an proxy server JVM custom property.


com.ibm.ws.webservices.ignoreUnknownElements

Use this property to control whether clients can ignore extra XML elements that are sometimes found within literal SOAP operation responses.

Setting this property to true provides you with the flexibility of being able to update your server code to include additional response information, without having to immediately update your client code to process this additional information. However, when this functionality is enabled, the checking of SOAP message against the expected message structure is more relaxed than when this property is set to false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.jaxrpc.parse.tolerate.invalid.namespace

Use this property to enable the JAX-RPC engine to use a more tolerant algorithm when determining whether to accept an incoming JAX-RPC message.

Typically, if an incoming JAX-RPC message uses an invalid namespace for a body element, the JAX-RPC engine rejects the message. If you set this property to true, the JAX-RPC engine uses a more tolerant algorithm that ignores the namespace mismatch.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.resolveXMLSchemaDTD

Use this custom property to enable a JAX-RPC application to properly start even if the schema or WSDL file that is represented in the _AbsoluteImportResolver class also references the http://www.w3.org/2001/XMLSchema.dtd DTD.

When you run on a host not connected to the Internet, a JAX-RPC application that is packaged with the _AbsoluteImportResolver class might not start properly. The following error might exist in the log files:

WSDDPort      W com.ibm.ws.webservices.engine.deployment.wsdd.WSDDPort expand 
WSWS3114E: Error: Internal error.
java.net.UnknownHostException: www.w3.org

Setting this custom property to true enables a JAX-RPC application to properly start even if the schema or WSDL file that is represented in the _AbsoluteImportResolver class also references the http://www.w3.org/2001/XMLSchema.dtd DTD.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.searchForAppServer

Use this property to control whether DualMetaDataLoaderImpl E loadWebContainerPorts could not find any http or https ports messages are sent to the system log.

Depending on the system configuration, if a web services application is installed across both a web server and an application server, the system might issue this message, indicating that an error occurred even though this is a valid configuration. Therefore if you install any of the web services applications across both a web server and an application server, you might not want these messages sent to the system log.

If the com.ibm.ws.webservices.searchForAppServer property is set to true, any DualMetaDataLoaderImpl E loadWebContainerPorts could not find any http or https ports messages issued are not sent to the system log. If this property is not specified or is set to false, these messages are sent to the system log.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.serialize.2DimArray.asArrays

Use this property to cause the JAX-RPC runtime to serialize two-dimensional XML arrays as a series of arrays.

If you decide to use this custom property, specify it as an application server JVM custom property.

Default is false.

The following message snippet illustrates a series of elements, which is a valid format for representing two-dimensional XML arrays when this property is set to false.

<p565:sayHelloResponse xmlns:p565="http://ibm.com">     <sayHelloReturn xsi:type="soapenc:Array" 
soapenc:arrayType="xsd:string[2,3]">       <item xsi:type="xsd:string">array1 element1</item>       <item xsi:type="xsd:string">array1 element2</item>       <item xsi:type="xsd:string">array1 element3</item>       <item xsi:type="xsd:string">array2 element1</item>       <item xsi:type="xsd:string">array2 element2</item>       <item xsi:type="xsd:string">array2 element3</item>     </sayHelloReturn>   </p565:sayHelloResponse>

The following message snippet illustrates an array of two arrays, with each array containing three elements, which is a valid format for representing two-dimensional XML arrays when this property is set to true.

<p565:sayHelloResponse xmlns:p565="http://ibm.com">     <sayHelloReturn xsi:type="soapenc:Array" 
soapenc:arrayType="xsd:string[][2]">       <item soapenc:arrayType="xsd:string[3]">          <item>array1 element1</item>          <item>array1 element2</item>          <item>array1 element3</item>       </item>       <item soapenc:arrayType="xsd:string[3]">          <item>array2 element1</item>          <item>array2 element2</item>          <item>array2 element3</item>       </item>     </sayHelloReturn>   </p565:sayHelloResponse>


com.ibm.ws.webservices.serializeDetailElementUsingDefaultNamespace

Specify whether the application server uses an actual prefix name to locate the namespace that defines the Fault detail, or uses a default namespace to define the Fault detail.

When a JAX-RPC Web service responds with a SOAP Fault, an actual prefix name is typically used to locate the namespace that defines the contents of the Fault detail. Following is an example of the message the application server typically issues in this situation:

<soapenv:Fault                                      
      xmlns:soapenv=
      "http://schemas.xmlsoap.org/soap/envelope/">      
  <faultcode xmlns="http://sample">       
     sampleFault                          
  </faultcode>                                              
  <faultstring>sample text</faultstring>                      
  <detail encodingStyle="">                                
    <sampleFault                        
      xmlns="http://sample"> 
      ...
    </sampleFault>   </detail> <soapenv:Fault>   

If the application server needs to communicate with .Net clients, and these .Net clients require the use of a default namespace to define the contents of the Fault detail, set this property to true. When true, the message the application server issues is similar to the message sent from a version previous to a v6.x application server.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.webservices.suppressHTTPRequestPortSuffix

Use this property to control whether a port number can be left in an HTTP POST request that sends a SOAP message.

Some web service implementations do not properly tolerate the presence of a port number within the HTTP POST request that sends the SOAP message. If we have a web service client that needs to interoperate with web service that cannot tolerate a port number within an HTTP POST request that sends a SOAP message, set this custom property to true.

When you set this property to true, the port number is removed from the HTTP POST request before it is sent.

Restart the server before this configuration setting takes affect.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.websvcs.attachments.sizethreshold

Specify, in bytes, the maximum size of an attachment on the JAX-WS client or service that can be written to memory. By default, the maximum attachment size is set to 102400 bytes. With this value, if an attachment exceeds 100 KBs, it is cached to the file system instead of written to memory. When we use this custom property, as you increase the maximum cache size, there is a greater impact on performance and, potentially, to the Java heap.

To specify the maximum size of an attachment on the JAX-RPC client or service, see the com.ibm.websphere.webservices.attachements.maxMemCacheSize custom property.

If you decide to use this custom property, specify it as an application server JVM custom property.

com.ibm.ws.websvcs.getJAXBContext.cacheClassList

Use this property to cache a list of the JAXB classes contained in a package.

Typically, when building a JAXBContext, if a package does not contain either a ObjectFactory or package-info class file, the package is searched for all potential JAXB classes. This search process can be time consuming and can be delayed by JAR file locking. Set to true to cache the class list for each package, eliminating the need for subsequent searches of the same package. Later JAXBContext creation requests retrieve the cached version of the class list instead of initiating a new search.

Because the class list cache is created using a SoftReference, the cache can be released if available memory becomes low.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.

com.ibm.ws.websvcs.getJAXBContext.cacheClassList.persist

Use this property to create a disk cache of the JAXB classes contained in a package.

Typically, when building a JAXBContext, if a package does not contain either a ObjectFactory or package-info class file, the package is searched for all potential JAXB classes. This search process can be time consuming and can be delayed by JAR file locking. Set to true to create a disk cache of the class list for each package, eliminating the need for subsequent searches of the same package. Later JAXBContext creation requests retrieve the cached version of the class list instead of initiating a new search.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.websvcs.suppressHTTPRequestPortSuffix

Use this property to prevent the JAX-WS runtime from appending the port number to the HTTP Host header value to a request.

A JAX-WS client might receive a java.io.IOException in response to a request, especially if there is a non-IBM web server located between the client and the web service the client is trying to call. This intermediary server might not understand where to route the request because the JAX-WS runtime has appended the port number to the HTTP Host header value. For example, JAX-WS runtime might have changed the header value from the endpoint URL lilygirl.austin.mycompany.com to the URL lilygirl.austin.mycompany.com:80, which includes the port number.

To prevent the JAX-WS runtime from appending the port number to the HTTP Host header value, add this custom property to your JVM settings, and set it to true. When true, the Host header only contains the hostname of the endpoint URL; for example, Host: lilygirl.austin.mycompany.com

The default value for this property is false, which means that, the port number is appended to a Host header value.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.websvcs.transport.enableProxyTunnel

Set to true to enable the Web services client to access resources through a Web proxy server. Default is false. which indicates that tunneling is not to be used in the web services transport layer for proxies.

Example: By leaving the default setting of false, a JAX-WS web service client that attempts to call a remote web service over HTTPS experiences an exception when the call is directed through an HTTP server that is configured as a forward proxy.

Default is false.

If you decide to use this custom property, specify it as an proxy server JVM custom property.


com.ibm.ws.websvcs.relaxClientPolsetMatching

Use this property to allow JAX-WS client side policy sets to be applied at the service or lower level through the dmgr console when the client code spans more than one archive file.

Default is false.


com.ibm.ws.websvcs.transport.jms.enableBasicAuthOnResponse

Specify whether the JMS policy set basic authorization userid and password is applied to JMS response messages. By default, the JMS policy set basic authorization userid and password are not applied to JMS response messages.

If you add this property to your JVM settings, and specify true as the value of this property, the JMS policy set basic authorization userid and password is applied to JMS response messages. If false, neither the userid nor the password is applied.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.websvcs.unmanaged.client.dontUseOverriddenEndpointUri

You might want a request by an unmanaged JAX-WS client service to be sent to the endpoint URL specified in the Overridden endpoint URL field on the dmgr console. The value of this managed field, which is set as part of the web services client port configuration, overwrites the endpoint specified in the WSDL file. For more information on this field, read about the web services client port.

If we have either all managed clients or a mixture of both managed and unmanaged clients, we can edit the Overridden endpoint URL field in the dmgr console. However, if we do not have any managed clients, we cannot edit the field.

Normally, we do not want an unmanaged JAX-WS client service to access this managed client service function. However, you might depend on unmanaged JAX-WS client services accessing this URL. By default, the com.ibm.ws.websvcs.unmanaged.client.dontUseOverriddenEndpointUri custom property is set to false to allow unmanaged JAX-WS client services to access the endpoint URL that overwrites the endpoint in the WSDL file.

This custom property is set on the application server level where a JAX-WS client is installed or a Java EE client exists if you run the launchClient.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.ws.ws.wsba.protocolmessages.twoway

Use this property to improve the performance of an application server that is handling requests for Web Services Business Activities (WS-BA). Specifying true for this custom property improves application server performance when WS-BA protocol messages are sent between two application servers. Default is true.

If you decide to use this custom property, the property must be set on the application server that initiates the requests. It does not have to be set on the application server that receives the requests.

If you decide to use this custom property, specify it as an application server JVM custom property.


com.ibm.wsspi.amm.merge.ignoreValidationExceptions

Use this custom property to indicate to the JVM that it should ignore validation exceptions that might occur during EJB processing. When an application is configured with necessary classes defined in shared libraries during EJB processing, incomplete information may be generated. As a result, a validation exception might occur and the following exception message may appear:

AnnotativeMetadataManagerImpl merge caught exception while merging com.ibm.wsspi.amm.validate.ValidationException: 
the interface com.xyz.app.myappRemote does not define a valid remote business interface; the method mygetMethod does not conform to RMI rules.

Set to true if you want the JVM to ignore these validation exceptions.

Default is false.

If you decide to use this custom property, specify it as a JVM custom property for the application server.


com.ibm.wsspi.wssecurity.dsig.enableEnvelopedSignatureProperty

Use this custom property to indicate to the JVM you want the WS-Security runtime to verify an XML Digital Signature in the same manner as it did in Versions 7.0.0.21 and earlier, and 8.0.0.3 and earlier.

This property should only be set to true if the environment includes a cell that has application servers at different fix pack levels, and you are encountering compatibility problems.

In Versions 7.0.0.21 and earlier, and 8.0.0.3 and earlier, when WS-Security verifies an XML Digital Signature that uses the http://www.w3.org/2000/09/xmldsig#enveloped-signature transform algorithm, and the signed element has attributes with a namespace prefix, a Digest value mismatch error message, similar to the following error message, might occur:

SAML Assertion signature is verified.Core validity=false
Signed info validity=true Signed info
message='null'(validity=false message='Digest value mismatch:
calculated: KCuNwlUAk5+G2PYb8fZ+Y1hTMtw='
uri='#Assertion-1234' type='null')

If an element to be signed contains an attribute with a namespace prefix, the WS-Security runtime canonicalizes the element before calculating the digest value.

In this version of the product and in Versions 7.0.0.23 and higher and 8.0.0.4 and higher, the WS-Security runtime properly handles element attributes with namespace prefixes.

If you decide to use this custom property, specify it as a JVM custom property for the application server.


com.ibm.xml.xlxp.jaxb.opti.level

Use the com.ibm.xml.xlxp.jaxb.opti.level custom property to control whether optimization methods are enabled for JAXB unmarshalling (deserialization) and marshalling (serialization). The following table lists the supported values for this custom property and their effect on applications and web services.

Supported values for the custom property. The table includes the custom property value and the effect of the custom property on applications and web services.

Custom property value Effect
com.ibm.xml.xlxp.jaxb.opti.level=0 Optimization methods are not enabled.
com.ibm.xml.xlxp.jaxb.opti.level=1 Only unmarshalling optimization methods are enabled.
com.ibm.xml.xlxp.jaxb.opti.level=2 Only marshalling optimization methods are enabled.
com.ibm.xml.xlxp.jaxb.opti.level=3 Both unmarshalling and marshalling optimization methods are enabled, which is the default value.

For optimum performance, set the custom property value to 3. This value increases throughput for web services and applications that use JAXB directly. If you are experiencing issues with optimization after setting this value, change the value to 0 as a temporary workaround.

We can set this custom property on the application server level only.


config_consistency_check

Use this property to optionally turn off the default workspace consistency process. The deployment manager maintains a master configuration repository for the entire cell. By default, when the configuration changes, the product compares the configuration in the workspace with the master repository to maintain workspace consistency. However, the consistency verification process can cause an increase in the amount of time to save a configuration change or to deploy a large number of applications. The following factors influence how much time is required:

If the amount of time required to change a configuration change is unsatisfactory, we can add the config_consistency_check custom property to your JVM settings and set the value of this property to false.

The config_consistency_check custom property affects the deployment manager process only. It does not affect other processes including the node agent and application server processes. The consistency check is not performed on these processes. However, within the SystemOut.log files for these processes, you might see a note the consistency check is disabled. For these non-deployment manager processes, we can ignore this message.


deactivateWildCardURIMapping

Use this property to enable the plugin-cfg.xml file generator to recognize the URI patterns specified on the file.serving.patterns.allow attribute in the ibm-web-ext.xmi file for a web application.

The plugin-cfg.xml file generator only recognizes the URI patterns specified on the file.serving.patterns.allow attribute if the FileServingEnabled attribute in that ibm-web-ext.xmi file is set to true. However, when the the FileServingEnabled attribute is set to true, the plugin-cfg.xml file generator automatically adds the wildcard URI mapping, /* , to the plugin-cfg.xml file, which negates the usefulness of defining unique file serving patterns.

Setting the the deactivateWildCardURIMapping property to true prevents the plugin-cfg.xml file generator from adding the /* to the plugin-cfg.xml file, and enables the plugin-cfg.xml file generator to recognizes the URI patterns specified on the file.serving.patterns.allow attribute. If this property is not added to the JVM settings, or is set to false , the /* is automatically added to the plugin-cfg.xml file.


DISABLE_LOCAL_COMM_WHEN_SSL_REQUIRED

Whether localComm or SSL should be used when transport level SSL is supported on the client or server side, and is required on the other side.

localComm should not be used when transport level SSL is supported on the client or server side, and is required on the other side. In this situation, you should set this custom property to true to ensure that SSL is used instead of localComm.

The default value for this property is false, which means that localComm is used.

If you decide to use this custom property, specify it as an application server JVM custom property.

When we specify this property for an application server:


disableWSAddressCaching

Disable address caching for web services. If the system typically runs with lots of client threads, and you encounter lock contention on the wsAddrCache cache, we can set this custom property to true, to prevent caching of the web services data.

Default is false.


DRS_BATCH_INTERVAL_SIZE

Maximum number of objects that can be included in a batch of Data Replication Service (DRS) replicated HTTP session data. If there are less then the specified number of objects in the HTTP session data being replicated, all of the session data is replicated in a single batch.

By default, DRS replicates 50 HTTP session data objects in a batch. Because serializing a large message can cause an out-of-memory condition, you might want to include a smaller number of objects in each batch, especially if we have application servers that join established, fully-populated, replication domains.

If you decide to use this custom property, specify it as an application server JVM custom property.


DRS_THREADPOOL_MINSIZE

Minimum number of threads to allow in the data replication service (DRS) thread pool.

When an application server starts, threads are not initially assigned to the thread pool. Threads are added to the thread pool as the workload assigned to the application server requires them and until the number of threads in the pool equals the number of threads specified by this custom property. After this point in time, additional threads are added and removed as the workload changes. However, the number of threads in the pool never decreases below the number specified by this custom property, even if some of the threads are idle.

The default value for this custom property is 40 threads.

If you decide to use this custom property, specify it as an application server JVM custom property.


DRS_THREADPOOL_MAXSIZE

Maximum number of threads to maintain in the DRS thread pool.

The default value for this custom property is 100 threads.

If you decide to use this custom property, specify it as an application server JVM custom property.


DRS_THREADPOOL_ISGROWABLE

Whether the number of threads can increase beyond the maximum size that is configured for the DRS thread pool.

Maximum number of threads that can be created is constrained only within the limits of the Java virtual machine and the operating system. When a thread pool, that is allowed to grow, expands beyond the maximum size, the additional threads are not reused and are discarded from the pool after processing the work items for which they were created is completed.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


java.util.logging.configureByLoggingPropertiesFile

Specify whether the JVM uses the logging.properties file to configure JSR-47 logging.

If this property is not added to the JVM configuration settings, or is set to false, the configuration settings contained in the logging.properties file are not picked up because the product overrides the base JSR47 logging configuration with the java.util.logging.manager=com.ibm.ws.bootstrap.WsLogManager system property setting. In this situation, only logging settings that can be changed programmatically, such as the addition of handlers, and formatters, can be modified.

When this property is set to true, the JVM still configures the WsLogManager as the LogManager, but during server startup, the logging configuration for applications using JSR-47 logging is initialized based on settings in the logging.properties file. Refer to the Java Utility Logging API documentation for valid logging properties and format that can be specified in the logging.properties configuration file.

Do not assign java.util.logging.ConsoleHandler to any of the loggers because this assignment can cause an infinite loop.

The logging.properties file is located in the <<WAS_install>>/java/jre/lib/logging.properties directory, and can be customized as needed.

Default is false.

jaxws.asyncClient.maxThreadPoolSize

Use this property to limit the number of concurrently executing threads for JAX-WS async client requests.

By default the number of threads is not limited.

If you decide to use this custom property, specify it as an application server JVM custom property.

jaxws.handler.reducecaching

Use this property to ensure that JAX-WS handlers correctly update SOAP messages.

SOAP messages that are updated by a JAX-WS handler appear correct when dumped in the handler, but when a message is sent, the changes are missing. Set to true if your handler calls getMessage() multiple times and messages are lost.

This property is not compatible with modifying SOAP headers directly through JAX-WS message context properties. Using both types of message modification might cause information loss.

Default is false.


jaxws.ignore.extraWSDLOps

Use this property if there are more operations in the WSDL than built into the client.

Default client behavior is to validate the operations built into the client against the operations in WSDL and fail if they do not match. Set to true if there are more operations in the WSDL than built into the client and the WSDL validation will succeed and the client can be invoked.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.

jaxws.JAXBContext.permStoreCostThresholdMsec

Use this property to enable caching of JAXBContext objects that require more than the specified amount of time to construct.
JAX-WS web services or clients might experience delays during execution when constructing JAXBContext objects that handle hundreds of classes. Caching time-intensive JAXBContext objects accelerates web service and client execution by eliminating the need to reconstruct the JAXBContext object upon each use.

Set to a value, in milliseconds, that is greater than 0 to enable caching of JAXBContext objects that require more than the specified amount of time to construct. The cache persists until the JVM is restarted. The recommended value is 5000 milliseconds or greater.

Default is 0, which does not enable caching.

If you decide to use this custom property, specify it as an application server JVM custom property.

jaxws.JAXBContext.permStoreMaxSize

Set to an integer value to specify the maximum number of entries in the JAXBContext cache. If the cache becomes full, stale entries are replaced first, followed by the entry with the lowest construction time.

Default is 32.

This property modifies the cache created by property jaxws.JAXBContext.permStoreCostThresholdMsec

jaxws.JAXBContext.permStoreStaleThresholdHours

Set to a value, in hours, after which an entry in the JAXBContext cache that has not been accessed is considered stale. If the cache becomes full, stale entries are replaced first.

Default is 24 hours.

This property modifies the cache created by property jaxws.JAXBContext.permStoreCostThresholdMsec


jaxws.payload.highFidelity

Use this property to enable lossless transformations. When true, the Web Service runtime guarantees the incoming message and the message at the SOAPHandler boundary are the same.

Typically, the SOAP message received by a JAX-WS SOAPHandler is not exactly the same as the inbound SOAP message. For example, the message received by the JAX-WS SOAPHandler might use different xml prefixes than the original inbound message. These subtle changes do not affect the logical interpretation of the message. However, add this property to your JVM settings and set the property to true if messages at the SOAPHandler boundary must be exactly the same as the incoming messages. For example, the Canonicalization Specification (C14N) requires the prefix names are preserved.

Best practice: You should only use this property if your SOAP requests access the contents of a soapenv:Body element within your SOAPHandlers. Setting the property to true might degrade Web Service runtime performance.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


jaxws.provider.interpretNullAsOneway

If we have a JAX-WS web service that defines a Provider-based endpoint using the javax.xml.ws.Provider annotation and a WSDL file is not specified, we can use this custom property to control how the JAX-WS runtime environment behaves when the Provider returns a null value from the invoke() method. By default, the runtime environment will send back a response that consists of a SOAPEnvelope containing an empty SOAPBody element.

If true, whenever the Provider implementation returns a null value and a WSDL file is not defined, the runtime environment interprets the null value returned from the Provider implementation as a request-only operation so that no response is returned. As with all request-only operations, some qualities of services, such as WS-Transactions, will not be available.

If the javax.xml.ws.WebServiceProvider annotation specifies a WSDL value and the WSDL defines a request and response operation, the JAX-WS runtime environment always returns a response that consists of a SOAPEnvelope containing an empty SOAPBody, regardless of the setting of this property.

Default is false.

Set this property to true for each server that requires a change in the default value.

If you decide to use this custom property, specify it as an application server JVM custom property.


jaxws.runtime.inheritedImplMethodsAccessible

Use this property to revise the web service runtime to allow inherited methods to be invoked. This behavior change is enabled by setting the property to true.

If you decide to use this custom property, specify it as an application server JVM custom property.


jaxws.runtime.restrictStaticWebmethod

Use this property to prevent exposure of static operations. When true, the JAX-WS runtime prevents the exposure of static operations.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


jaxws.share.dynamic.ports.enable

Specify the visibility of dynamic ports across JAX-WS web services.

By default, dynamic ports are visible only to the instance of the service that created the port. Set to true to share dynamic ports across web services.

If you decide to use this custom property, specify it as an application server JVM custom property.


jaxws.soapfault.local.exceptions.disable

Use the jaxws.soapfault.local.exceptions.disable property to prevent locally occurring exceptions on a JAX-WS client from being treated as a SOAPFault. By default, if a JAX-WS client encounters a local exception, a SOAPFault is created for the exception. An example of a local exception is a ConnectException caused by an invalid host or port. The relevant JAX-WS application handlers handleFault methods are called with the SOAPFault, then a SOAPFaultException is thrown back through the JAX-WS client's invoked method.

By setting this property to true, local exceptions create an empty message. The relevant JAX-WS application handlers handleMessage methods are called with the empty message, then a WebServiceException is thrown back through the JAX-WS client's invoked method. This was the behavior in previous releases.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.


ODCClearMessageAge

Use this property to establish a length of time, specified in milliseconds, after which an ODC message is removed from the bulletin board, even if the receiver has not acknowledged the message. Specifying a value for this property helps prevent the build up of messages that, for some reason, do not get acknowledged.

We can specify any positive integer as a value for this property, but a value of 300000 (5 minutes) or higher is recommended to avoid premature removal of messages.

Default is 300000 milliseconds.


ODCInit.disabled

Set to true to disable the communication between processes for the On Demand Configuration (ODC) component, and for all local ODC processing.

The on demand configuration component is used when deploying Web services-based applications, and when using a WAS Proxy Server to handle requests. The on demand configuration component is enabled or disabled on a cell-wide basis. If your topology contains any proxy servers, or any web services based applications, you should not disable the on demand configuration service.

If you are running in a large topology environment where Web services-based applications are not deployed, or WAS Proxy Servers are not used to handle requests, the on demand configuration component is not utilized, and we can set this property to true. Setting this property to true disables the on demand configuration component, which will reduce network bandwidth and CPU utilization.

Default is false.


org.apache.axiom.attachments.tempfile.expiration

If excessive accumulation of temporary files of the form AxisXXXXXX.att occurs, set this property to a value in seconds after which the JAX-WS runtime should delete these temporary files used for storing MTOM attachments.

Default is 0. Files are deleted when the JVM exits.


org.eclipse.jst.j2ee.commonarchivecore.disableZip

Use this custom property to allow ZIP archives to be processed as simple files.

Set to true to allow ZIP archives to be processed as simple files when scanning the files of a deployed application.

Default is false.

This property must be set as a custom property for the IBM WAS process which runs applications for which ZIP files are to be ignored.


org.eclipse.jst.j2ee.commonarchivecore.FILTERBINARIES

Prevent certain application files from being listed during runtime processing.

Because of new JavaEE5 annotations processing requirements, more application files are typically listed during runtime processing than are listed in previous versions of the product. The additional listing might cause applications that are migrated from previous versions of the product to start more slowly, as additional time is spent listing application files.

Default is not set.

If you decide to use this custom property, specify it as an application server JVM custom property.

org.eclipse.jst.j2ee.commonarchivecore.PM62467.Disabled

Specify the behavior that occurs when an archive entry path contains a value not allowed.

When an application is deployed in WAS, the contents of the application archive and module files are extracted to the installedApps directory of the application server profile using the files' archive entry paths. Application files must be extracted to the installedApps directory, but if a file's archive entry path contains the value ../, the archive files could be extracted to another directory. If this custom property is false and the archive entry path contains the value ../, an ArchiveRuntimeException occurs and archive processing stops. Set to true to log a warning message and continue deploying the application.

Default is false.

If you decide to use this custom property, specify it as an application server JVM custom property.

plugin.syncdisabled

Use this custom property to disable the node synchronization called by the web server plug-in configuration propagation.

When true, web server plug-in configuration changes are not automatically synchronized across the node. This means that any web server plug-in configuration changes made are not propagated to the web server until we do a manual synchronization.

Default is false.

If you decide to use this custom property, specify it as a node JVM custom property.


sizeThreshold

Use this property when we want to control the algorithm for caching attachments in the JAX-WS runtime environment. When SOAP messages are processed by the JAX-WS runtime environment, the runtime environment stores small attachments in memory and stores large attachments in a file on a disk.

Specify, in kilobytes, the maximum size of an attachment that can be written to memory. If we do not specify a value for this property, the default value is 32. This default value specifies that any attachment that is less than 32 KB is stored in memory.

If the value of this property is increased, larger attachments are stored in memory. Increased values might increase the performance of the web service; however, this increased value causes the Java heap to grow. Setting the value too high might cause OutOfMemoryError errors to occur.

When determining a value for this property, remember the larger the maximum cache size, the greater the impact on performance, and, potentially, to the Java heap. Use this property only for Java and performance tuning.

This property does not affect the logical processing of JAX-WS web services. Your JAX-WS web services will successfully process SOAP messages containing both large and small attachments, regardless of the setting of this property.

threadpool.maxsize

Use this property to control the number of threads that can be included in a newly created thread pool. A dedicated thread is created to start each application server JVM. The JVMs with dedicated threads in this thread pool are the JVMs that are started in parallel whenever the node agent starts.

We can specify an integer from 0 - 5 as the value for this property. If the value we specify is greater than 0, a thread pool is created with that value as the maximum number of threads that can be included in this newly created thread pool. The following table lists the supported values for this custom property and their effect.

Supported values for threadpool.maxsize. The table includes the custom property value and the effect of the custom property.

threadpool.maxsize value Effect
Property threadpool.maxsize is set to 0 or not specified. The node agent starts up to five JVMs in parallel.
Property threadpool.maxsize is set to 1. The node agent starts the JVMs serially.
Property threadpool.maxsize is set to an integer value between 2 and 5. The node agent starts a number of JVMs equal to the specified value in parallel.

For example, suppose the node agent has ten JVMs that are set as running state, which means they are started whenever the node agent starts. If we specify 3 for this property, whenever you stop and start the node agent, only three of the ten JVMs are started in parallel when the node agent starts.

This property is not specified by default. If you decide to use this custom property, specify it as a node agent JVM custom property.


webservices.unify.faults

Use the webservices.unify.faults property to disable SOAP Fault unification for JAX-WS and JAX-RPC. By default, the web service runtime environments (both JAX-WS and JAX-RPC) unify all faults generated by the runtime environment to a single type of fault containing a faultcode of Server and a faultstring of Internal Error. The faults do not contain any additional information identifying the actual cause of the fault. The unification of faults results in a more secure system, preventing detailed information regarding why inbound message processing failed from being returned to message senders.

The default value for this property is true, which causes faults to be unified. If the applications require fault details, then we can set this property to false to disable fault unification, allowing detailed information to be returned in faults. Note that regardless of the property setting, checked exceptions defined in the WSDL and thrown by a service provider method implementation are not unified. Additionally, detailed information regarding the cause of the fault are logged if trace is enabled, regardless of the setting of this property.

This property and the associated behavior is new in v8 of the product.


wink.client.readTimeout

Specify how long the RestClient object waits (in milliseconds) for a response to requests before timing out. A value of zero (0) means the client waits for an unlimited amount of time and will not timeout.

Default is 60,000 milliseconds.


wink.client.connectTimeout

Specify how long the RestClient object waits (in milliseconds) before timing out when attempting to connect to the target resource. A value of zero (0) means the client waits for an unlimited amount of time and will not timeout.

Default is 60,000 milliseconds.


Related


Custom property settings
Configure inbound transports
Configure SOAP over JMS message types
Tune the IBM virtual machine for Java


Reference:

HTTP transport custom properties for web services applications


+

Search Tips   |   Advanced Search