The primary function of the connection parameters is to specify the location and transport information for the Web service on the network. Web services provide two separate mechanisms for doing this. OpenEdge supports both mechanisms through the Web service connection parameters.

This is the Web service syntax for the connection-parameters string:

-WSDL wsdl-document[ -WSDLUserid user-id[ -WSDLPassword password]]
{
     {
        [ -Service service-name[ -ServiceNamespace service-namespace]]
        [ -Port port-name]
     }
  |
     {
        [[ -Binding binding-name[ -BindingNamespace binding-namespace]]
            -SOAPEndpoint URL-endpoint ]
     }
}
[ -SOAPEndpointUserid user-id
[ -SOAPEndpointPassword password]]
[ -TargetNamespace targetNamespace]
[ -maxConnections num-connections]
[ -connectionLifetime nSeconds]
[ -nohostverify ]
[ -nosessionreuse ]
[ -pf filename]

The only fully required element is the -WSDL parameter to identify the WSDL document for the Web service. This syntax might seem confusing, since the required elements, -Service and -Port or -Binding and -SOAPEndpoint, contain only optional elements. This situation arises because the WSDL file can directly supply some of this information.

Basically a complete binding can be specified by one of these mechanisms:

  1. A valid service and port (transport and Web service URL location) specification (the most common mechanism)
  2. A valid binding (transport) and SOAP endpoint (Web service URL location) specification (sometimes used to bind a SOAP viewer between the client and the Web service, or to provide a consortia of equivalent Web service locations)

The connection parameters only need to contain enough information to uniquely specify a target. If a WSDL only contains a single service, you can dispense with the -Service option. If a WSDL only contains a single port type, you can dispense with the -Port option. The same pattern applies for the -Binding/-SOAPEndpoint options. When a WSDL contains multiple choices for an option, the connection parameters must specify a unique value for that option.

A CONNECT( ) method fails, if any of the following happen:

  • You include both valid -Service/-Port and valid -Binding/-SOAPEndpoint options in the connection parameters.
  • The service, port, or binding options do not match the corresponding WSDL entries exactly with respect to namespace, local name, and letter case.
  • The WSDL contains multiple services, ports, or bindings, and you fail to specify a valid, unique set of -Service/-Port or -Binding/-SOAPEndpoint options.

The following table provides a short description for each parameter in the Web service connection parameter string, in the order they appear in the syntax. For more information on these parameters, see the CONNECT( ) method entry in OpenEdge Development: ABL Reference.

Table 1. Web service connection parameters
Connection parameter Description
-WSDL wsdl-document URL, UNC, or local file pathname (possibly relative) to the WSDL file that describes the Web service.
-WSDLUserid user-id Username to authenticate access to the WSDL file (overridden by any username specified in the WSDL URL).
-WSDLPassword password Password to authenticate access to the WSDL file (overridden by any password specified in the WSDL URL).
-Service service-name Name of a <service> element in the WSDL.
-ServiceNamespace service-namespace Namespace for service-name specified in the -Service parameter.
-Port port-name Name of a <port> element defined in the specified <service> element.
-Binding binding-name Name of a <binding> element in the WSDL.
-BindingNamespace binding-namespace Namespace for binding-name specified in the -Binding parameter.
-SOAPEndpoint URL-endpoint URL location for the Web service.
-SOAPEndpointUserid user-id Username to authenticate access to the Web service endpoint (URL). This endpoint can be specified by the -SOAPEndpoint parameter. It can also be implied by the -Service parameter, the -Port parameter, or the -WSDL parameter (if there is only one service containing one port).
-SOAPEndpointPassword password Password to authenticate access to the Web service endpoint.
-TargetNamespace targetNamespace The namespace that uniquely identifies a WSDL. It must match the target namespace declared in the document specified by the -WSDL parameter. This can be used as a verification check.
-maxConnections num-connections Maximum number of simultaneous (parallel) connections maintained between the client and Web service for asynchronous requests.
-connectionLifetime nSeconds The maximum number of seconds that a given connection can be reused for asynchronous requests before it is destroyed.
-nohostverify If specified, turns off host verification for a Transport Layer Security (TLS) connection using HTTPS. Without this parameter specified, the client compares the host name specified in the URL with the Common Name specified in the server certificate, and raises an error if they do not match. With this parameter specified, the client never raises the error.

For more information, see the sections on managing the OpenEdge certificate store in OpenEdge Getting Started: Core Business Services - Security and Auditing.1

-nosessionreuse If specified, the connection does not reuse the TLS session ID when reconnecting to the same Web server using HTTPS.1
-pf filename File containing any parameters specified in the CONNECT( ) method.
1 These connection parameters affect all TLS connections made using the Web service server handle, including any WSDL file access or Web service access that uses HTTPS.