Skip to content

feat: Add SOAP fault response handling and deserialization#19

Merged
petre-c merged 4 commits intomainfrom
feat/soap-fault-handling
Sep 30, 2025
Merged

feat: Add SOAP fault response handling and deserialization#19
petre-c merged 4 commits intomainfrom
feat/soap-fault-handling

Conversation

@petre-c
Copy link
Contributor

@petre-c petre-c commented Sep 29, 2025

Summary

  • Add proper C# deserialization for TBC Bank SOAP fault responses
  • Enhance error handling in TBCSoapCaller to parse and format SOAP faults
  • Provide meaningful error messages for fault codes like USER_IS_BLOCKED

Changes

  • SoapFaultResponse.cs: New immutable record with XML serialization for SOAP faults
  • TBCSoapCaller.cs: Enhanced HTTP error handling to detect and parse SOAP faults
  • SoapFaultResponseTests.cs: Comprehensive test coverage for fault scenarios

Test plan

  • Unit tests verify SOAP fault XML deserialization
  • Tests confirm proper error message formatting
  • Integration with existing TBCSoapCaller error handling
  • All existing tests still pass

Collaboration by Claude

Petre Chitashvili added 4 commits September 29, 2025 14:18
- Add SoapFaultResponse record with proper XML serialization attributes
- Enhance TBCSoapCaller to parse SOAP faults on HTTP errors
- Add TryParseSoapFault method for structured fault parsing
- Provide meaningful error messages for fault codes like USER_IS_BLOCKED
- Add comprehensive test coverage for SOAP fault scenarios

*Collaboration by Claude*
- Add SOAP fault response handling and deserialization
- Improve error messages for TBC Bank API failures

*Collaboration by Claude*
- Add JetBrains.Annotations [PublicAPI] attribute to BankTransferCommonDetails
- Fix password change documentation link in README
- Update Claude Code settings to allow dotnet test command

*Collaboration by Claude*
@petre-c
Copy link
Contributor Author

petre-c commented Sep 30, 2025

/ff

@petre-c petre-c merged commit 5f68b47 into main Sep 30, 2025
1 check passed
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

Comments