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)