From 484c5a1e1a223819acb6c2f3085a6ad7cc126411 Mon Sep 17 00:00:00 2001 From: Michael Dowling Date: Mon, 1 Jun 2026 21:02:06 -0500 Subject: [PATCH 1/2] Fix aws-json type deser --- .../smithy/java/aws/client/awsjson/AwsJson1Protocol.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/aws/client/aws-client-awsjson/src/main/java/software/amazon/smithy/java/aws/client/awsjson/AwsJson1Protocol.java b/aws/client/aws-client-awsjson/src/main/java/software/amazon/smithy/java/aws/client/awsjson/AwsJson1Protocol.java index b28b6b6392..015bdbce5d 100644 --- a/aws/client/aws-client-awsjson/src/main/java/software/amazon/smithy/java/aws/client/awsjson/AwsJson1Protocol.java +++ b/aws/client/aws-client-awsjson/src/main/java/software/amazon/smithy/java/aws/client/awsjson/AwsJson1Protocol.java @@ -31,8 +31,12 @@ public AwsJson1Protocol(ShapeId service) { } private static ShapeId extractErrorType(Document document, String namespace) { + // Per the awsJson1_0 SEP, the __type discriminator may carry an over-the-wire namespace + // like "com.amazonaws.dynamodb.v20120810#ResourceNotFoundException" that doesn't match + // the model's namespace. Strip the namespace and let parseDiscriminator re-attach the + // service's namespace so registry lookup succeeds. return DocumentDeserializer.parseDiscriminator( - ErrorTypeUtils.removeUri(ErrorTypeUtils.readTypeAndCode(document)), + ErrorTypeUtils.removeNamespaceAndUri(ErrorTypeUtils.readTypeAndCode(document)), namespace); } From 30d69222b682500a0417bd168b5d483e7aac460f Mon Sep 17 00:00:00 2001 From: Michael Dowling Date: Wed, 24 Jun 2026 23:26:09 -0500 Subject: [PATCH 2/2] Update aws/client/aws-client-awsjson/src/main/java/software/amazon/smithy/java/aws/client/awsjson/AwsJson1Protocol.java Co-authored-by: Kevin Stich --- .../amazon/smithy/java/aws/client/awsjson/AwsJson1Protocol.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws/client/aws-client-awsjson/src/main/java/software/amazon/smithy/java/aws/client/awsjson/AwsJson1Protocol.java b/aws/client/aws-client-awsjson/src/main/java/software/amazon/smithy/java/aws/client/awsjson/AwsJson1Protocol.java index 015bdbce5d..f5fd8b8e64 100644 --- a/aws/client/aws-client-awsjson/src/main/java/software/amazon/smithy/java/aws/client/awsjson/AwsJson1Protocol.java +++ b/aws/client/aws-client-awsjson/src/main/java/software/amazon/smithy/java/aws/client/awsjson/AwsJson1Protocol.java @@ -31,7 +31,7 @@ public AwsJson1Protocol(ShapeId service) { } private static ShapeId extractErrorType(Document document, String namespace) { - // Per the awsJson1_0 SEP, the __type discriminator may carry an over-the-wire namespace + // Per the awsJson1_0 spec, the __type discriminator may carry an over-the-wire namespace // like "com.amazonaws.dynamodb.v20120810#ResourceNotFoundException" that doesn't match // the model's namespace. Strip the namespace and let parseDiscriminator re-attach the // service's namespace so registry lookup succeeds.