You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Christian Schneider (JIRA)" <ji...@apache.org> on 2008/07/27 22:05:31 UTC

[jira] Created: (CXF-1724) Nullpointer error in DOMUtils

Nullpointer error in DOMUtils
-----------------------------

                 Key: CXF-1724
                 URL: https://issues.apache.org/jira/browse/CXF-1724
             Project: CXF
          Issue Type: Bug
    Affects Versions: 2.1.1
            Reporter: Christian Schneider
             Fix For: 2.1.2


When I set endpointName to a simple string without prefix in an endpoint definition I get a Nullpointer exception in DOMUtils. This is probably easy to fix.

    public static String getNamespace(Element el, String pre) {
        NamedNodeMap atts = el.getAttributes();
        for (int i = 0; i < atts.getLength(); i++) {
            Node node = atts.item(i);
            String name = node.getLocalName();
            String pre2 = node.getPrefix();
            if (pre.equals(name) && "xmlns".equals(pre2)) {
                return node.getNodeValue();
            } else if (pre.length() == 0 && "xmlns".equals(name) && pre2.length() == 0) {  <======= The error happens at pre2.length when pre2 is null
                return node.getNodeValue();
            }
        }

I have attached the stack trace:

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [spring-config/server-applicationContext.xml]; nested exception is java.lang.NullPointerException
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80)
	at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
	at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:423)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:353)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
	at com.mycompany.examples.customerrelations.ServiceServer.main(ServiceServer.java:15)
Caused by: java.lang.NullPointerException
	at org.apache.cxf.helpers.DOMUtils.getNamespace(DOMUtils.java:397)
	at org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser.parseQName(AbstractBeanDefinitionParser.java:352)
	at org.apache.cxf.jaxws.spring.EndpointDefinitionParser.doParse(EndpointDefinitionParser.java:85)
	at org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:84)
	at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:56)
	at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
	at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1255)
	at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1245)
	at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
	at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
	... 14 more


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CXF-1724) Nullpointer error in DOMUtils

Posted by "Dave Leatherdale (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dave Leatherdale updated CXF-1724:
----------------------------------

    Attachment: CXF-1724.diff

Added a null check to the part of code in question. Not sure that a blank string will ever be returned but i coded to accept with null or a blank string. Added some javadoc and renamed most of the variables so they make more sense to me.

Dave

> Nullpointer error in DOMUtils
> -----------------------------
>
>                 Key: CXF-1724
>                 URL: https://issues.apache.org/jira/browse/CXF-1724
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.1.1
>            Reporter: Christian Schneider
>             Fix For: 2.1.2
>
>         Attachments: CXF-1724.diff
>
>
> When I set endpointName to a simple string without prefix in an endpoint definition I get a Nullpointer exception in DOMUtils. This is probably easy to fix.
>     public static String getNamespace(Element el, String pre) {
>         NamedNodeMap atts = el.getAttributes();
>         for (int i = 0; i < atts.getLength(); i++) {
>             Node node = atts.item(i);
>             String name = node.getLocalName();
>             String pre2 = node.getPrefix();
>             if (pre.equals(name) && "xmlns".equals(pre2)) {
>                 return node.getNodeValue();
>             } else if (pre.length() == 0 && "xmlns".equals(name) && pre2.length() == 0) {  <======= The error happens at pre2.length when pre2 is null
>                 return node.getNodeValue();
>             }
>         }
> I have attached the stack trace:
> Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [spring-config/server-applicationContext.xml]; nested exception is java.lang.NullPointerException
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
> 	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
> 	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
> 	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
> 	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
> 	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
> 	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80)
> 	at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
> 	at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:423)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:353)
> 	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
> 	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
> 	at com.mycompany.examples.customerrelations.ServiceServer.main(ServiceServer.java:15)
> Caused by: java.lang.NullPointerException
> 	at org.apache.cxf.helpers.DOMUtils.getNamespace(DOMUtils.java:397)
> 	at org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser.parseQName(AbstractBeanDefinitionParser.java:352)
> 	at org.apache.cxf.jaxws.spring.EndpointDefinitionParser.doParse(EndpointDefinitionParser.java:85)
> 	at org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:84)
> 	at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:56)
> 	at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
> 	at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1255)
> 	at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1245)
> 	at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
> 	at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
> 	... 14 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CXF-1724) Nullpointer error in DOMUtils

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1724?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-1724.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.9
         Assignee: Daniel Kulp


Patch applied.

(Although my comment in the commit message was wrong.  Patch from Dave Leatherdale)

> Nullpointer error in DOMUtils
> -----------------------------
>
>                 Key: CXF-1724
>                 URL: https://issues.apache.org/jira/browse/CXF-1724
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.1.1
>            Reporter: Christian Schneider
>            Assignee: Daniel Kulp
>             Fix For: 2.1.2, 2.0.9
>
>         Attachments: CXF-1724.diff
>
>
> When I set endpointName to a simple string without prefix in an endpoint definition I get a Nullpointer exception in DOMUtils. This is probably easy to fix.
>     public static String getNamespace(Element el, String pre) {
>         NamedNodeMap atts = el.getAttributes();
>         for (int i = 0; i < atts.getLength(); i++) {
>             Node node = atts.item(i);
>             String name = node.getLocalName();
>             String pre2 = node.getPrefix();
>             if (pre.equals(name) && "xmlns".equals(pre2)) {
>                 return node.getNodeValue();
>             } else if (pre.length() == 0 && "xmlns".equals(name) && pre2.length() == 0) {  <======= The error happens at pre2.length when pre2 is null
>                 return node.getNodeValue();
>             }
>         }
> I have attached the stack trace:
> Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [spring-config/server-applicationContext.xml]; nested exception is java.lang.NullPointerException
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420)
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
> 	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
> 	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
> 	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
> 	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
> 	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
> 	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80)
> 	at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
> 	at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:423)
> 	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:353)
> 	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
> 	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
> 	at com.mycompany.examples.customerrelations.ServiceServer.main(ServiceServer.java:15)
> Caused by: java.lang.NullPointerException
> 	at org.apache.cxf.helpers.DOMUtils.getNamespace(DOMUtils.java:397)
> 	at org.apache.cxf.configuration.spring.AbstractBeanDefinitionParser.parseQName(AbstractBeanDefinitionParser.java:352)
> 	at org.apache.cxf.jaxws.spring.EndpointDefinitionParser.doParse(EndpointDefinitionParser.java:85)
> 	at org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser.parseInternal(AbstractSingleBeanDefinitionParser.java:84)
> 	at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:56)
> 	at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:69)
> 	at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1255)
> 	at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1245)
> 	at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:135)
> 	at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
> 	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
> 	... 14 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.