Configuration Overrides for Web Services

Some Web services consumer implementations do not allow use of attachments in SOAP message format.

About this task

As a solution, you can override values of some properties in the soa.properties.in file. This file contains several override values that allows you to control the generation of WSDL and the operation of the service provider.

There are two soa.properties files, soa.properties.in, which is the initialization properties file, and soa.properties, which is the operations properties file. These are located in the /install_dir/properties directory.

It is extremely important to ensure that you add the records to the initialization file, soa.properties.in, not to the operations file.

Each time you run the setupfiles command in Sterling B2B Integrator, all operations files are updated with the information contained in their initialization (.in) files. This means that if you make changes to the operations file, soa.properties, they are lost each time setupfiles command is run. Always make changes to the initialization file, soa.properties.in, to maintain the changes.

To edit the soa.properties.in file:

Procedure

  1. In the /install_dir/properties (\install_dir\properties for Windows) directory, locate the soa.properties.in file.
  2. Open the file using a text editor and modify the file based on your requirements.
    The following list of properties contains descriptions for each of the values that should only be changed when instructed to do so by IBM® Customer Support, or by expert users:

    Property

    Description

    useCache=true

    Indicates that generated WSDL will be cached by Sterling B2B Integrator to speed up retrieval.

    class.wsdl=com.sterlingcomerce.server.services.soa.util.WSDLServiceInfo

    Class used by Service Info service to generate WSDL.

    Note: Do not change this property.

    class.xml=com.sterlingcomerce.server.services.soa.util.XMLServiceInfo

    Class used by Service Info service to generate raw XML representation of services.

    Note: Do not change this property.

    wsdlMessage=/wsdl:definitions/wsdl:message

    XPath entry of the message element within a WSDL which will be required during insertion of the <wsi:Claim> element within the message element. The presence of this element indicates the WS-I conformity of the message node in the generated WSDL.

    Note: Do not change the value of this property. Removal of this property indicates that the message node in the WSDL generated by Sterling B2B Integrator is not WS-I compliant.

    wsdlportType=/wsdl:definitions/wsdl:portType

    XPath entry of the portType element within a WSDL which will be required during insertion of the <wsi:Claim> element within the portType element. The presence of this element indicates the WS-I conformity of the portType node in the generated WSDL.

    Note: Do not change the value of this property. Removal of this property indicates that the portType node in the WSDL generated by Sterling B2B Integrator is not WS-I compliant.

    wsdlBinding=/wsdl:definitions/wsdl:binding

    The XPath entry of the binding element within a WSDL which will be required during insertion of the <wsi:Claim> element within the binding element. The presence of this element indicates the WS-I conformity of the binding node in the generated WSDL.

    Note: Do not change the value of this property. Removal of this property indicates that the binding node in the WSDL generated by Sterling B2B Integrator is not WS-I compliant.

    wsdlOperation=/wsdl:definitions/wsdl:portType/wsdl:operation

    The XPath entry of the operation element within a WSDL which will be required during insertion of the <wsi:Claim> element within the operation element. The presence of this element indicates the WS-I conformity of the operation node in the generated WSDL.

    Note: Do not change the value of this property. Removal of this property indicates that the operation node in the WSDL generated by Sterling B2B Integrator is not WS-I compliant.

    defaultBaseURL=http://&HOST_NAME;:&SOA_PORT;

    Default base URL for accessing Web services. Additional HTTP Server adapters can be configured.

    Note: Do not change this property.

    defaultSoapURL=http://&HOST_NAME;:&SOA_PORT;/soap

    Default SOAP URL for accessing Web services in asynchronous mode. Additional HTTP Server adapters can be configured.

    Note: Do not change this property.

    syncBPSOAPURL=http://&HOST_ADDR;:&SOA_PORT;/soap-sync

    SOAP URL for accessing Web services in synchronous mode. Additional HTTP Server adapters can be configured.

    Note: Do not change this property.

    defaultSOAPort=&SOA_PORT;

    Default SOA port for accessing Web services. Additional HTTP Server adapters can be configured.

    Note: Do not change this property.

    attachmentMimeType=application/octetstream

    MIME format used for SOAP messages with attachments.

    signatureRequired=false

    Override to force signature usage.

    signatureTrigger=/xmldsig

    Indicator used to determine if a given message is signed.

    Note: Do not change this property.

    signatureMaxScan=8192

    Tuning parameter for signature determination.

    Note: Do not change this property.

    enforceStrongTyping=false

    When this parameter is set to false, all parameters are made optional. This is used when internal service definition is inconsistent with actual usage. Prevents marking of multiple required fields as required.

    In addition to the previous parameters, the following overrides enable you to modify the WSDL. These parameters operate at a Web services configuration level, which allows for more flexibility:

    Note: Exercise caution when modifying these parameters. These parameters are dynamically populated based on the Web service configuration. Modifying these parameters can change the behavior of the configured Web service.

    wsconfigname.inputHasAttachment=true

    When this parameter is set to false, the generated WSDL will omit the attachment part for the input message. The service provider will not expect an attachment. This can be used when the type parameters are sufficient for operation.

    wsconfigname.outputHasAttachment=true

    When this parameter is set to false, the generated WSDL will omit the attachment part for the output message. The service provider will generate responses that contain only a SOAP part.

    Wsconfigname.useInlineAttachment=false

    When set to true, the generated WSDL will replace the attachment element with an inlineAttachment element, and the binding will be pure SOAP instead of mime/multipart related. Any attached document will be encoded and embedded in the SOAP message itself. This mode is useful when a consumer does not support the SOAP with attachments standard.

  3. Run the setupfiles.sh (setupfiles.cmd for Windows) file to apply the changes.