Support feedback:
I recently started migrating from Mule 1.4.x to Mule 2.0.1, and I've
noticed that IntelliJ is having problems with the new-style config
files. Mule 1.4.x used DTD-based validation, whereas Mule 2.x uses XML
schema-based validation.
I'm specifically running into a problem with Mule configs that define
and use a CXF namespace. Consider the following example:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http:
xmlns:xsi="http:
xmlns:spring="http:
xmlns:soap="http:
xmlns:cxf="http:
xsi:schemaLocation="
http:http: http:http: http:http: http:http:
<description>
This config builds a JAX-WS service with CXF.
We use a "serviceClass" which is a JAX-WS interface we've
defined. It allows us
To invoke the EchoUMO hit the following URL -
http:an echo?
(remember to replace the '&' with an ampersand)
To view the WSDL for the EchoUMO service go to -
http: </description>
<model name="echoSample">
<service name="EchoUMO">
<inbound>
<cxf:inbound-endpoint
address="http:
serviceClass="org.mule.example.echo.Echo"/>
</inbound>
<echo-component/>
</service>
</model>
</mule>
If I ask IntelliJ to fetch external resources to resolve the XSD
references, this works fine for all of them except mule-cxf.xsd –
attempting to have IntelliJ fetch this resource results in the following
error:
Error while fetching
http://www.springframework.org/schema/beans/spring-beans.xsd
...followed by a FileNotFoundException
Surfing to http://www.springframework.org/schema/beans
shows that there
is no "spring-beans.xsd", but there is a "spring-beans-2.0.xsd", just as
it is declared in the above XML example. I manually downloaded the
mule-cxf.xsd file and opened it in a text editor, and can see no
explicit reference to "spring-beans.xsd", so at first glance I am
confused as to how this resolution is happening.
If I then go into IntelliJ Settings -> Resources and manually add the
URI and point its location to the manually downloaded XSD, IntelliJ will
then complain that the tag <cxf:inbound-endpoint> is not allowed in that
position. This would seem to be an error, since this is one of the
examples that ships in the archive with the Mule 2.0.1 distribution, and
the above quoted XML config file is pulled directly from that example.
This is causing me no end of headaches, because I rely on IntelliJ to
let me know if my XML is well-formed or not before I go through the
trouble of deploying to a Mule instance and try running it.
Here's some more info from Daniel Feist:
HTH,
Andrew