Skip to content

Version: 1.1.2 fix(client): normalize repeated SOAP responses - #210

Merged
sergeliatko merged 1 commit into
mainfrom
agent/146-response-cardinality
Sep 25, 2026
Merged

sergeliatko merged 1 commit into
mainfrom
agent/146-response-cardinality

Conversation

@sergeliatko

Copy link
Copy Markdown
Member

Summary

A valid singleton SOAP response can remain an object even when a wrapping sequence makes its generated type an array. That mismatch caused affected REST gateway responses to fail with HTTP 500. Generated clients now derive repeated-property metadata from the existing catalog and normalize singleton responses before gateway serialization, covering direct client consumers as well.

Real SOAP transport regressions cover singleton and multiple complex/primitive values, optional request omission, repeated request XML, and both wrapper-flattening modes. The installed-package smoke also executes the generated client against that transport. Existing null handling, scalar properties, and compiler compositor boundaries are preserved.

This PR contains the complete 1.1.2 release candidate, including versions, changelog, release notes, regenerated examples, and explicit maintainer-only publication instructions. The rejected v1.1.1 draft was retired through the abandonment workflow; its immutable tag and marker remain. This follows PR #145 and issue #141, preserving BCsabaEngine's original contribution in history.

Checklist

  • Includes a reusable public WSDL fixture
  • Real transport tests and installed-package smoke cover the change
  • User-facing docs and release notes updated before pushing this PR
  • Generated array/optional contract changes and regeneration requirements documented

How to test

The singleton regressions failed before the fix and pass afterward. Focused tests, gateway conformance, scoped TypeScript checks, documentation validation, and IDE error inspections passed. Snapshot changes were reviewed.

Release preflight passed with 661 tests in 52 files, full conformance, pipeline smoke, installed-package smoke, and skill ZIP/checksum packaging. Its only warning is the expected feature-branch location. No gates were skipped. Validated Git tree: c99bd30605a486dedf595ebd15bce4992fe7b5bc.

npx vitest run test/integration/sequence-occurrence-transport.test.ts test/unit/compiler-compositor-occurs.test.ts
npm run test:conformance:gateway
npm run package:smoke

After CI and merge, tag the merged main commit only if its tree matches the validated tree. Agent delivery stops after the draft workflow and artifacts are verified and task-owned cleanup is complete. The maintainer publishes manually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant