Skip to content

Handle deeply nested messages#1313

Merged
w666 merged 27 commits intovpulim:masterfrom
smokhov:alex-eri-patch-1
Aug 4, 2025
Merged

Handle deeply nested messages#1313
w666 merged 27 commits intovpulim:masterfrom
smokhov:alex-eri-patch-1

Conversation

@smokhov
Copy link
Contributor

@smokhov smokhov commented Jul 22, 2025

Closes #1205
Closes #1293
Closes #1284

@smokhov smokhov marked this pull request as draft July 22, 2025 19:32
Fails with `Exception has occurred: TypeError: Cannot read properties of undefined (reading 'description')` if Message>Body tags deepper inside answer.
@smokhov smokhov force-pushed the alex-eri-patch-1 branch from 45fac4c to f1abb47 Compare July 22, 2025 22:29
@smokhov
Copy link
Contributor Author

smokhov commented Jul 23, 2025

Sigh... the timeouts seem to be related to GitHub runners' resources from my googling. Locally on my AlmaLinux 9.6 machine, all tests pass. So weird.

I have to run the tests like this locally in order for the ssh1-rsa test to work:

OPENSSL_ENABLE_SHA1_SIGNATURES=1 npm run cover

else it always fails.

smokhov added 3 commits July 23, 2025 20:45
Done while testing an underlying PR's problem.

OPENSSL_ENABLE_SHA1_SIGNATURES=1 is necessary where OpenSSL disables
checks for older ciphers that one of the tests uses and fails the
test, e.g. on EL9.
xmlns.soap in the original patch was always empty when checked;
Its population occurred under the original if(), so move the
populatio of xmlns attributes before the if(). Now all tests pass
again.
@w666
Copy link
Collaborator

w666 commented Jul 24, 2025

I don't think this is related to node version. But I am getting timeouts in my environment too (WSL - Ubuntu 22.04 LTS, Node.js 22).

I will try to have a look.

@smokhov
Copy link
Contributor Author

smokhov commented Jul 24, 2025

I've found the reason. Will commit shortly.

smokhov added 2 commits July 24, 2025 05:06
The tests use not only xmlsn.soap, but also .soapenv and .S,
so they must be included for all the tests to reliably pass.
Add some instrumentation.
@w666
Copy link
Collaborator

w666 commented Jul 24, 2025

@smokhov

I released urgent fix, it conflicts with your branch now. Sorry about that.

@smokhov
Copy link
Contributor Author

smokhov commented Jul 24, 2025

@w666 TL;DR: after experimenting back and forth and adding some instrumentation it seems xmlns.soap was not enough -- the tests also use xmlns.soapenv and xmlns.S occasionally. Also some of the xmlns was not yet populated before that if() was made. In the process of doing all that, I've ended up updating the deps and node version to be min supported LTS version -- all these can be reverted. Now onto the issue on how to add a test for that change and what it should have...

@smokhov smokhov marked this pull request as ready for review July 24, 2025 09:25
@w666
Copy link
Collaborator

w666 commented Jul 24, 2025

I think there should be an example request that triggers that original problem mentioned in the #1205.
Ideally test should fail on non-fixed version (like latest node-soap release) and should pass against this branch.

@w666
Copy link
Collaborator

w666 commented Jul 24, 2025

And I think I will ask to revert min node version related changes, but we can discuss it later.

@w666
Copy link
Collaborator

w666 commented Jul 24, 2025

I suppose that #1284 can be related, there is code example.

@smokhov
Copy link
Contributor Author

smokhov commented Jul 25, 2025

I suppose that #1284 can be related, there is code example.

You are right, it may indeed be related! It does look relevant! I've added the reproduction content into the request-response samples al the wsdl and schemas, but having trouble getting the request working as it's giving me an error diff expecting something else vs. what's given in the SoapUI's samples in that issue. I'll commit a non-working test from that issue for further debugging for now so it doesn't sit just with me. Any comment is welcome @w666 as I don't have complete understanding of it yet.

@w666
Copy link
Collaborator

w666 commented Jul 27, 2025

Thanks, I pulled the latest changes, maybe will have time this week.

@w666
Copy link
Collaborator

w666 commented Aug 3, 2025

@smokhov

I think I fixed the test. Also fixed that annoying issue in test runner, it does not throw timeout error anymore

@smokhov smokhov requested a review from w666 August 3, 2025 20:25
@w666 w666 changed the title Fix names only in soap messages (take 2) Handle deeply nested messages Aug 4, 2025
@w666 w666 merged commit 70fe10c into vpulim:master Aug 4, 2025
1 check passed
@w666
Copy link
Collaborator

w666 commented Aug 4, 2025

Merged. Tried to clean up squashed commit message, hopefully I captured all the changes.

Thank you @smokhov for leading this.

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.

Result : Not showing Response Body Service can not identify operation / message

3 participants