Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

java.net.MalformedURLException: no protocol: error

843834Sep 12 2005 — edited Nov 21 2007
Hi friends,

I am trying to parse an XML file but I am getting this error: Any suggestions?
------------
java.net.MalformedURLException: no protocol:
<?xml version="1.0" encoding="ISO-8859-1"?><ws-request><user-name>Tracy Clark</user-name><origin-system>INFO_USA_BOTS</origin-system><credit-check><customer-osr>4026393224</customer-osr><sales-rep-id>12324</sales-rep-id><payment-term>1009</payment-term><order-number>3000161010001</order-number><order-amount>100.40</order-amount><currency-type>USD</currency-type></credit-check></ws-request>
at java.net.URL.<init>(URL.java(Compiled Code))
at java.net.URL.<init>(URL.java:404)
at java.net.URL.<init>(URL.java:358)
at org.apache.xerces.impl.XMLEntityManager.startEntity(XMLEntityManager.java:748)
at org.apache.xerces.impl.XMLEntityManager.startDocumentEntity(XMLEntityManager.java:693)
at org.apache.xerces.impl.XMLDocumentScannerImpl.setInputSource(XMLDocumentScannerImpl.java:260)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:499)
at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserConfiguration.java:581)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
at org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:221)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:209)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at com.jstltest.Jaxp.main(Jaxp.java:160)
-----------

And my program is:

package com.jstltest;
import java.io.File;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.NamedNodeMap;

public class Jaxp {

private static void printNode(Node node, String indent) {

switch (node.getNodeType()) {

case Node.DOCUMENT_NODE:
System.out.println("<xml version=\"1.0\">\n");
// recurse on each child
NodeList nodes = node.getChildNodes();
if (nodes != null) {
for (int i=0; i<nodes.getLength(); i++) {
printNode(nodes.item(i), "");
}
}
break;

case Node.ELEMENT_NODE:
String name = node.getNodeName();
System.out.print(indent + "<" + name);
NamedNodeMap attributes = node.getAttributes();
for (int i=0; i<attributes.getLength(); i++) {
Node current = attributes.item(i);
System.out.print(
" " + current.getNodeName() +
"=\"" + current.getNodeValue() +
"\"");
}
System.out.print(">");

// recurse on each child
NodeList children = node.getChildNodes();
if (children != null) {
for (int i=0; i<children.getLength(); i++) {
printNode(children.item(i), indent + " ");
}
}

System.out.print("</" + name + ">");
break;

case Node.TEXT_NODE:
System.out.print(node.getNodeValue());
break;
}

}


public static String getValidXML() {
StringBuffer sbuffer = new StringBuffer(1024);
sbuffer
.append("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>")
.append("<ws-request>")
.append("<user-name>Tracy Clark</user-name>")
.append("<origin-system>INFO_USA_BOTS</origin-system>")
.append("<credit-check>")
.append("<customer-osr>4026393224</customer-osr>")
.append("<sales-rep-id>12324</sales-rep-id>")
.append("<payment-term>1009</payment-term>")
.append("<order-number>3000161010001</order-number>")
.append("<order-amount>100.40</order-amount>")
.append("<currency-type>USD</currency-type>")
.append("</credit-check>")
.append("</ws-request>");
//System.out.println("Capacity of buffer:"+sbuffer.capacity());
return sbuffer.toString();
}

public static void main(String[] args) {

try {

// Get Document Builder Factory
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();

// Turn on validation, and turn off namespaces
factory.setValidating(false);
factory.setNamespaceAware(true);

// Obtain a document builder object
DocumentBuilder builder = factory.newDocumentBuilder();
//builder.isNamespaceAware(false);

System.out.println();
System.out.println("Parser Implementation : " + builder.getClass());
System.out.println();
Document doc = builder.parse(getValidXML());

// Print the document from the DOM tree and feed it an initial
// indentation of nothing
printNode(doc, "");

System.out.println("\n");

} catch (ParserConfigurationException e) {
System.out.println("The underlying parser does not support " +
"the requested features.");
e.printStackTrace();
} catch (FactoryConfigurationError e) {
System.out.println("Error occurred obtaining Document Builder " +
"Factory.");
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}

}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 19 2007
Added on Sep 12 2005
2 comments
19,305 views