DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16977>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=16977 MessageElement.getNamespaceURI() results in a NullPointer if element has an href that does not successfuly resolve Summary: MessageElement.getNamespaceURI() results in a NullPointer if element has an href that does not successfuly resolve Product: Axis Version: current (nightly) Platform: All OS/Version: All Status: NEW Severity: Normal Priority: Other Component: Serialization/Deserialization AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] When a message element has an href that fails to resolve, you can not lookup namespace URI by prefix, and you can not lookup prefixes by namespace. Patch provided is for 1.0 build, but current nightly build still has the same problem. Sample JUnit test: public void testMessageElementNullOngetNamespaceURI() throws Exception{ String data="<anElement xmlns:ns1=\"aNamespace\" href=\"unknownProtocol://data\"/>"; data="<SOAP-ENV:Envelope xmlns:SOAP- ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"><SOAP-ENV:Body>"+ data+"</SOAP-ENV:Body></SOAP-ENV:Envelope>"; MessageContext ctx=new MessageContext(new AxisClient()); DeserializationContext dser = new DeserializationContextImpl( new org.xml.sax.InputSource(new StringReader(data)), ctx, Message.REQUEST); dser.parse(); MessageElement elem=dser.getEnvelope().getBodyByName ("","anElement"); assertEquals("aNamespace",elem.getNamespaceURI("ns1")); assertEquals("ns1",elem.getPrefix("aNamespace")); } patch to the MessageElement.java: RCS file: /home/cvspublic/xml- axis/java/src/org/apache/axis/message/MessageElement.java,v retrieving revision 1.128.4.1 diff -r1.128.4.1 MessageElement.java 315c315 < --- > 448c448,450 < return getRealElement().getPrefix(namespaceURI); --- > MessageElement realElement=getRealElement(); > if(realElement!=null) > return realElement.getPrefix(namespaceURI); 470c472,474 < return getRealElement().getNamespaceURI(prefix); --- > MessageElement realElement=getRealElement(); > if(realElement!=null) > return realElement.getNamespaceURI(prefix);
