Hello,
Axis version: 1.4
JDK 1.4
The function ()
public static Document newDocument(String uri, String username, String
password)
in the class org.apache.axis.utils.XMLUtils
If the first param 'String uri' contains i18n characters (e.g Chinese
characters), it will lead the exception stack as following:
java.net.MalformedURLException: unknown protocol: j
at java.net.URL.<init>(URL.java:544)
at java.net.URL.<init>(URL.java:434)
at java.net.URL.<init>(URL.java:383)
at
org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at
org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown
Source)
at
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown
Source)
at org.apache.xerces.parsers.DOMParser.parse(Unknown
Source)
at
org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at
org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:369)
at
org.apache.axis.utils.XMLUtils.newDocument(XMLUtils.java:420)
at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:482)
at
org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:361)
at java.lang.Thread.run(Thread.java:534)
If the code patch is added at head of the function, It can accept the uri
with i18 characters.
try
{
uri=uri.replace('\\','/');
URI tempuri = new URI(uri);
uri = tempuri.toASCIIString();
}
catch(URISyntaxException e)
{
e.printStackTrace();
}
I wonder if it is a bug and the code patch is proper.
Thanks
li-wei