Affects: \
When I using RestTemplate to send a servicecomb request like "cse://appId:microserviceName/xxx/xxxx/xxxx" after upgrading spring-framework from 5.2.15 to 5.3.12, NumberFormatException is reported. That's because the microservice name after the colon is parsed to a port.
Caused by: java.lang.NumberFormatException: For input string: "Aserver" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) ~[?:1.8.0_212] at java.lang.Integer.parseInt(Integer.java:580) ~[?:1.8.0_212] at java.lang.Integer.parseInt(Integer.java:615) ~[?:1.8.0_212] at org.springframework.web.util.HierarchicalUriComponents.getPort(HierarchicalUriComponents.java:195) ~[spring-web-5.3.12.jar:5.3.12] at org.springframework.web.util.HierarchicalUriComponents.toUriString(HierarchicalUriComponents.java:482) ~[spring-web-5.3.12.jar:5.3.12] at org.apache.servicecomb.provider.springmvc.reference.CseUriTemplateHandler.createUri(CseUriTemplateHandler.java:79) ~[provider-springmvc-2.1.5.jar:2.1.5] at org.apache.servicecomb.provider.springmvc.reference.CseUriTemplateHandler.expandInternal(CseUriTemplateHandler.java:75) ~[provider-springmvc-2.1.5.jar:2.1.5] at org.springframework.web.util.AbstractUriTemplateHandler.expand(AbstractUriTemplateHandler.java:111) ~[spring-web-5.3.12.jar:5.3.12] at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:710) ~[spring-web-5.3.12.jar:5.3.12]
Comment From: happyWilliam0
@Jefferson-Sun Hi, the issue you asked is because of the bug fix : UriComponentsBuilder handles invalid port numbers correctly #26905. I think you should ask service comb to fix it.
Comment From: quaff
You should use cse://appId@microserviceName/xxx/xxxx/xxxx
instead.