Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 124398

Summary: WSDLValidator cannot run conformance check
Product: [WebTools] WTP Webservices Reporter: Kelvin Cheung <kelvinhc>
Component: wst.wsiAssignee: Lawrence Mandel <lmandel>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: yenlu
Version: 1.0.1   
Target Milestone: 1.0.2 M102   
Hardware: PC   
OS: Windows 2000   
Whiteboard:
Attachments:
Description Flags
Patch for the WS-I test tools to cache the required TADs
none
Updated patch for WS-I validation none

Description Kelvin Cheung CLA 2006-01-18 16:57:55 EST
When running with -debug -consoleLog, the following error is logged in the console:

Unable to run WS-I WSDL conformance check.
org.eclipse.wst.wsi.internal.analyzer.WSIAnalyzerException: 
Version null of the "null"
document is not compatible with this version of
the test tools.The WSDLAnalyzer was unable to validate the given WSDL File.

I was able to reproduce this with a relatively simple WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://echo.webservice" xmlns:impl="http://echo.webservice" xmlns:intf="http://echo.webservice" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsi="http://ws-i.org/profiles/basic/1.1/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <wsdl:types>
  <schema targetNamespace="http://echo.webservice" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <element name="helloResponse">
    <complexType>
     <sequence>
      <element name="helloReturn" nillable="true" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
   <element name="hello">
    <complexType>
     <sequence>
      <element name="name" nillable="true" type="xsd:string"/>
     </sequence>
    </complexType>
   </element>
  </schema>
 </wsdl:types>

   <wsdl:message name="helloResponse">
     <wsdl:part element="impl:helloResponse" name="parameters"/>

  </wsdl:message>

   <wsdl:message name="helloRequest">
     <wsdl:part element="impl:hello" name="parameters"/>

  </wsdl:message>

   <wsdl:portType name="Echo">
     <wsdl:operation name="hello">
       <wsdl:input message="impl:helloRequest" name="helloRequest"/>

       <wsdl:output message="impl:helloResponse" name="helloResponse"/>

    </wsdl:operation>

  </wsdl:portType>

   <wsdl:binding name="EchoSoapBinding" type="impl:Echo">
 <wsaw:UsingAddressing wsdl:required="false" xmlns:wsaw="http://www.w3.org/2005/08/addressing/wsdl"/>

     <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

     <wsdl:operation name="hello">
       <wsdlsoap:operation soapAction="hello"/>

       <wsdl:input name="helloRequest">
         <wsdlsoap:body use="literal"/>

      </wsdl:input>

       <wsdl:output name="helloResponse">
         <wsdlsoap:body use="literal"/>

      </wsdl:output>

    </wsdl:operation>

  </wsdl:binding>

   <wsdl:service name="EchoService">
     <wsdl:port binding="impl:EchoSoapBinding" name="Echo">
       <wsdlsoap:address location="http://localhost/endpoint"/>

    </wsdl:port>

  </wsdl:service>

</wsdl:definitions>
Comment 1 Arthur Ryman CLA 2006-03-09 16:08:54 EST
Lawrence, The WS-I validator is apparently trying to get the assertion document from the WS-I Web site. Please add this document to the caching uri resolver and ensure that the WS-I validator uses the resolved. Thx.
Comment 2 Yen Lu CLA 2006-04-03 16:30:25 EDT
Will this be fixed for 1.0.2? We, as an IBM adopter, would like to see this problem resolved in WTP 1.0.2.
Comment 3 Lawrence Mandel CLA 2006-04-03 17:31:36 EDT
Yen, this problem has not been flagged as a hot bug or targetted for 1.0.2. 
Comment 4 Yen Lu CLA 2006-04-03 17:33:28 EDT
Lawrence, my understanding is that the hotlist is now closed and we're supposed to work with the owners to get this approved by the PMC.
Comment 5 Lawrence Mandel CLA 2006-04-03 17:40:17 EDT
Correct, however it is very late in 1.0.2 to request a fix. All fixes must be ready to request approval by tomorrow. As this bug wasn't flagged for 1.0.2 I haven't yet investigated the fix. If you have time to investigate the fix today I'd be happy to review it and request approval for it if it's safe.
Comment 6 Lawrence Mandel CLA 2006-04-04 16:33:47 EDT
I made some time to take a look at this today because it does represent a rather bad performance problem. I've got a fix ready. More work likely needs to be done to the WS-I test tools to improve performance. This fix will cache the TADs instead of retrieving them remotely each time they are required.

I've set the bug to 1.0.2. I'm attaching a patch. I'll need the fix confirmed before I can request approval. As I need to request approval today please review quickly. Sorry this one is such a rush.
Comment 7 Lawrence Mandel CLA 2006-04-04 16:34:19 EDT
Created attachment 37668 [details]
Patch for the WS-I test tools to cache the required TADs
Comment 8 Lawrence Mandel CLA 2006-04-04 18:02:47 EDT
Created attachment 37692 [details]
Updated patch for WS-I validation

This patch updates the behaviour of the WS-I test tools to produce a warning message if the TAD cannot be located instead of printing out to the command line.
Comment 9 Lawrence Mandel CLA 2006-04-04 18:05:45 EDT
Yen, I've attached a new patch to test. I could not reproduce the error you're seeing with the XML catalog throwing an exception. Are you using the latest 1.0.2 RC1 build?

Also, WS-I validation relies on two test assertion document files that are not included in WTP. These files must be retrieved the first time they are requested in order to be cached. An alternative to caching these files automatically is to register them with the XML catalog as follows:

key: http://www.ws-i.org/Testing/Tools/2004/12/AP10_BP11_SSBP10_TAD.xml
uri: local URI of TAD
key type: URI
key: http://www.ws-i.org/Testing/Tools/2005/01/SSBP10_BP11_TAD_1-0.xml
uri: local URI of TAD
key type: URI
Comment 10 Yen Lu CLA 2006-04-04 21:30:10 EDT
Lawrence, the second patch worked.
Comment 11 Lawrence Mandel CLA 2006-04-04 22:43:35 EDT
Thanks Yen. I've requested approval for 1.0.2.
Comment 12 Arthur Ryman CLA 2006-04-05 09:26:28 EDT
+1 for WTP 1.0.2 RC1 only. 
Comment 13 Lawrence Mandel CLA 2006-04-05 18:25:05 EDT
Although the 24 hour waiting period for the approval request times out at 10:30pm EST tonight, I spoke with David Williams who OKed the release of this fix 4 hours before the deadline.

I've released the fix to the 1.0.2 and 1.5 streams. The fix should be in WTP 1.0.2RC1 and 1.5M6.
Comment 14 Kelvin Cheung CLA 2006-06-02 16:51:05 EDT
verified in WTP 1.5
Comment 15 Lawrence Mandel CLA 2006-06-02 17:33:58 EDT
Kelvin, thanks for verifying.

Closing bug.