Azure / Azure/apiops-cli

A2A managed endpoint returns empty/404 while runtime endpoint works

Abierto
#138 2 comentarios 1 reacción 2 asignados Reclamado por @azaslonov Ver en GitHub
go:needs-research P2 squad squad:apimexpert Testing
Lenguaje dominante
TypeScript
Estrellas
26
Forks
9
Merge medio
1 d 3 h
PR fusionados (30 d)
20

Descripción

## Summary
The APIM-managed A2A endpoint path (`/ks/a2a-managed`) appears non-functional in our current configuration, while the policy-backed runtime path (`/ks/a2a-weather`) works reliably.

## Environment
- Repo: `Azure/apiops-cli`
- APIM target service: `bvt-7i6mlsfka5aec-tgt-apim`
- API: `src-a2a-weather-agent` (type `a2a`)
- API version: `2025-09-01-preview`

## Current Config (deployed)
`src-a2a-weather-agent` on target shows:
- `properties.path = ks/a2a-managed`
- `a2aProperties.agentCardBackendUrl = https://bvt-7i6mlsfka5aec-tgt-apim.azure-api.net/ks/a2a-weather/.well-known/agent-card.json`
- `jsonRpcProperties.backendUrl = https://bvt-7i6mlsfka5aec-tgt-apim.azure-api.net`
- `jsonRpcProperties.path = /ks/a2a-weather`

Operation resources also exist on the managed API:
- `GET /.well-known/agent-card.json`
- `POST /`
with policy present for `get-agent-card`.

## Repro
1. Publish extracted artifacts with `bvt-target.overrides.yaml`.
2. Call managed URL:
- `GET https://bvt-7i6mlsfka5aec-tgt-apim.azure-api.net/ks/a2a-managed/.well-known/agent-card.json`
- `POST https://bvt-7i6mlsfka5aec-tgt-apim.azure-api.net/ks/a2a-managed` with valid JSON-RPC body.
3. Call runtime URL:
- `GET https://bvt-7i6mlsfka5aec-tgt-apim.azure-api.net/ks/a2a-weather/.well-known/agent.json`
- `POST https://bvt-7i6mlsfka5aec-tgt-apim.azure-api.net/ks/a2a-weather`

## Actual
- Managed endpoint:
- `GET /ks/a2a-managed/.well-known/agent-card.json` => `200` with empty body
- `POST /ks/a2a-managed` => `404 Resource not found`
- Runtime endpoint:
- Returns valid agent card and JSON-RPC responses.

## Expected
Managed endpoint should be fully usable for discovery + invocation:
- Non-empty agent-card JSON on managed card route
- JSON-RPC request should route and return valid task response on managed root

## Impact
- APIM UI suggests using managed A2A URL, but runtime behavior requires using `/ks/a2a-weather`.
- Causes confusion for Foundry/tool onboarding and demo instructions.

## Notes / Potential Direction
A robust architecture likely requires `a2a-managed` pointing to an external runtime backend (App Service/Function/Container App) rather than APIM self-referencing paths, to avoid internal routing/preview gaps.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.