This week's giveaways are in the MongoDB and Jobs Discussion forums.
We're giving away four copies of Mongo DB Applied Patterns and 4 resume reviews from Five Year Itch and have the authors/reps on-line!
See this thread and this one for details.
The moose likes Java in General and the fly likes Java & XML Parsing XML Response String Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


Win a copy of Mongo DB Applied Patterns this week in the MongoDB forum
or a resume review from Five Year Itch in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Java in General
Reply Bookmark "Java & XML Parsing XML Response String" Watch "Java & XML Parsing XML Response String" New topic
Author

Java & XML Parsing XML Response String

Ed Berrey
Greenhorn

Joined: Apr 23, 2004
Posts: 6
Error is: java.net.MalformedURLException: no protocol: <?xml version="1.0"?>

Code used is:
try {
factory = SAXParserFactory.newInstance();
saxParser = factory.newSAXParser();
} catch (Exception e) {
System.out.println("In ShipmentTrackingAction.execute - " + e);
}
try {
handler = new DefaultHandler() {
boolean Shipment_ = false;
public void startElement(String uri, String localName, String qName, Attributes attributes)
throws SAXException {
if (qName.equalsIgnoreCase("Shipment")) {
Shipment_ = true;
}
}

public void characters(char ch[], int start, int length) throws SAXException {
if (Shipment_) {
System.out.println("Shipment: ");
parsedResponse.append("Shipment: ");
parsedResponse.append("<br>");
Shipment_ = false;
}
}
};
saxParser.parse(dhlResponse, handler);
} catch (Exception e) {
parsedResponse.append(dhlResponse);
System.out.println("In ShipmentTrackingAction.dhlParser - " + e);
e.printStackTrace();
}
//return parsedResponse.toString();
return parsedResponse.toString();
}


XML trying to parse starts like this:
<?xml version="1.0"?>
<ECommerce version="1.1" action="Response" timestamp="2005/08/18T12:35:54" transmission_reference="E14D4E8C">


Stack trace is:
java.net.URL.<init>(URL.java(Compiled Code))
java.net.URL.<init>(URL.java(Inlined Compiled Code))
java.net.URL.<init>(URL.java(Inlined Compiled Code))
org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
javax.xml.parsers.SAXParser.parse(Unknown Source)
javax.xml.parsers.SAXParser.parse(Unknown Source)
com.xse.utility.XmlTransmitterSUN.dhlParser(XmlTransmitterSUN.java:693)
com.xse.controller.actions.ShipmentTrackingAction.execute(ShipmentTrackingAction.java:73)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:555)
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
There are a number of parse() signatures on SaxParser but amazingly enough none that take XML as a String. Some take an InputStream, for which you can make a ByteArrayInputStream from the bytes in your String. Let me know if that works.

Something to file away: One clue was in the "no such protocol" error. That's what network classes like URL say when they don't find something like "http:" or "ftp:" on the front of a URL. It was reading your String as a URL and trying to fetch XML from there.
[ August 18, 2005: Message edited by: Stan James ]

A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Ed Berrey
Greenhorn

Joined: Apr 23, 2004
Posts: 6
Thank you very much.
Was exactly what was needed.
Code now works as designed.
Again, thank you!
 
I agree. Here's the link: http://jrebel.com/download
 
subject: Java & XML Parsing XML Response String
 
Similar Threads
ServletException BeanUtils populate
WSDL Exception
Java & XML Parsing XML Response String
Java & XML
jms exception