Skip to main content
Summary How can I specify the HTTP port my client will use to contact the Artix Locator in configuration rather than in WSDL?
Article Number 18822
Environment All Supported Operating Systems Artix 5.x
Question/Problem Description How can I specify the HTTP port my client will use to contact the Artix Locator in configuration rather than in WSDL?
Can the HTTP port of an Artix Locator service be defined in configuration on the client side?
Clarifying Information
Error Message
Defect/Enhancement Number
Cause
Resolution By separating out the client side configuration from the locator service, using scoping it is possible to configure this as:
WSDL_PATH="../../../wsdl";
LOCATOR_PORT="43210";
LOCATOR_HOST="thehost";
bus:initial_contract:url:locator = "http://%{LOCATOR_HOST}:%{LOCATOR_PORT}/services/LocatorService";

 

 

entity
{
    locator_client
    {
       orb_plugins = ["local_log_stream","soap", "http", "at_http"];
    };
    locator_server
    {
      orb_plugins = ["local_log_stream", "soap", "http", "at_http", "locator_endpoint"];
    };
    locator_service
    {
       # explicitly specify the host name that the server listens on
       policies:http:server_address_mode_policy:local_hostname = "%{LOCATOR_HOST}";
       # specifies the server hostname that is published in contracts
       policies:soap:server_address_mode_policy:local_hostname = "%{LOCATOR_HOST}";
       bus:initial_contract:url:locator="%{WSDL_PATH}/locator.wsdl";
       orb_plugins = ["local_log_stream", "iiop_profile", "giop", "iiop", "soap", "http", "wsdl_publish", "service_locator"];
    };
};

Note the locator should be started in the entity.locator_service scope and the client in the entity.locator_client scope

Workaround
Notes
Attachment
Created date: 06 September 2011
Last Modified: 13 February 2013
Last Published: 23 June 2012
First Published date: 10 September 2011

#KnowledgeDocs
#Orbix