Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-1117

invalid schemaLocation generated for imported schema

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • JBossAS-4.0.1 Final
    • JBossAS-4.0.0 Final
    • None
    • None

      SourceForge Submitter: mazzgolf .
      Somewhat related to 1041495 - see that issue for the
      hello.war attachment - the same war used to replicate
      the problem in that issue is the same war that can be
      used to replicate the problem for this issue. Same
      platforms as well were used to replicate.

      JBoss performs the cool feature of auto-modifying a web
      service's WSDLs (including its imported/included WSDLs
      and schemas).

      However, in one instance that modification produces a
      URL that does not point to the resource - I get a HTTP
      500 instead.

      Deploy the hello.war (rather than duplicate
      attachments, see issue 1041495 for the attachment
      there). This assumes issue 1041495 has been corrected
      or worked around (I worked around it by fixing issue
      1041495 inside a JPDA session and continuing).

      Once the web service is deployed, look at the hello
      service's WSDL. You will see an import of another WSDL
      (this is correct):

      <wsdl:import location="/hello/hello/?
      wsdl&resource=../spec/wsrf/WS-ResourceProperties-
      1_1.wsdl" ...

      If you point your browser to that location, you can see
      that WS-ResourceProperties-1_1.wsdl file. Looking at
      that WSDL, you will notice that it, itself, imports
      another file - this time a .xsd schema inside its
      wsdl:types/wsd:schema element:

      <wsdl:import namespace="..."
      schemaLocation="/hello/hello?
      wsdl&resource=../../wsa/WS-Addressing-2003_03.xsd">

      That schemaLocation is incorrect - if you point your
      browser to that URL, you will get a HTTP 500 and the
      JBoss logs tells me "cannot obtain wsdl resource from:
      WEB-INF/wsdl/wsa/WS-Addressing-2003_03.xsd".

      Notice the ".." appears twice - I think that is
      incorrect. I think it only needs to go up to the
      immediate parent directory only - it should not have
      gone up twice to its grandparent directory. This wsa
      directory is located as a peer directory to wsmf (under
      the spec parent - just like the WS-ResouceProperties-
      1_1.wsdl is under wsrf which is under spec).

      I think it should be:

      schemaLocation="/hello/hello?wsdl&resource=../wsa/WS-
      Addressing-2003_03.xsd"

      However, when I put that URL in my browser, I still did
      not get the .xsd served up - I again got a 500. Funny
      thing is that the JBoss error log says it was still looking
      for "WEB-INF/wsdl/wsa/WS-Addressing-2003_03.xsd" -
      the same relative path it told me when I used the ../..
      form. Using just ../ to go up one level instead of two
      didn't change the relative path JBoss was looking for.

      I did not have a chance to debug this to find out how to
      fix this - I just noticed that I was unable to get to
      that .xsd file from my browser (so, therefore, I assume
      any client of this web service will not be able to
      successfully parse its WSDL due to the inability to have
      the server serve up this schema).

              anil.saldhana Anil Saldanha (Inactive)
              sourceforge-user SourceForge legacy user (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: