-
Notifications
You must be signed in to change notification settings - Fork 303
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HPCC-32948 Make ws_logaccess WSDL match exception return behavior #19301
base: master
Are you sure you want to change the base?
HPCC-32948 Make ws_logaccess WSDL match exception return behavior #19301
Conversation
Jira Issue: https://hpccsystems.atlassian.net//browse/HPCC-32948 Jirabot Action Result: |
@rpastrana I wanted you to be aware of this to ensure it wouldn't disrupt any of your java interfaces. Also, I've targeted master because this would retroactively adjust WSDLs without versioning, but I can retarget if appropriate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@asselitx thanks for the headsup, fortunately hpcc4j doesn't yet support this service and will be unaffected by your change.
As far as the code review, there's a couple of added superfluous new-lines which should be reverted
The service returns exceptions inline, but the WSDL does not show the exceptions array in the method response elements. Fix the interface defn to ensure the WSDL shows exceptions are returned inline. Note these caveats: - This change cannot be versioned and will retroactively change the WSDLs for all service interface versions. The alternative is that a current exception response would not validate against the WSDL. - Even with the fix the response will not match the WSDL in some cases. Transactions sent with "Content Type: application/x-www-form-urlencoded" (most of the requests from ECLWatch) return inline exception responses missing the root "ESPresponse" element. The root of the response is the "Exceptions" element. Signed-off-by: Terrence Asselin <terrence.asselin@lexisnexisrisk.com>
eb3e8ff
to
a433f9b
Compare
@asselitx one quick question, should we bump the service version to account for the new structure? |
I don't think that would be helpful, but we're kind of painted into a corner without a real elegant solution. There's no way to anchor the start of using Other possible approaches would these, but neither would fix the current methods:
|
@asselitx thanks for clarifying. As far as wslogaccess, eclwatch is our only known WSDL consumer. We'll have to get @jeclrsg 's take on this change, but I don't think option 1 is worthwhile. If 'exceptions_inline' is the new expected standard, can we default it in for all new methods? The 2nd option seems like a sensible feature in general. |
I've created HPCC-33035 to more immediately address the hole that made this mismatch possible, and which will make it much simpler to add exceptions inline to all methods in a service. Making the option #2 is change would be a bigger effort I'd want to clear with Gavin before starting. For the short term HPCC-32992 lists all other services that should be fixed in the same way we're fixing ws_logaccess, and has links to related tickets. |
@jeclrsg Do you see any issues with this change? The WSDL/Schema for ws_logaccess will now show exceptions inline for both methods, and this change will be effective for all service versions. This will be making the WSDL match the behavior you have always seen from the service. |
The service returns exceptions inline, but the WSDL does not show the exceptions array in the method response elements.
Fix the interface defn to ensure the WSDL shows exceptions are returned inline.
Note these caveats:
Type of change:
Checklist:
Smoketest:
Testing: