| Summary: | [Validation] Misleading error reporting in WSDL validator (3.0.x) | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [WebTools] WTP Webservices | Reporter: | Amy Wu <for.work.things> | ||||
| Component: | wst.wsdl | Assignee: | Valentin Baciu <valentinbaciu> | ||||
| Status: | CLOSED FIXED | QA Contact: | Valentin Baciu <valentinbaciu> | ||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | bogdan.vatkov, danail.branekov, david_williams, gcruscoe, gindik, hristo.sabev, kaloyan, keshavrao.veerapaneni, martin.moeller | ||||
| Version: | 3.0.3 | Flags: | valentinbaciu:
review?
(keith.chong.ca) |
||||
| Target Milestone: | 3.0.5 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | 235821 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
|
Description
Amy Wu
My oppinion is that there is no easy way to fix this in the 3.0.* stream. Even if we fix the WSDL validator, the WS-I validator will have the same issue. We have fixed this the right way in the 3.1 stream. Hi Valentin, While not classifying this as core functionality bug I would definitely rate it as really severe usability issue. Imagine you buy a new car and although there is nothing wrong with the functional systems your oil indicator stays red all the time. Now you get a product based on Eclipse/WTP, run it for the very first time, get a bunch of WSDLs and try to develop some app – surprise – the IDE shines like a Christmas tree! As far as I understand the details one cannot override the behavior of the validator and get rid of these error markers and there is not other way to get around this issue except providing a fix in the validator itself. What would be the rough estimation for the bug-fix in the 3.0.x branch? Thanks in advance! Best regards, Bogdan Development Architect, SAP Labs Created attachment 125322 [details] WSDL validator patch Bogdan, I understand your concerns. As you can see in bug 235821, we have put quite a bit of our development resources into fixing this issue the right way in WTP 3.1, by upgrading to WSDL4J 1.5.1. In that same bug 235821 I have explained the problem in detail and what are the consequences of fixing this partially. I am attaching a partial patch that should address the WSDL validator issue. With this fix the WSDL reader used by the validator will ignore unknown elements. As I anticipated, the WS-I validator is next in line to fail due to the use of the WSDL4J 1.4 WSDL reader, which does not tolerate extensibility elements all over the place. See org.eclipse.wst.wsi.internal.core.wsdl.WSDLReaderImpl. I would think changing this class would be more expensive and riskier in the maintenance stream. Please give the patch a try and let me know if you are OK with it, and with the lack of WS-I validation. As always, contributions are welcome and appreciated. Moving to future for now, hopefully there will be a 3.0.5 and I will move it back in scope. Any chance you've had time to review the patch I proposed? (In reply to comment #4) > Moving to future for now, hopefully there will be a 3.0.5 and I will move it > back in scope. > Any chance you've had time to review the patch I proposed? Hi Valentin, Sorry for the late response here. We should be able to complete our tests till the end of the week (CW09). Our initial prognosis is that this patch will be sufficient as a workaround. But let's see what we have at the end of the week. Best regards, Bogdan Hi guys, I have tested the fix with wtp-sdk-M-3.0.4-20090212194735. The error is gone. However, the validation process issues the following warning no matter whether the WS-I validation is on or off: WS-I: A problem occured while running the WS-I WSDL conformance check: org.eclipse.wst.wsi.internal.analyzer.WSIAnalyzerException: The conformance validation process failed. ------------------------------------------------------------------------------ Nested exception is: java.lang.NullPointerException The WSDLAnalyzer was unable to validate the given WSDL File. rootwsdl_test.wsdl MyEjb/build/classes line 1 WSDL Problem It is kind of weird to get WS-I messages when WS-I validation is off Regards, Danail I have just double checked and I don't see any WS-I messages when the WS-I validator is off. To disable the WS-I validator go to Window->Preferences->Service Policies and set all service policies to Ignore Compliance. Then, revalidate the project. Keith, if our friends from SAP confirm the fix is good for them I'd like to put this fix in for 3.0.5. Please review and confirm. Hi, I got those messages when I disabled the "WS-I Message Validator". I did not pay attention that this validator is obviously not relevant to all WS-I stuff. Disabling the WS-I validation as described by Valentin removes all the markers from the WSDL. Regards, Danail Patch committed and released for WTP 3.0.5 builds > v200903242030 UTC. Closing. |