diff --git a/spring-xml/src/main/java/org/springframework/xml/xsd/SimpleXsdSchema.java b/spring-xml/src/main/java/org/springframework/xml/xsd/SimpleXsdSchema.java index f2bc09d8..5a6fd9c1 100644 --- a/spring-xml/src/main/java/org/springframework/xml/xsd/SimpleXsdSchema.java +++ b/spring-xml/src/main/java/org/springframework/xml/xsd/SimpleXsdSchema.java @@ -43,6 +43,7 @@ import org.springframework.xml.validation.XmlValidatorFactory; * * @author Mark LaFond * @author Arjen Poutsma + * @author Greg Turnquist * @since 1.5.0 */ public class SimpleXsdSchema implements XsdSchema, InitializingBean { @@ -91,6 +92,9 @@ public class SimpleXsdSchema implements XsdSchema, InitializingBean { @Override public String getTargetNamespace() { + + Assert.notNull(schemaElement, "schemaElement must not be null! Did you run afterPropertiesSet() or register this as a Spring bean?"); + return schemaElement.getAttribute("targetNamespace"); } diff --git a/spring-xml/src/test/java/org/springframework/xml/xsd/SimpleXsdSchemaTest.java b/spring-xml/src/test/java/org/springframework/xml/xsd/SimpleXsdSchemaTest.java index 1fc7afa0..d06a5452 100644 --- a/spring-xml/src/test/java/org/springframework/xml/xsd/SimpleXsdSchemaTest.java +++ b/spring-xml/src/test/java/org/springframework/xml/xsd/SimpleXsdSchemaTest.java @@ -16,6 +16,8 @@ package org.springframework.xml.xsd; +import org.junit.Test; + import org.springframework.core.io.Resource; public class SimpleXsdSchemaTest extends AbstractXsdSchemaTestCase { @@ -27,4 +29,11 @@ public class SimpleXsdSchemaTest extends AbstractXsdSchemaTestCase { return schema; } + @Test(expected = IllegalArgumentException.class) + public void testBareXsdSchema() { + + SimpleXsdSchema schema = new SimpleXsdSchema(); + schema.toString(); + } + } \ No newline at end of file