Title: HTTP Service Interface Client doesn't work in a native image due to missing property binding · Issue #49274 · spring-projects/spring-boot · GitHub
Open Graph Title: HTTP Service Interface Client doesn't work in a native image due to missing property binding · Issue #49274 · spring-projects/spring-boot
X Title: HTTP Service Interface Client doesn't work in a native image due to missing property binding · Issue #49274 · spring-projects/spring-boot
Description: It appears that new http service clients are not getting proper configuration from application.properties, as a result these clients don't work at all. This happening when running Spring Boot application in Native Image mode. For example...
Open Graph Description: It appears that new http service clients are not getting proper configuration from application.properties, as a result these clients don't work at all. This happening when running Spring Boot appli...
X Description: It appears that new http service clients are not getting proper configuration from application.properties, as a result these clients don't work at all. This happening when running Spring Boot a...
Opengraph URL: https://github.com/spring-projects/spring-boot/issues/49274
X: @github
Domain: redirect.github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"HTTP Service Interface Client doesn't work in a native image due to missing property binding","articleBody":"It appears that new http service clients are not getting proper configuration from application.properties, as a result these clients don't work at all. This happening when running Spring Boot application in Native Image mode.\n\nFor example:\nwe have following `application.properties`\n\n```yaml\nspring:\n http:\n clients:\n connect-timeout: 5000\n read-timeout: 5000\n serviceclient:\n myclient:\n base-url: https://example.com\n```\n\nAnd following config for this client:\n```java\n@Configuration\n@ImportHttpServices(group = \"myclient\", types = MyClient.class)\npublic class RestClientsConfig {\n}\n```\nWhere MyClient.java is\n```java\npublic interface MyClient {\n\n @GetExchange(\"/hello\")\n SomeResponseDto hello();\n}\n```\nNow when we try to call our client `myClient.hello()` we'll get\n\nThis exception\n\n```\njava.lang.IllegalArgumentException: URI with undefined scheme\n\tat java.net.http@25/jdk.internal.net.http.common.Utils.newIAE(Utils.java:394)\n\tat java.net.http@25/jdk.internal.net.http.HttpRequestBuilderImpl.checkURI(HttpRequestBuilderImpl.java:81)\n\tat java.net.http@25/jdk.internal.net.http.HttpRequestBuilderImpl.uri(HttpRequestBuilderImpl.java:73)\n\tat java.net.http@25/jdk.internal.net.http.HttpRequestBuilderImpl.uri(HttpRequestBuilderImpl.java:45)\n\tat org.springframework.http.client.JdkClientHttpRequest.buildRequest(JdkClientHttpRequest.java:167)\n\tat org.springframework.http.client.JdkClientHttpRequest.executeInternal(JdkClientHttpRequest.java:117)\n\tat org.springframework.http.client.AbstractStreamingClientHttpRequest.executeInternal(AbstractStreamingClientHttpRequest.java:87)\n\tat org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:80)\n\tat org.springframework.web.client.DefaultRestClient$DefaultRequestBodyUriSpec.exchangeInternal(DefaultRestClient.java:609)\n\tat org.springframework.web.client.DefaultRestClient$DefaultRequestBodyUriSpec.exchange(DefaultRestClient.java:567)\n\tat org.springframework.web.client.RestClient$RequestHeadersSpec.exchange(RestClient.java:750)\n\tat org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.executeAndExtract(DefaultRestClient.java:908)\n\tat org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.body(DefaultRestClient.java:831)\n\tat org.springframework.web.client.support.RestClientAdapter.exchangeForBody(RestClientAdapter.java:79)\n\tat org.springframework.web.service.invoker.HttpServiceMethod$ExchangeResponseFunction.lambda$create$4(HttpServiceMethod.java:442)\n\tat org.springframework.web.service.invoker.HttpServiceMethod$ExchangeResponseFunction.execute(HttpServiceMethod.java:399)\n\tat org.springframework.web.service.invoker.HttpServiceMethod.invoke(HttpServiceMethod.java:134)\n\tat org.springframework.web.service.invoker.HttpServiceProxyFactory$HttpServiceMethodInterceptor.invoke(HttpServiceProxyFactory.java:300)\n```\n\nI'm using `Spring Boot 4.0.3` and gradle plugin `org.graalvm.buildtools.native 0.11.4`. Image is built by `./gradlew bootBuildImage`\n\nThere is no issue when running application in standard(non-native) mode ","author":{"url":"https://github.com/imaxvell","@type":"Person","name":"imaxvell"},"datePublished":"2026-02-19T16:57:42Z","url":"https://github.com/spring-projects/spring-boot/issues/49274"}
| react-profiling | 0 |
| react-import-map | react,react-dom,react-dom/client,react-dom/profiling,react-is,react-reconciler,react/compiler-runtime,react/jsx-dev-runtime,react/jsx-runtime,scheduler@d5750093facf |
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:b886b3b1-340a-aaf7-28b4-25a8251864ca |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B296:6780E:1D1B599:2682A31:6AEDA18F |
| html-safe-nonce | 3a1a684d68d8daa3d78b5272ff1a772fb2467de5a2474cca3d499034c8dc6d51 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMjk2OjY3ODBFOjFEMUI1OTk6MjY4MkEzMTo2QUVEQTE4RiIsInZpc2l0b3JfaWQiOiIyNTM5NTcxMzczMTU5NTg4MjM5IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | c9addeac91255ae26664e4c9b37fe78360aa9d139588fd4f6d9ba4a527e2762c |
| hovercard-subject-tag | issue:3963990172 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/spring-projects/spring-boot/49274/issue_layout |
| twitter:image | https://opengraph.githubassets.com/b0ce9794aa7c163b33c5c878eaf343b38af5bc2cd2ab453de5aa68c08a869e5d/spring-projects/spring-boot/issues/49274 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/b0ce9794aa7c163b33c5c878eaf343b38af5bc2cd2ab453de5aa68c08a869e5d/spring-projects/spring-boot/issues/49274 |
| og:image:alt | It appears that new http service clients are not getting proper configuration from application.properties, as a result these clients don't work at all. This happening when running Spring Boot appli... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | imaxvell |
| hostname | github.com |
| expected-hostname | github.com |
| None | 9f51e3b6c7a190e426e641ae15acbc58dd1ac2003e96b58879bbc298e213dbf3 |
| turbo-cache-control | no-preview |
| go-import | github.com/spring-projects/spring-boot git https://github.com/spring-projects/spring-boot.git |
| octolytics-dimension-user_id | 317776 |
| octolytics-dimension-user_login | spring-projects |
| octolytics-dimension-repository_id | 6296790 |
| octolytics-dimension-repository_nwo | spring-projects/spring-boot |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 6296790 |
| octolytics-dimension-repository_network_root_nwo | spring-projects/spring-boot |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7060660810b587033ea861b8aa67beb72c8e6542 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| react-app-name | issues |
Links:
Viewport: width=device-width