Description
When VS Code runs behind a corporate HTTP proxy, the SAPUI5 Adaptation Project generator cannot validate any UI5 version. Every version (system version and latest) is rejected with:
The SAPUI5 version you have selected is not compatible with the SAPUI5 Adaptation Editor. Please select a different version.
Root cause: the generator's UI5-CDN calls bypass the proxy-aware HTTP layer used elsewhere in the tooling. validateUI5VersionExists used a raw axios.get, and the version-list calls used the native Node fetch:
- Raw axios relies on axios's built-in proxy handling, which builds a
CONNECT request (Host without port) that strict corporate proxies reject. The resulting error is mapped to the "not compatible" message.
- Node's native
fetch ignores HTTP(S)_PROXY entirely, so in a proxy-only network those calls cannot reach the CDN.
Steps to Reproduce
- Run VS Code on a machine whose only internet access is a strict corporate HTTP proxy (
HTTPS_PROXY/HTTP_PROXY set).
- Start the SAPUI5 Adaptation Project generator; select a system and application.
- Reach the UI5 version step.
- Every version is rejected with "not compatible with the SAPUI5 Adaptation Editor".
Expected results
The version validates through the proxy and the wizard proceeds (as it does without a proxy, and as the tooling's other requests already do).
Actual results
All versions rejected with the "not compatible" error; the wizard cannot continue.
Version/Components/Environment
Root Cause Analysis
Problem
ADP UI5-version requests to the SAP CDN bypassed the proxy-aware HTTP layer: validator.ts used raw axios.get (axios's built-in proxy CONNECT is rejected by strict proxies) and fetch.ts used native fetch (which ignores proxy env vars). The proxy rejection surfaced to the user as "version not compatible".
Fix
Route the ADP UI5-version calls through the existing proxy handling. Extracted the proxy logic from axios-extension's factory.ts into a reusable getProxyAgentConfig(url) and used it in validator.ts and fetch.ts (the latter switched from native fetch to axios). Honours NO_PROXY and is skipped in SAP Business Application Studio.
Why was it missed
The proxy handling lived only inside the axios-extension service-provider factory; these UI5-CDN calls were written as standalone axios/fetch calls and were only exercised in environments with direct internet or a lenient proxy. The proxy rejection is indistinguishable, to the validator, from the CDN legitimately reporting an unknown version.
How can we avoid this
Prefer the shared proxy-aware HTTP helper for all outbound requests; avoid native fetch for requests that must honour proxy configuration; add proxy-path test coverage.
Description
When VS Code runs behind a corporate HTTP proxy, the SAPUI5 Adaptation Project generator cannot validate any UI5 version. Every version (system version and latest) is rejected with:
Root cause: the generator's UI5-CDN calls bypass the proxy-aware HTTP layer used elsewhere in the tooling.
validateUI5VersionExistsused a rawaxios.get, and the version-list calls used the native Nodefetch:CONNECTrequest (Hostwithout port) that strict corporate proxies reject. The resulting error is mapped to the "not compatible" message.fetchignoresHTTP(S)_PROXYentirely, so in a proxy-only network those calls cannot reach the CDN.Steps to Reproduce
HTTPS_PROXY/HTTP_PROXYset).Expected results
The version validates through the proxy and the wizard proceeds (as it does without a proxy, and as the tooling's other requests already do).
Actual results
All versions rejected with the "not compatible" error; the wizard cannot continue.
Version/Components/Environment
@sap-ux/adp-tooling(@sap-ux/generator-adp),@sap-ux/axios-extensionGLOBAL_AGENT_*/HTTP(S)_PROXY/NO_PROXYenv vars set.OS:
Root Cause Analysis
Problem
ADP UI5-version requests to the SAP CDN bypassed the proxy-aware HTTP layer:
validator.tsused rawaxios.get(axios's built-in proxy CONNECT is rejected by strict proxies) andfetch.tsused nativefetch(which ignores proxy env vars). The proxy rejection surfaced to the user as "version not compatible".Fix
Route the ADP UI5-version calls through the existing proxy handling. Extracted the proxy logic from
axios-extension'sfactory.tsinto a reusablegetProxyAgentConfig(url)and used it invalidator.tsandfetch.ts(the latter switched from nativefetchto axios). HonoursNO_PROXYand is skipped in SAP Business Application Studio.Why was it missed
The proxy handling lived only inside the
axios-extensionservice-provider factory; these UI5-CDN calls were written as standaloneaxios/fetchcalls and were only exercised in environments with direct internet or a lenient proxy. The proxy rejection is indistinguishable, to the validator, from the CDN legitimately reporting an unknown version.How can we avoid this
Prefer the shared proxy-aware HTTP helper for all outbound requests; avoid native
fetchfor requests that must honour proxy configuration; add proxy-path test coverage.