Announcement Announcement Module
Collapse
No announcement yet.
Schema (with imports) validation error on WebSphere Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Schema (with imports) validation error on WebSphere

    Hello,

    we have a problem with validation of the following schema in WebSphere 6.1.0.25:

    HTML Code:
    <xsd:schema targetNamespace="namespace1" xmlns:p13="namespace2" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    	<xsd:import namespace="namespace2" schemaLocation="namespace2.xsd"/>
    	[...]
    	<xsd:complexType name="ResponseMessage">
    		<xsd:sequence>
    			<xsd:element name="Log" type="p13:Log"/>
    		</xsd:sequence>
    	</xsd:complexType>
    	[...]
    </xsd:schema>
    The type Log is defined in namespace2 and the corresponding schema file is located in the same directory as the main schema for namespace1.

    On application start we get an org.springframework.beans.factory.BeanCreationExce ption with the following root cause:

    HTML Code:
    Caused by: org.xml.sax.SAXParseException: src-resolve: Der Name 'p13:Log' kann nicht in eine Komponente 'type definition' aufgelöst werden.
    	at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    	at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
    	at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    	at org.apache.xerces.impl.xs.traversers.XSDHandler.reportSchemaError(Unknown Source)
    	at org.apache.xerces.impl.xs.traversers.XSDHandler.getGlobalDecl(Unknown Source)
    	at org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseNamedElement(Unknown Source)
    	at org.apache.xerces.impl.xs.traversers.XSDElementTraverser.traverseLocal(Unknown Source)
    	at org.apache.xerces.impl.xs.traversers.XSDHandler.traverseLocalElements(Unknown Source)
    	at org.apache.xerces.impl.xs.traversers.XSDHandler.parseSchema(Unknown Source)
    	at org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(Unknown Source)
    	at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(Unknown Source)
    	at org.apache.xerces.impl.xs.XMLSchemaLoader.loadGrammar(Unknown Source)
    	at org.apache.xerces.jaxp.validation.XMLSchemaFactory.newSchema(Unknown Source)
    	at org.springframework.xml.validation.SchemaLoaderUtils.loadSchema(SchemaLoaderUtils.java:77)
    	at org.springframework.xml.validation.Jaxp13ValidatorFactory.createValidator(Jaxp13ValidatorFactory.java:40)
    The bean which could not be created was:

    HTML Code:
    <bean class="org.springframework.ws.soap.addressing.server.AnnotationActionEndpointMapping">
    	<property name="postInterceptors">
    		<list>
    			</bean>
    			<bean id="validator" class="org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor">
    				<property name="schema" value="/WEB-INF/wsdl/namespace1.xsd"/>
    				<property name="validateRequest" value="true"/>
    				<property name="validateResponse" value="true"/>
    			</bean>
    		</list>
    	</property>
    </bean>
    We're using tomcat for development which handles the schema without problems but WebSphere in production seems not to find the types from the imported schemas.

    I've already set WebSphere's classloader for our application to PARENT_LAST mode to use the xerces 2.9.1 implementation packaged with our WAR but that does'nt help.

    Our spring-ws version is the current 1.5.8.

    Any help would be appreciated!

  • #2
    Hello again,

    since this topic is getting more urgent at the moment I'd like to ask again: has anybody had a similar problem? How did you solve it?

    Or is it something obvious - am I missing something (IBM-JDK issue or whatever)? Could someone please point me in the right direction?

    Many thanks!

    Comment

    Working...
    X