$signatureproperties

Dynamically set the signature properties (also known as connector options) for a Uniface URB connector, or retrieve those that have been dynamically set. Supported only by the SOAP U2.0 connector.

Set: $signatureproperties(ComponentName {, PropertyList}) = PropertyValuesList

Return: var = $signatureproperties(ComponentName {, PropertyValuesList})

For example:

$signatureproperties("WebService1")="svc=http://www.corp.com/services/soap?Service=AWebService"

Parameters

Parameters

Parameter

Data Type

Description

ComponentName

String

Name of a web service.

PropertyList

String

Uniface list of properties that are available on the connector. For more information, see SOAP Connector Options.

It can be used to restrict the properties affected by the function.

PropertyValuesList

String

Associative list of properties and values that are available on the connector.

Return Values

Returns an associative list of the specified Property= PropertyValue pairs that have already been set by $signatureproperties. It does not return values that have been set in the assignment file.

If the function is used to set values, it returns the defined property string. If PropertyList is not specified or is an empty string, all valid properties in PropertyValuesList are set. If PropertyList is specified, only the Property= PropertyValue of the specified property is returned.

If an error occurs, $procerror contains a negative value that identifies the exact error. This function does not affect $status.

Values Commonly Returned by $procerror after $signatureproperties

Error Number

Error Constant

Meaning

-1110

<UPROCERR _TOPIC>

Property name not known (in either PropertyList or PropertyValuesList)

-1132

<UPROCERR _UNRESOLVED_TOPIC>

Property not specified in PropertyValuesList

Use

Allowed in all Uniface component types.

Description

You can use the $signatureproperties function to dynamically set the signature properties (that is, the connector options) of the SOAP U2.0 connector.

For example, a SOAP web service and the endpoint URL are described by a WSDL file. The name of this file is recorded in the signature of the web service. For performance reasons, we recommend that the WSDL file be copied to local directory. However, this means that if the service provider moves the web service to another location, it is not reflected locally. Using tools such as UDDI, you can find the current location of the service and use $signatureproperties to set the svc connector option to reflect the actual location.

Uniface does not check the properties or the component name when $signatureproperties is called. It just stores the properties and when the SOAP connector creates an instance of the component, the properties are retrieved and used. These properties are only defined in the local application and are not transported to the component, if it is redirected with [SERVICES_EXEC].

The dynamic properties you set get merged with the properties defined in the assignment file (in the [SERVICES_EXEC] section and the USYS$SOP_PARAMS setting).This means that if a property is not set with $signatureproperties, the value as set in the assignment file is used. Thus, if you want the freedom to add and remove properties, do not define them in the assignment file.

Using $signatureproperties

The WSDL file of a web service contains the following definition:

<service name="AWSECommerceService">
  <port name="AWSECommerceServicePort" binding="tns:AWSECommerceServiceBinding">
    <soap:address location="https://webservices.amazon.com/onca/soap?Service=AWSECommerceService"/>
  </port>
</service>

However, if the service is now located on host identified by webservices.amazon.co.uk, you can use $signatureproperties to set this location:

$signatureproperties("AWSECommerceService")="svc=https://webservices.amazon.co.uk/onca/soap?Service=AWSECommerceService"
History

Version

Change

9.6.03, X301

Introduced

Related Topics