3 Replies Latest reply on Apr 22, 2005 10:01 AM by bluesterror

    WSDL deployer problems - schemaLocation

      Hi all,

      I am trying to deploy an EJB-based web service using document/literal with my own custom WSDL and XML schema under JBoss 4.0.1RC2. The schema is very complex and consists of several levels of imports - the main schema extends types imported from another namespace, which also extends other types, etc.

      The types section of my wsdl is very simple; it just imports the types from an external xsd:


      <xsd:schema targetNamespace="http://example.com/schema/1.0">
      <xsd:import namespace="http://example.com/schema/1.0"
      schemaLocation="doc129.xsd"/>
      </xsd:schema>


      I've had a couple of problems with this approach - first, I originally tried to use schemaLocation="http://somewebsite/doc129.xsd" -- my understanding is that this is legal, but after looking at the code for WSDLFilePublisher, it appears that only relative, local paths are allowed.

      Second, it looks like the bug fix for 1041495 is inadequate. I get an error message like "Caused by: java.lang.IllegalArgumentException: Cannot find schema import in deployment: META-INF/wsdl//doc129.xsd". Inspection reveals that expLocation always has a trailing slash, and schemaLocation always has a leading slash. I am including all of my XML schema documents under META-INF/wsdl/ - the same directory as my wsdl file - and have verified this in my jar.

      Am I doing something wrong, or is this code buggy?