Announcement Announcement Module
Collapse
No announcement yet.
cvc-elt.1: Cannot find the declaration of element 'services-config' Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • cvc-elt.1: Cannot find the declaration of element 'services-config'

    Hello. This surely must be some schema/parser issue, but I'm struggling and hoping someone else has come across this. I've had this application running with the SpringFactory approach, but then switched over to the Spring-Blazeds integration approach. Now I get:
    Code:
    Caused by: org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'services-config'.
    	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
    	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)
    	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
    My application does not deviate too far from the TestDrive, ie. I've copied the libs, most of the configs. For the applicationContext.xml, I have:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" 
           xmlns:flex="http://www.springframework.org/schema/flex"
           xmlns:util="http://www.springframework.org/schema/util" 
           xmlns:p="http://www.springframework.org/schema/p" 
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
                               http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd
                               http://www.springframework.org/schema/flex http://www.springframework.org/schema/flex/spring-flex-1.0.xsd">
    
    	<flex:message-broker/>
    	
    	<bean name="workflowAuditService"  class="miniEos.WorkflowAuditService">
    		<flex:remoting-destination />
    	</bean>
    
    	<bean name="workflowService"  class="miniEos.WorkflowService"/>
    
    </beans>
    For the services-config:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <services-config>
    
        <services>
            <service-include file-path="remoting-config.xml" />
            <service-include file-path="proxy-config.xml" />
            <service-include file-path="messaging-config.xml" />        
        </services>
    
        <security>
            <login-command class="flex.messaging.security.TomcatLoginCommand" server="Tomcat"/>
            <!-- Uncomment the correct app server
            <login-command class="flex.messaging.security.TomcatLoginCommand" server="JBoss">
    		<login-command class="flex.messaging.security.JRunLoginCommand" server="JRun"/>        
            <login-command class="flex.messaging.security.WeblogicLoginCommand" server="Weblogic"/>
            <login-command class="flex.messaging.security.WebSphereLoginCommand" server="WebSphere"/>
            -->
    
            <!-- 
            <security-constraint id="basic-read-access">
                <auth-method>Basic</auth-method>
                <roles>
                    <role>guests</role>
                    <role>accountants</role>
                    <role>employees</role>
                    <role>managers</role>
                </roles>
            </security-constraint>
             -->
        </security>
    
        <channels>
    
            <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
                <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
            </channel-definition>
    
            <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
                <endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>
                <properties>
                    <add-no-cache-headers>false</add-no-cache-headers>
                </properties>
            </channel-definition>
    
            <channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
                <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
                <properties>
                    <polling-enabled>true</polling-enabled>
                    <polling-interval-seconds>4</polling-interval-seconds>
                </properties>
            </channel-definition>
    
            <!--
            <channel-definition id="my-http" class="mx.messaging.channels.HTTPChannel">
                <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/http" class="flex.messaging.endpoints.HTTPEndpoint"/>
            </channel-definition>
    
            <channel-definition id="my-secure-http" class="mx.messaging.channels.SecureHTTPChannel">
                <endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/httpsecure" class="flex.messaging.endpoints.SecureHTTPEndpoint"/>
                <properties>
                    <add-no-cache-headers>false</add-no-cache-headers>
                </properties>
            </channel-definition>
            -->
        </channels>
    
        <logging>
            <target class="flex.messaging.log.ConsoleTarget" level="Error">
                <properties>
                    <prefix>[BlazeDS] </prefix>
                    <includeDate>false</includeDate>
                    <includeTime>false</includeTime>
                    <includeLevel>false</includeLevel>
                    <includeCategory>false</includeCategory>
                </properties>
                <filters>
                    <pattern>Endpoint.*</pattern>
                    <pattern>Service.*</pattern>
                    <pattern>Configuration</pattern>
                </filters>
            </target>
        </logging>
    
        <system>
            <redeploy>
                <enabled>false</enabled>
                <!-- 
                <watch-interval>20</watch-interval>
                <watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-file>
                <watch-file>{context.root}/WEB-INF/flex/proxy-config.xml</watch-file>
                <watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-file>
                <watch-file>{context.root}/WEB-INF/flex/messaging-config.xml</watch-file>
                <watch-file>{context.root}/WEB-INF/flex/data-management-config.xml</watch-file>
                <touch-file>{context.root}/WEB-INF/web.xml</touch-file>
                 -->
            </redeploy>
        </system>
        
        <!--added as part of spring integration -->
        <factories>
            <factory id="spring" class="flex.SpringFactory"/>
        </factories>
        <!--added as part of spring integration -->
    
    </services-config>
    Any idea what's missing?

  • #2
    Hmm, that's an odd one. Where is your services-config.xml located?

    Comment


    • #3
      The file is located in the default location /WEB-INF/flex/services-config.xml. I presume that is correct, as I'll get the following error if I remove/rename it:
      Code:
      java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/flex/services-config.xml]

      Comment


      • #4
        Right, that's the correct default location. Something else must be wrong with your setup, because I was able to copy the contents of your services-config.xml and start successfully.

        Comment


        • #5
          You're right, seems like Eclipse JEE Tomcat Server was not playing ball. Works within a maven jetty plugin, so I'm happy. Thanks for your efforts.

          Comment

          Working...
          X