a2aproject / a2aproject/a2a-java

[Bug]: a2a-java client sends message with empty task ID and context ID

Đang mở
#770 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Java
Star
490
Fork
172
Merge trung bình
1 ngày 6 giờ
Pull request đã merge (30 ngày)
55

Mô tả

### What happened?

While investigating errors reported by https://darrelmiller.github.io/agentbin/index.html, I found out that messages sent by the A2A Java client contains empty `taskId` and `contextId`.
They look like (verbatim):

```
curl -sN -X POST https://agentbin.greensmoke-1163cb63.eastus.azurecontainerapps.io/spec \
-H "Content-Type: application/json" \
-H "Accept: text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": "839ffa13-d966-462c-88a2-136805189343",
"method": "SendStreamingMessage",
"params": {
"tenant": "",
"message": {
"messageId": "'$(uuidgen | tr '[:upper:]' '[:lower:]')'",
"taskId": "",
"contextId": "",
"role": "ROLE_USER",
"parts": [
{
"text": "task-lifecycle process this",
"metadata": {},
"filename": "",
"mediaType": ""
}
],
"metadata": {},
"extensions": [],
"referenceTaskIds": []
},
"configuration": {
"acceptedOutputModes": [],
"returnImmediately": false
},
"metadata": {}
}
}'
```

I think the .Net remote agent should reject these messages (or ignore the empty taskId) but it replies with responses such as

```
data: {"jsonrpc":"2.0","id":"839ffa13-d966-462c-88a2-136805189343","result":{"task":{"id":"","contextId":"","status":{"state":"TASK_STATE_SUBMITTED","timestamp":"2026-03-26T12:06:00.4665426+00:00"}}}}
```

which are not deserialised by the a2a-java SDK due to the empty task.id.

The a2a-java client should omit optional fields that are not set when sending messages.
If I remove the `taskId: ""` field from the reproducer, the .Net agent replies with a generated taskId as expected.

### Relevant log output

```shell

```

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.