Error message
HSFServiceAddressNotFoundException: The address of the service to be called is not found.
The service to be called is xxxx, which is in the xxxx group.High-speed Service Framework (HSF) throws this exception when the address of the service to be called is not found.
Possible causes
| Cause | Environment |
|---|---|
| Service provider not published, or configuration mismatch | Both |
| Network or firewall blocking the provider IP and port | Both |
| Multiple NICs bound to the wrong IP address | Both |
| Service call initiated before ConfigServer pushes the address | Both |
Service group not created (HSF version earlier than edas.hsf.2114.1.0) | Production |
| Address server misconfigured or unreachable | Both |
Quick checks
Run through these checks first, regardless of your environment.
1. Verify the service is published
Open the Microservices Governance console for the relevant environment (daily, staging, or production) and search for the target service.
If the service is not listed, the provider failed to publish. See Service not found in registry.
If the service is listed, proceed to the next check.
2. Verify that interface, version, and group match
Compare the interface, version, and group values in the XML configuration files of both the provider and consumer. These values are case-sensitive and must not contain leading or trailing spaces.
3. Test network connectivity to the provider
Use Telnet to test the connection to the provider IP and HSF port (default: 12200):
telnet <provider-ip> 12200If the connection fails, a firewall rule or network issue is blocking access. See Cannot connect to provider IP and port.
If the connection succeeds, proceed to the next check.
4. Check for multiple NICs
If the provider host has multiple network interface controllers (NICs), HSF may bind to the wrong IP address.
In the on-premises development environment, specify the correct IP with a JVM startup parameter:
-Dhsf.server.ip=<provider-ip>In the production environment, contact the relevant developers for troubleshooting.
5. Check for early service calls
If the consumer calls the service before ConfigServer pushes the provider address, the call fails. Add maxWaitTimeForCsAddress to the consumer configuration to allow more time for address resolution. For details, see Develop a service consumer.
Troubleshoot by symptom
Service not found in registry
The service provider failed to register with the service registry. Follow the steps that match your environment.
Development environment (lightweight configuration center)
Verify the address server IP. Run
ping jmenv.tbsite.netand confirm the returned IP matches the lightweight configuration center IP. If the IPs differ, specify the correct address:-Daddress.server.ip=<config-center-ip>Clear cached data. Delete the contents of these directories:
/{userhome}/logs//{userhome}/configclient/
Restart the service provider. If Tomcat is already running, restart it.
Check the Tomcat startup log.
If the log shows no exceptions, startup completed successfully. The log displays the startup duration in milliseconds.
If the log contains an exception, resolve it before proceeding.
Verify the registry connection. Open
/{userhome}/configclient/logs/configclient.logor/{userhome}/logs/configclient/configclient.log(the path varies by version). Look for this log pattern: Confirm the IP matches the lightweight configuration center. If the IPs differ, specify the correct IP with-Daddress.server.ip=<config-center-ip>.Connecting to remoting://<IP address>Confirm service registration. Search the log for
[Register-ok][Publish-ok]. If this pattern appears, verify that the service name, version, and group are correct.
When multiple service providers (such as A, B, and C) run on the same instance, each provider uses a sequential HSF port starting from 12200. Verify that the port in the lightweight configuration center console matches the actual port. To set a specific IP and port, use:
-Dhsf.server.ip=<ip> -Dhsf.server.port=<port>If the port does not match, either update it in the console or delete the service and republish the application.
Production environment (EDAS-managed)
Check the address server domain. Run the following command to find the address server domain: Look for
-Daddress.server.domain=<address-server-domain>, then verify DNS resolution: If the ping fails, a network issue is preventing DNS resolution.cat /home/admin/<taobao-tomcat-directory>/bin/setenv.shping <address-server-domain>Clear cached data. Delete the contents of these directories:
/home/admin/logs//home/admin/configclient//home/admin/<taobao-tomcat-directory>/logs/
Restart the service provider. If Tomcat is already running, restart it.
Check for startup errors.
Review
/home/admin/<taobao-tomcat-directory>/logs/catalina.outfor exceptions.Review
/home/admin/<taobao-tomcat-directory>/logs/localhost-<date>.logfor exceptions.
Verify service registration. Open
/home/admin/configclient/logs/configclient.logor/home/admin/logs/configclient/configclient.log(the path varies by version).If
[Register-ok][Publish-ok]appears, verify the service name, version, and group.If
[Publish or unregister error]appears, check the HSF version and service group configuration.
Check the HSF version and service group. Find the
edas.hsf.xxxxversion incatalina.out:Version earlier than
edas.hsf.2114.1.0: Create the required service group manually. In the Enterprise Distributed Application Service (EDAS) console, go to Traffic Management > Microservices Governance > HSF > Service Groups and verify that the service group exists.Version
edas.hsf.2114.1.0or later: Multi-tenant data isolation is enabled. No manual service group creation is required. The service registers twice: once by tenant (always succeeds) and once by group (may fail without affecting service calls). Example log output showing this behavior:2018-07-19 10:28:44.716|ERROR|[] [] [%s] [Publish or unregister error] spas-authentication-failed! dataId:com.alibaba.edas.testcase.api.TestCase:1.0.0 group:test error:java.lang.Error: A receivedRevision:2 tenant:DEFAULT_TENANT 2018-07-19 10:28:44.717|INFO|[] [] [] [Register-ok] Publisher (HSFProvider-com.alibaba.edas.testcase.api.TestCase:1.0.0.2 for com.alibaba.edas.testcase.api.TestCase:1.0.0)Tenant:0846c173-decf-4b47-xxxxxxxx in group test in env default 2018-07-19 10:28:44.717|INFO|[] [] [] [Publish-ok] dataId=com.alibaba.edas.testcase.api.TestCase:1.0.0, clientId=HSFProvider-com.alibaba.edas.testcase.api.TestCase:1.0.0.2, datumId=ecu:ed5b9d2b-a276-4ad7-b7b9-14e432ff****:192.168.xx.xx,tenant=0846c173-decf-4b47-xxxxxxxx, rev=2, env=defaultIn this example, group-based authentication with
tenant:DEFAULT_TENANTfails, but tenant-based publishing withtenant=0846c173-decf-4b47-xxxxxxxxsucceeds. At least one successful registration is sufficient.
Consumer cannot find the provider address
The service is published, but the consumer does not receive the provider address. Follow the steps that match your environment.
Development environment (lightweight configuration center)
Verify the address server IP. Run
ping jmenv.tbsite.netand confirm the returned IP matches the lightweight configuration center IP.Restart the service consumer. If Tomcat is already running, restart it.
Check the Tomcat startup log for exceptions.
Verify the registry connection. Open
/{userhome}/configclient/logs/configclient.logor/{userhome}/logs/configclient/configclient.log. Confirm the IP inConnecting to remoting://<IP address>matches the lightweight configuration center.Check for address data. Search the log for
[Data-received]. If the provider information is not received, verify that the provider is registered. Follow Service not found in registry.Test connectivity to the provider. Run
telnet <provider-ip> 12200. If the connection fails, a firewall rule or network issue is blocking access.
Production environment (EDAS-managed)
Applications in EDAS enforce strict service authentication and data isolation. Cross-account service calls are blocked, and production services are not accessible from the development environment.
Check the address server domain. Find
-Daddress.server.domain=<address-server-domain>and runping <address-server-domain>to verify DNS resolution.cat /home/admin/<taobao-tomcat-directory>/bin/setenv.shClear cached data. Delete the contents of
/home/admin/logs/,/home/admin/configclient/, and/home/admin/<taobao-tomcat-directory>/logs/.Restart the service consumer. If Tomcat is already running, restart it.
Check for startup errors.
Review
/home/admin/<taobao-tomcat-directory>/logs/catalina.outfor exceptions.Review
/home/admin/<taobao-tomcat-directory>/logs/localhost-<date>.logfor exceptions.
Check for address data. Open
/home/admin/configclient/logs/configclient.logor/home/admin/logs/configclient/configclient.log. Search for the target service and look for[Data-received]. If no provider information is received, verify the provider is registered.Test connectivity to the provider. Run
telnet <provider-ip> 12200. If the connection fails, a firewall rule or network issue is blocking access.Check additional logs.
Consumer subscription data: Review the files in
/home/admin/configclient/snapshot/DEFAULT_ENV/. Example content:[ "192.168.xx.xx:12200?_p\u003dhessian2\u0026_ENV\u003dDEFAULT\u0026v\u003d2.0\u0026_TIMEOUT\u003d3000\u0026_ih2\u003dy\u0026_TID\u003d0846c173-decf-4b47-8aa0-04b5a561****\u0026_SERIALIZETYPE\u003dhessian\u0026_auth\u003dy" ]Service call errors: Check
/home/admin/logs/hsf/hsf.log.Heartbeat and connection failures: Check
/home/admin/logs/hsf/hsf-remoting.log. Example error:01 2018-06-20 12:35:00.797 ERROR [HSF-Worker-2-thread-1:hsf.remoting] [] [] [HSF-0085] [remoting] fail to connect: /192.168.xx.xx:12200 in timeout: 4000This error indicates the consumer cannot establish a persistent TCP connection with the provider. To resolve:
Verify that the service at the provider IP is running and port 12200 is listening.
If the service is running and the port is listening, test whether the port is reachable from the consumer with Telnet.
Cannot connect to provider IP and port
A firewall or network misconfiguration is preventing the consumer from reaching the provider.
Verify the provider service is running and port 12200 (or the configured HSF port) is listening.
Test connectivity from the consumer:
telnet <provider-ip> 12200If Telnet fails, check for firewall rules or network ACLs blocking the port. Contact the relevant developers for further troubleshooting.
Log file reference
Development environment
| Log file | Purpose |
|---|---|
/{userhome}/configclient/logs/configclient.log | Registry connection and service registration |
/{userhome}/logs/configclient/configclient.log | Same as above (path varies by version) |
Production environment
| Log file | Purpose |
|---|---|
/home/admin/<taobao-tomcat-directory>/logs/catalina.out | Tomcat startup and HSF version |
/home/admin/<taobao-tomcat-directory>/logs/localhost-<date>.log | Application errors |
/home/admin/configclient/logs/configclient.log | Registry connection and service registration |
/home/admin/logs/configclient/configclient.log | Same as above (path varies by version) |
/home/admin/configclient/snapshot/DEFAULT_ENV/ | Consumer subscription data |
/home/admin/logs/hsf/hsf.log | Service call errors |
/home/admin/logs/hsf/hsf-remoting.log | Heartbeat and connection logs |
Key log patterns
| Pattern | Meaning |
|---|---|
[Register-ok][Publish-ok] | Service provider registered successfully |
[Publish or unregister error] | Service registration failed |
[Data-received] | Consumer received provider address |
Connecting to remoting://<IP> | Registry connection target IP |
[HSF-0085] | TCP connection to provider failed |