I'm trying to convert an xml result to string with documentbuilder. I built the following function in order to get all the results from the database, when I store them in a list and send them to a list everything is fine, but when I try to show my results as a string xml, the next error comes up.
WS00041: Service invocation threw an exception with message : null; Refer to the server log for more details
Exceptions details : java.lang.reflect.InvocationTargetException
javax.servlet.ServletException: java.lang.reflect.InvocationTargetException
at org.glassfish.webservices.monitoring.WebServiceTesterServlet.doPost(WebServiceTesterServlet.java:342)
at org.glassfish.webservices.monitoring.WebServiceTesterServlet.invoke(WebServiceTesterServlet.java:106)
at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:157)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.glassfish.webservices.monitoring.WebServiceTesterServlet.doPost(WebServiceTesterServlet.java:313) ... 32 more
Caused by: com.sun.xml.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: java.lang.IllegalArgumentException: Can not set java.util.List field NewWebServiceMaterias.jaxws.GetMateriaResponse._return to java.lang.String Please see the server log to find more detail regarding exact cause of the failure.
at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:193)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:131)
at com.sun.xml.ws.client.sei.StubHandler.readResponse(StubHandler.java:253)
at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:203)
at com.sun.xml.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:290)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:92)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:161)
at com.sun.proxy.$Proxy283.getMateria(Unknown Source) ... 37 more
code:
#WebMethod(operationName = "getMateria")
public String getMateria() {
Conexion c = new Conexion();
Connection cn = c.Conectar();
List<Materia> materia;
String mensaje;
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder;
try {
docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement("materia");
doc.appendChild(rootElement);
try {
Statement st = cn.createStatement();
ResultSet rs = st.executeQuery("select * from asignaturas");
materia = new ArrayList<>();
while (rs.next()) {
materia.add(new Materia(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4)));
Element nombreMateria = doc.createElement("nombre");
nombreMateria.appendChild(doc.createTextNode(rs.getString(3)));
Element detMateria = doc.createElement("detalle");
detMateria.appendChild(doc.createTextNode(rs.getString(4)));
rootElement.appendChild(nombreMateria);
rootElement.appendChild(detMateria);
}
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
//transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
StringWriter writer = new StringWriter();
transformer.transform(new DOMSource(doc), new StreamResult(writer));
String output = writer.getBuffer().toString().replaceAll("\n|\r", "");
return output;
} catch (SQLException | DOMException | TransformerException e) {
mensaje = "este es un error" + e.getMessage();
}
} catch (ParserConfigurationException ex) {
Logger.getLogger(NewWebServiceMaterias.class.getName()).log(Level.SEVERE, null, ex);
mensaje = "ESTAMOS EN EL ERROR 1" + ex.getMessage();
}
return mensaje + "El valor no se ha encontrado";
}
One of the possible reasons: you retrieve column values from right-to-left order and more then once:
while (rs.next()) {
materia.add(new Materia(rs.getInt(1),
rs.getString(2), rs.getString(3), rs.getString(4)));
// skipped
nombreMateria.appendChild(doc.createTextNode(rs.getString(3)));
detMateria.appendChild(doc.createTextNode(rs.getString(4)));
// skipped
}
This can lead to the mismatch between what you expect (in Materia constructor or when you call apendChild(...)) and what you get (invocation of getString(...) can return NULL).
As said in the documentation:
A default ResultSet object is not updatable and has a cursor that
moves forward only. Thus, you can iterate through it only once and
only from the first row to the last row.
For maximum portability, result set columns within each row should be
read in left-to-right order, and each column should be read only once.
Related
I need to verify signature XADES in signed xml file. I use xades4j v. 1.4.0 but when call method verify throw java.lang.ArrayIndexOutOfBoundsException: 0.
With some file work , with other one no.
I have tried in debug mode and the exception throw in method checkForm -XAdESFormChecker class.
My code:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(inputStream);
DOMHelper.useIdAsXmlId(doc.getDocumentElement());
NodeList nList = doc.getElementsByTagName("ds:Signature");
Element elem = null;
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
elem = (Element) nNode;
elem.setIdAttributeNS(null, "Id", true);
}
}
data = item.getData();
CertificateValidationProvider certValidator = new CertificateValidationProviderImpl();
XadesVerificationProfile p = new XadesVerificationProfile(certValidator);
XadesVerifier v = p.newVerifier();
SignatureSpecificVerificationOptions opts = new SignatureSpecificVerificationOptions().useDataForAnonymousReference(data);
XAdESVerificationResult result = v.verify(elem, opts);
The signature :Xml signature
Can you help me?
What is the error?
EDIT - STACK TRACE
*java.lang.ArrayIndexOutOfBoundsException: 0
at xades4j.verification.XAdESFormChecker$XAdESFormDesc.getPrevious(XAdESFormChecker.java:109)
at xades4j.verification.XAdESFormChecker.checkForm(XAdESFormChecker.java:55)
at xades4j.verification.XadesVerifierImpl.verify(XadesVerifierImpl.java:213)
at it.yyy.kkkFramework.albo.InserimentoRichiestaController.listenerUploadDoc(InserimentoRichiestaController.java:1811)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.el.parser.AstValue.invoke(AstValue.java:187)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at org.richfaces.event.MethodExpressionEventListener.processEvent(MethodExpressionEventListener.java:125)
at org.richfaces.view.facelets.FileUploadHandler$FileUploadListenerImpl.processFileUpload(FileUploadHandler.java:55)
...
xades4j is based in ETSI TS 101 903 (XAdES 1.4.1). You signature, however, contains SigningCertificateV2, which is a property defined in more recent XAdES specs, not yet supported by xades4j. This is causing the error, as the SigningCertificate property is not present.
The library shouldn't be throwing the "array out of bounds" exception (this will be fixed, as it is a bug), but it wouldn't be able to verify the signature. If it wasn't for the bug you'd see the much more obvious exception thrown in this line: https://github.com/luisgoncalves/xades4j/blob/master/src/main/java/xades4j/verification/XAdESFormChecker.java#L64
[#|2017-03-16T11:11:28.612+0200|SEVERE|glassfish
4.1|com.mrkcn.servlet.LoginServ
let|_ThreadID=26;_ThreadName=http-listener-1(2);_TimeMillis=1489655488612;_Level
Value=1000;|
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '#P2'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError
(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServ
erStatement.java:1515)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePrep
aredStatement(SQLServerPreparedStatement.java:404)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecC
md.doExecute(SQLServerPreparedStatement.java:350)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLSe
rverConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLSer
verStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLS
erverStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(
SQLServerPreparedStatement.java:285)
at com.mrkcn.servlet.KonularServlet.doGet(KonularServlet.java:53)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java
:1682)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:318)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:160)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.j
ava:734)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:673)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:174)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.j
ava:416)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:283)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallab
le.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(Container
Mapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.
java:206)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.ja
va:180)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpSer
verFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(Executor
Resolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(De
faultFilterChain.java:283)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart
(DefaultFilterChain.java:200)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultF
ilterChain.java:132)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultF
ilterChain.java:111)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.jav
a:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNI
OTransport.java:536)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(Abstr
actIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerTh
readIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(Wo
rkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadR
unnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(Abs
tractThreadPool.java:591)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(Abstra
ctThreadPool.java:571)
at java.lang.Thread.run(Thread.java:745)
|#]
I am using java netbeans web service. Mssql gives error during den select command. What can be the problem ?
There is no trouble in another question. Did I put the question marks at the wrong place? No problem with sql as seen from sql management
String uye = req.getParameter("uye");
JSONObject j = new JSONObject();
ArrayList<String> konularList = new ArrayList<String>(100);
ConnectInfo connect = new ConnectInfo();
Connection con;
PreparedStatement pstmt;
ResultSet rs;
PrintWriter out = resp.getWriter();
con=connect.baglanti();
String Sorgu = "select t.id,t.uye,t.baslik,t.mesaj,t.kategori,format(t.tarih, 'dd.MM.yyyy HH:mm') as tarih,t.edittarih,t.aktif,t.indirimpuani,t.altkategori,t.link, isnull((select case when t.id = f.konuid and f.uye = ? then '1' else '0' end from takipkonu f where t.id = f.konuid and f.uye = ?),'0') as takip from konular t ?";
pstmt=con.prepareStatement(Sorgu);
pstmt.setString(1,uye);
pstmt.setString(2,uye);
pstmt.setString(3,"order by t.tarih");
rs=pstmt.executeQuery();
while(rs.next())
{
j.put("id", rs.getInt("id"));
j.put("uye",rs.getString("uye"));
j.put("baslik", rs.getString("baslik"));
j.put("mesaj", rs.getString("mesaj"));
j.put("kategori", rs.getString("kategori"));
j.put("altkategori", rs.getString("altkategori"));
j.put("tarih", rs.getString("tarih"));
j.put("edittarih", rs.getString("edittarih"));
j.put("aktif", rs.getInt("aktif"));
j.put("indirimpuani", rs.getInt("indirimpuani"));
j.put("link", rs.getString("link"));
j.put("takip", rs.getString("takip"));
konularList.add(j.toString());
}
I'm writing a Spring MVC based Search API using spring-data-solr 1.0.0.RELEASE with Solr 4.4.0 and Spring 3.2.4.RELEASE.
I'm able to run basic queries but unable to find any good example how can I return score and distance:geodist() in the results.
I know I can get results from Solr using query like
http://localhost:8983/solr/events/select?q=*:*&spatial=true&pt=51.435872%2C-0.427529&sfield=position&d=20&facet=true&facet.mincount=1&facet.limit=-1&facet.field=categoryIds&fl=score,*,distance:geodist()&sort=geodist()+asc
but I don't know how to get score and distance properties returned from Solr using spring-data-solr. I have tried following code
FacetQuery search = new SimpleFacetQuery();
Criteria conditions;// = new Criteria();
if(StringUtils.isNotBlank(searchCriteria.getSearchString()))
conditions = new Criteria(EventDocument.FIELD_EVENT).contains(searchCriteria.getSearchString());
if(searchCriteria.isLocationKnown()){
conditions.and(new Criteria(EventDocument.FIELD_POSITION).within(new GeoLocation(searchCriteria.getLatitude(), searchCriteria.getLongitude()), new Distance(searchCriteria.getDistance(), Distance.Unit.MILES)));
conditions.and(new Criteria(CommonParams.FL).is("score,distance:geodist(),*"));
} else{
conditions.and(new Criteria(CommonParams.FL).is("score,*"));
}
search.addCriteria(conditions);
FacetPage page = solrTemplate.queryForFacetPage(search, EventDocument.class);
but getting following Exception:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.data.solr.UncategorizedSolrException: undefined field fl; nested exception is org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: undefined field fl
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:948)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
root cause
org.springframework.data.solr.UncategorizedSolrException: undefined field fl; nested exception is org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: undefined field fl
org.springframework.data.solr.core.SolrTemplate.execute(SolrTemplate.java:122)
org.springframework.data.solr.core.SolrTemplate.executeSolrQuery(SolrTemplate.java:330)
org.springframework.data.solr.core.SolrTemplate.query(SolrTemplate.java:326)
org.springframework.data.solr.core.SolrTemplate.queryForFacetPage(SolrTemplate.java:285)
com.johnstonpress.api.repository.EventDocumentRepositoryImpl.search(EventDocumentRepositoryImpl.java:72)
com.johnstonpress.api.service.SearchEventServiceImpl.search(SearchEventServiceImpl.java:106)
com.johnstonpress.api.controller.EventsSearchController.searchEvents(EventsSearchController.java:124)
com.johnstonpress.api.controller.EventsSearchController.search(EventsSearchController.java:68)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:745)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:686)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:936)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:827)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:812)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
Thanks for any attention and help!!!
To set fl you have to use query.addProjectionOnField(String fieldname).
SimpleQuery query = new SimpleQuery(conditions);
query.addProjectionOnField("*");
query.addProjectionOnField("score");
For mapping score into EventDocument you'll have to add the property as follows.
#Indexed(value = "score", readonly = true)
private Float score;
Unfortunately there seems to be an issue with geodist() that might be caused by the way spring data solr creates spatial query.
Opended DATASOLR-130 for that.
Distance can be requested using SolrCallback along with SolrTemplate by setting spatial paramters yourself.
SimpleQuery query = new SimpleQuery(conditions);
query.addProjectionOnField("*");
query.addProjectionOnField("distance:geodist()");
DefaultQueryParser qp = new DefaultQueryParser();
final SolrQuery solrQuery = qp.constructSolrQuery(query);
solrQuery.add("sfield", "store");
solrQuery.add("pt", GeoConverters.GeoLocationToStringConverter.INSTANCE.convert(new GeoLocation(45.15, -93.85)));
solrQuery.add("d", GeoConverters.DistanceToStringConverter.INSTANCE.convert(new Distance(5)));
List<EventDocument> result = template.execute(new SolrCallback<List<EventDocument>>() {
#Override
public List<EventDocument> doInSolr(SolrServer solrServer) throws SolrServerException, IOException {
return template.getConverter().read(solrServer.query(solrQuery).getResults(), EventDocument.class);
}
});
A litte bit easier would be to provide required parameters for geodist().
SimpleQuery query = new SimpleQuery(conditions);
query.addProjectionOnField("*");
query.addProjectionOnField("distance:geodist(store," + GeoConverters.GeoLocationToStringConverter.INSTANCE.convert(new GeoLocation(45.15, -93.85)) + ")");
Page<EventDocument> result = template.queryForPage(query, EventDocument.class);
hope that helps!
I´m trying to parse a xml but getting a error.
public static String xmlVersion(String source) {
try {
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(source);
return document.getDocumentElement().getAttribute("versao");
} catch (SAXException | IOException | ParserConfigurationException e) {
e.printStackTrace();
}
return null;
}
And the stackTrace
java.net.MalformedURLException: no protocol: <?xml version="1.0" encoding="UTF-8"?><nfeProc versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe"><NFe xmlns="http://www.portalfiscal.inf.br/nfe"><infNFe versao="2.00" Id="NFe31130605633253000205550010000002571000169370"><ide><cUF>31</cUF><cNF>00016937</cNF><natOp>Devolucao de compra para comercializacao em operacao com mer</natOp><indPag>0</indPag><mod>55</mod><serie>1</serie><nNF>257</nNF><dEmi>2013-06-14</dEmi><dSaiEnt>2013-06-14</dSaiEnt><tpNF>1</tpNF><cMunFG>3147907</cMunFG><tpImp>1</tpImp><tpEmis>1</tpEmis><cDV>0</cDV><tpAmb>1</tpAmb><finNFe>1</finNFe><procEmi>0</procEmi><verProc>2.0.1.2</verProc></ide><emit><CNPJ>05633253000205</CNPJ><xNome>SUPERMERCADO EXPOSICAO LTDA</xNome><xFant>SUPERMERCADO EXPOSICAO 2</xFant><enderEmit><xLgr>RUA JOAO TEIXEIRA MENDES</xLgr><nro>541</nro><xBairro>N.S.APARECIDA</xBairro><cMun>3147907</cMun><xMun>PASSOS</xMun><UF>MG</UF><CEP>37902419</CEP><cPais>1058</cPais><xPais>BRASIL</xPais><fone>3535215796</fone></enderEmit><IE>4792308680128</IE><CRT>3</CRT></emit><dest><CNPJ>16849231000619</CNPJ><xNome>ITAMBE ALIMENTOS S A</xNome><enderDest><xLgr>RODOVIA BR 262 ANEXO I KM403</xLgr><nro>S/N</nro><xBairro>PATAFUFO</xBairro><cMun>3147105</cMun><xMun>Para de Minas</xMun><UF>MG</UF><CEP>35661390</CEP><cPais>1058</cPais><xPais>BRASIL</xPais></enderDest><IE>0020322880432</IE></dest><det nItem="1"><prod><cProd>13169</cProd><cEAN>7896051111832</cEAN><xProd>BEBIDA LACTEA ITAMBE FAMILIA VITAMINA C/ FRUTAS 1L</xProd><NCM>04039000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>1.0000</qCom><vUnCom>3.1900000000</vUnCom><vProd>3.19</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>1.0000</qTrib><vUnTrib>3.1900000000</vUnTrib><vOutro>0.07</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>1.24</vBC><pICMS>18.00</pICMS><vICMS>0.22</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISNT><CST>06</CST></PISNT></PIS><COFINS><COFINSNT><CST>06</CST></COFINSNT></COFINS></imposto></det><det nItem="2"><prod><cProd>23003</cProd><cEAN>7896051121831</cEAN><xProd>COALHADA ITAMBE DESNATADA 130GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>3.0000</qCom><vUnCom>0.8300000000</vUnCom><vProd>2.49</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>3.0000</qTrib><vUnTrib>0.8300000000</vUnTrib><vOutro>0.05</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>33.33</pRedBC><vBC>1.66</vBC><pICMS>18.00</pICMS><vICMS>0.30</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISAliq><CST>01</CST><vBC>0.00</vBC><pPIS>0.00</pPIS><vPIS>0.00</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>0.00</vBC><pCOFINS>0.00</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSAliq></COFINS></imposto></det><det nItem="3"><prod><cProd>23004</cProd><cEAN>7896051125037</cEAN><xProd>IOGURTE FRUTAMBE BAUNILHA AMEIXA 130GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>7.0000</qCom><vUnCom>0.9800000000</vUnCom><vProd>6.86</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>7.0000</qTrib><vUnTrib>0.9800000000</vUnTrib><vOutro>0.15</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>2.67</vBC><pICMS>18.00</pICMS><vICMS>0.48</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISAliq><CST>01</CST><vBC>0.00</vBC><pPIS>0.00</pPIS><vPIS>0.00</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>0.00</vBC><pCOFINS>0.00</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSAliq></COFINS></imposto></det><det nItem="4"><prod><cProd>23005</cProd><cEAN>7896051125259</cEAN><xProd>IOGURTE FRUTAMBE BAUNILHA MARACUJA 130GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>9.0000</qCom><vUnCom>0.9500000000</vUnCom><vProd>8.55</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>9.0000</qTrib><vUnTrib>0.9500000000</vUnTrib><vOutro>0.18</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>3.33</vBC><pICMS>18.00</pICMS><vICMS>0.60</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISAliq><CST>01</CST><vBC>0.00</vBC><pPIS>0.00</pPIS><vPIS>0.00</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>0.00</vBC><pCOFINS>0.00</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSAliq></COFINS></imposto></det><det nItem="5"><prod><cProd>23010</cProd><cEAN>7896051127093</cEAN><xProd>IOGURTE ITAMBE GOODY FRUTI 600GR</xProd><NCM>04039000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>5.0000</qCom><vUnCom>1.7500000000</vUnCom><vProd>8.75</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>5.0000</qTrib><vUnTrib>1.7500000000</vUnTrib><vOutro>0.19</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>3.40</vBC><pICMS>18.00</pICMS><vICMS>0.61</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISAliq><CST>01</CST><vBC>0.00</vBC><pPIS>0.00</pPIS><vPIS>0.00</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>0.00</vBC><pCOFINS>0.00</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSAliq></COFINS></imposto></det><det nItem="6"><prod><cProd>23011</cProd><cEAN>7896051121268</cEAN><xProd>IOGURTE ITAMBE NATURAL C/MEL 180GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>7.0000</qCom><vUnCom>0.8900000000</vUnCom><vProd>6.23</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>7.0000</qTrib><vUnTrib>0.8900000000</vUnTrib><vOutro>0.13</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>2.42</vBC><pICMS>18.00</pICMS><vICMS>0.44</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISAliq><CST>01</CST><vBC>0.00</vBC><pPIS>0.00</pPIS><vPIS>0.00</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>0.00</vBC><pCOFINS>0.00</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSAliq></COFINS></imposto></det><det nItem="7"><prod><cProd>23012</cProd><cEAN>7896051121282</cEAN><xProd>IOGURTE ITAMBE NATURAL DESNATADO 180GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>2.0000</qCom><vUnCom>0.8900000000</vUnCom><vProd>1.78</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>2.0000</qTrib><vUnTrib>0.8900000000</vUnTrib><vOutro>0.04</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>0.69</vBC><pICMS>18.00</pICMS><vICMS>0.12</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISAliq><CST>01</CST><vBC>0.00</vBC><pPIS>0.00</pPIS><vPIS>0.00</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>0.00</vBC><pCOFINS>0.00</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSAliq></COFINS></imposto></det><det nItem="8"><prod><cProd>23014</cProd><cEAN>7896051121251</cEAN><xProd>IOGURTE ITAMBE NATURAL INTEGRAL 180GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>7.0000</qCom><vUnCom>0.8900000000</vUnCom><vProd>6.23</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>7.0000</qTrib><vUnTrib>0.8900000000</vUnTrib><vOutro>0.13</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>2.42</vBC><pICMS>18.00</pICMS><vICMS>0.44</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISAliq><CST>01</CST><vBC>0.00</vBC><pPIS>0.00</pPIS><vPIS>0.00</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>0.00</vBC><pCOFINS>0.00</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSAliq></COFINS></imposto></det><det nItem="9"><prod><cProd>23014</cProd><cEAN>7896051121251</cEAN><xProd>IOGURTE ITAMBE NATURAL INTEGRAL 180GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>8.0000</qCom><vUnCom>1.2500000000</vUnCom><vProd>10.00</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>8.0000</qTrib><vUnTrib>1.2500000000</vUnTrib><vOutro>0.21</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>3.89</vBC><pICMS>18.00</pICMS><vICMS>0.70</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISAliq><CST>01</CST><vBC>0.00</vBC><pPIS>0.00</pPIS><vPIS>0.00</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>0.00</vBC><pCOFINS>0.00</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSAliq></COFINS></imposto></det><det nItem="10"><prod><cProd>23017</cProd><cEAN>7896051142249</cEAN><xProd>IOGURTE ITAMBEZINHO FRUTAS 360GR</xProd><NCM>40610900</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>5.0000</qCom><vUnCom>2.0900000000</vUnCom><vProd>10.45</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>5.0000</qTrib><vUnTrib>2.0900000000</vUnTrib><vOutro>0.22</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>4.06</vBC><pICMS>18.00</pICMS><vICMS>0.73</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISNT><CST>06</CST></PISNT></PIS><COFINS><COFINSNT><CST>06</CST></COFINSNT></COFINS></imposto></det><det nItem="11"><prod><cProd>23018</cProd><cEAN>7896051142218</cEAN><xProd>IOGURTE ITAMBEZINHO MORANGO 360GR</xProd><NCM>04061090</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>2.0000</qCom><vUnCom>1.9600000000</vUnCom><vProd>3.92</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>2.0000</qTrib><vUnTrib>1.9600000000</vUnTrib><vOutro>0.08</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>1.52</vBC><pICMS>18.00</pICMS><vICMS>0.27</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISNT><CST>06</CST></PISNT></PIS><COFINS><COFINSNT><CST>06</CST></COFINSNT></COFINS></imposto></det><det nItem="12"><prod><cProd>23020</cProd><cEAN>7896051123842</cEAN><xProd>IOGURTE VITAMBE COCO 180GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>15.0000</qCom><vUnCom>0.8500000000</vUnCom><vProd>12.75</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>15.0000</qTrib><vUnTrib>0.8500000000</vUnTrib><vOutro>0.27</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>4.96</vBC><pICMS>18.00</pICMS><vICMS>0.89</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISNT><CST>06</CST></PISNT></PIS><COFINS><COFINSNT><CST>06</CST></COFINSNT></COFINS></imposto></det><det nItem="13"><prod><cProd>23021</cProd><cEAN>7896051123859</cEAN><xProd>IOGURTE VITAMBE FRUTAS VERMELHAS 180GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>1.0000</qCom><vUnCom>0.8500000000</vUnCom><vProd>0.85</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>1.0000</qTrib><vUnTrib>0.8500000000</vUnTrib><vOutro>0.02</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>0.33</vBC><pICMS>18.00</pICMS><vICMS>0.06</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISNT><CST>06</CST></PISNT></PIS><COFINS><COFINSNT><CST>06</CST></COFINSNT></COFINS></imposto></det><det nItem="14"><prod><cProd>23023</cProd><cEAN>7896051123828</cEAN><xProd>IOGURTE VITAMBE MARACUJA 180GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>2.0000</qCom><vUnCom>0.8500000000</vUnCom><vProd>1.70</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>2.0000</qTrib><vUnTrib>0.8500000000</vUnTrib><vOutro>0.04</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>0.66</vBC><pICMS>18.00</pICMS><vICMS>0.12</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISNT><CST>06</CST></PISNT></PIS><COFINS><COFINSNT><CST>06</CST></COFINSNT></COFINS></imposto></det><det nItem="15"><prod><cProd>23024</cProd><cEAN>7896051123811</cEAN><xProd>IOGUTE VITAMBE MORANGO 180GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>11.0000</qCom><vUnCom>0.8500000000</vUnCom><vProd>9.35</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>11.0000</qTrib><vUnTrib>0.8500000000</vUnTrib><vOutro>0.20</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>3.64</vBC><pICMS>18.00</pICMS><vICMS>0.66</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISNT><CST>06</CST></PISNT></PIS><COFINS><COFINSNT><CST>06</CST></COFINSNT></COFINS></imposto></det><det nItem="16"><prod><cProd>23027</cProd><cEAN>7896051126010</cEAN><xProd>LEITE FERMENTADO ITAMBE 80GR</xProd><NCM>40390000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>4.0000</qCom><vUnCom>0.4100000000</vUnCom><vProd>1.64</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>4.0000</qTrib><vUnTrib>0.4100000000</vUnTrib><vOutro>0.04</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>0.64</vBC><pICMS>18.00</pICMS><vICMS>0.12</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISNT><CST>06</CST></PISNT></PIS><COFINS><COFINSNT><CST>06</CST></COFINSNT></COFINS></imposto></det><det nItem="17"><prod><cProd>23068</cProd><cEAN>7896051121817</cEAN><xProd>COALHADA ITAMBE NATURAL 130GR</xProd><NCM>40310000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>1.0000</qCom><vUnCom>0.8300000000</vUnCom><vProd>0.83</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>1.0000</qTrib><vUnTrib>0.8300000000</vUnTrib><vOutro>0.02</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>33.33</pRedBC><vBC>0.55</vBC><pICMS>18.00</pICMS><vICMS>0.10</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISAliq><CST>01</CST><vBC>0.00</vBC><pPIS>0.00</pPIS><vPIS>0.00</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>0.00</vBC><pCOFINS>0.00</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSAliq></COFINS></imposto></det><det nItem="18"><prod><cProd>23384</cProd><cEAN>7896051125525</cEAN><xProd>IOGURTE ITAMBE FIT MORANGO MACA AMEIXA 100GR</xProd><NCM>04031000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>1.0000</qCom><vUnCom>0.4000000000</vUnCom><vProd>0.40</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>1.0000</qTrib><vUnTrib>0.4000000000</vUnTrib><vOutro>0.01</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>0.16</vBC><pICMS>18.00</pICMS><vICMS>0.03</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISAliq><CST>01</CST><vBC>0.00</vBC><pPIS>0.00</pPIS><vPIS>0.00</vPIS></PISAliq></PIS><COFINS><COFINSAliq><CST>01</CST><vBC>0.00</vBC><pCOFINS>0.00</pCOFINS><vCOFINS>0.00</vCOFINS></COFINSAliq></COFINS></imposto></det><det nItem="19"><prod><cProd>24367</cProd><cEAN>7896051161011</cEAN><xProd>IOGURTE ITAMBEZINHO MORANGO 180GR</xProd><NCM>04031000</NCM><CFOP>5411</CFOP><uCom>UN</uCom><qCom>18.0000</qCom><vUnCom>0.8500000000</vUnCom><vProd>15.30</vProd><cEANTrib/><uTrib>UN</uTrib><qTrib>18.0000</qTrib><vUnTrib>0.8500000000</vUnTrib><vOutro>0.34</vOutro><indTot>1</indTot></prod><imposto><ICMS><ICMS70><orig>0</orig><CST>70</CST><modBC>2</modBC><pRedBC>61.11</pRedBC><vBC>5.95</vBC><pICMS>18.00</pICMS><vICMS>1.07</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS70></ICMS><PIS><PISNT><CST>06</CST></PISNT></PIS><COFINS><COFINSNT><CST>06</CST></COFINSNT></COFINS></imposto></det><total><ICMSTot><vBC>44.19</vBC><vICMS>7.96</vICMS><vBCST>0.00</vBCST><vST>0.00</vST><vProd>111.27</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>2.39</vOutro><vNF>113.66</vNF></ICMSTot></total><transp><modFrete>9</modFrete></transp><infAdic><infCpl>BC ICMS ST 57,45 2-3-4-5-6-7-8-9-17-18- 1-10-11-12-13-14-15-16-19-</infCpl></infAdic></infNFe><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#NFe31130605633253000205550010000002571000169370"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>9WsoFBTh8atNnEZJn45m83jRBpM=</DigestValue></Reference></SignedInfo><SignatureValue>UKpRdw1Sv+lMvkKdplOckAqlnWcjIh1R7Ymc44sIfFL8VkuKnDhBr5gj5VV4Q1ItHNjY7hjU7GadHW25iCAyfYnRQULUq4zDuYcc4xwfZ/iU1PMeeeH3QfkE9oDODm+jS6kldX9wPGnzOP3eRukk57RMcrfnyjofGHigGaZyWumZkMMYATG8ZBVmtLsBLtFhH66nBtaCBcBFGoZ9bDNOSmFaVeM/Gi5sJaBivImRXcXB0KrA2JSakqUxmNT/UwGasolrpclRp6UPvmqu44g/c2t91Fu2CqzN8nU+dKYBpO5UEY+PSBSVmA9YkBLMvFY49Fa8+95MgTKFicqs60bNoQ==</SignatureValue><KeyInfo><X509Data><X509Certificate>MIIILTCCBhWgAwIBAgIQJ9/fNxNJaVAK40MVZ+dGRTANBgkqhkiG9w0BAQsFADB1MQswCQYDVQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDE2MDQGA1UECxMtU2VjcmV0YXJpYSBkYSBSZWNlaXRhIEZlZGVyYWwgZG8gQnJhc2lsIC0gUkZCMRkwFwYDVQQDExBBQyBTSU5DT1IgUkZCIEc0MB4XDTEyMDYyMjAwMDAwMFoXDTE1MDYyMTIzNTk1OVowgesxCzAJBgNVBAYTAkJSMRMwEQYDVQQKFApJQ1AtQnJhc2lsMQswCQYDVQQIEwJNRzEPMA0GA1UEBxQGUEFTU09TMTYwNAYDVQQLFC1TZWNyZXRhcmlhIGRhIFJlY2VpdGEgRmVkZXJhbCBkbyBCcmFzaWwgLSBSRkIxFjAUBgNVBAsUDVJGQiBlLUNOUEogQTMxJDAiBgNVBAsUG0F1dGVudGljYWRvIHBvciBBUiBBUk1BQ1NFRzEzMDEGA1UEAxMqU1VQRVJNRVJDQURPIEVYUE9TSUNBTyBMVERBOjA1NjMzMjUzMDAwMjA1MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArZ0Wo7DYw+amjLN2TjKgU6ZH92oYC9xOpyWA6AyO1c9lLOyTOdaRFu1gIQPAeuEIhCtOpTHWXFM1FjhDtFeMRslPvIeaIIqYLlKkAYEaCprPo3vnnZA9F47Pmiq+70f6TrKI17xI1C3B24vY4aKO2BuOOq+SIl4CESIRL2b+oHUDi1NJs2KU3mMIXFu2VPrutfk3jh+JameeUomhhYkGI+EG+Vd/p+EUWRGZLog9sEz6SH1XsnT67GW7YX51IENmUFTX8rpFI7ohEZZwhL1yuqbJnBc+VlvBv3dNHhRLJNzqisFUhcK0g3eIvlYq958qpLFF3C/RUg4alYsrbMBXZQIDAQABo4IDQDCCAzwwgbgGA1UdEQSBsDCBraA4BgVgTAEDBKAvBC0xOTExMTk3MDc3NDE5NTUzNjUzMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDCgHgYFYEwBAwKgFQQTVEFDSU8gQk9SR0VTIEFWRUxBUqAZBgVgTAEDA6AQBA4wNTYzMzI1MzAwMDIwNaAXBgVgTAEDB6AOBAwwMDAwMDAwMDAwMDCBHXNhY0BldmVyZXN0aW5mb3JtYXRpY2EuY29tLmJyMAkGA1UdEwQCMAAwHwYDVR0jBBgwFoAUKcOB2ehusr9RJA+XRhMMuN7ENZgwDgYDVR0PAQH/BAQDAgXgMHgGA1UdIARxMG8wbQYGYEwBAgMZMGMwYQYIKwYBBQUHAgEWVWh0dHA6Ly9pY3AtYnJhc2lsLmFjc2luY29yLmNvbS5ici9yZXBvc2l0b3Jpby9kcGMvQUNfU0lOQ09SX1JGQi9EUENfQUNfU0lOQ09SX1JGQi5wZGYwggENBgNVHR8EggEEMIIBADBUoFKgUIZOaHR0cDovL2ljcC1icmFzaWwuY2VydGlzaWduLmNvbS5ici9yZXBvc2l0b3Jpby9sY3IvQUNTSU5DT1JSRkJHNC9MYXRlc3RDUkwuY3JsMFOgUaBPhk1odHRwOi8vaWNwLWJyYXNpbC5vdXRyYWxjci5jb20uYnIvcmVwb3NpdG9yaW8vbGNyL0FDU0lOQ09SUkZCRzQvTGF0ZXN0Q1JMLmNybDBToFGgT4ZNaHR0cDovL3JlcG9zaXRvcmlvLmljcGJyYXNpbC5nb3YuYnIvbGNyL0NlcnRpc2lnbi9BQ1NJTkNPUlJGQkc0L0xhdGVzdENSTC5jcmwwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMEMIGYBggrBgEFBQcBAQSBizCBiDBcBggrBgEFBQcwAoZQaHR0cDovL2ljcC1icmFzaWwuY2VydGlzaWduLmNvbS5ici9yZXBvc2l0b3Jpby9jZXJ0aWZpY2Fkb3MvQUNfU0lOQ09SX1JGQl9HNC5wN2MwKAYIKwYBBQUHMAGGHGh0dHA6Ly9vY3NwLmNlcnRpc2lnbi5jb20uYnIwDQYJKoZIhvcNAQELBQADggIBAFbKV1EtWcvZmXNZQTSCQVO9R0ix/gPdxAueT9+A5hfrHOfvHRyTjwU7TlcQfDIJPncMu5S1HFkD+C3S/APGDnwP/oCZs1MzmVekQNPfuTBNPNAIamdlRMxNdlDPG4r5H95Xi0GaXyU21WVyAmIVIWcenfd25HCNvDone+9M16tIltU5X83AHeGuy3P1EwxMrFrtgG6uHj4V13JI5usjpR3294NoRsuVhzRllED41ageeC7+J9GuMpbTnQGFQ6seEiUu5Ev2Lgrrf0MH9Eruovr7w69nGmEXCfZf5Cr/iVXJKA84KoG3sET89e4okowHek0xe9PqCBYpfnsgeqV/58PfQi6HqxunGB3hmB+kZ9qwjiITJq9MJ+PSVTaq3QJswekucT6vq7R3GCKDWVLFT3HWXeTgiV5shM/rbxkRLY+D+nvcM1DQOyXsZydX7MNURSVVXkhyxS6IPCZu5xUUsSC2OZprJLi1jjWcAlhCztlspo9bTok2vmC9mHhYf3nV9EC6DNUsH2dVZ58+z48pN+NzrX/MyRa1fINmV6WdF15+GPPEEhycRbwYejmUtkz6sEUhUEZR6fS/C0GXROoM0aVDiV9ImZVVaHrz/6majn6ygGjIF3pYthVLClLjvo3gx/uxy0vtT9vXNZOyHTrlnu0e6skumHxVd+KmyVrsP+1c</X509Certificate></X509Data></KeyInfo></Signature></NFe><protNFe versao="2.00"><infProt><tpAmb>1</tpAmb><verAplic>13_0_89</verAplic><chNFe>31130605633253000205550010000002571000169370</chNFe><dhRecbto>2013-06-14T09:01:24</dhRecbto><nProt>131131126789086</nProt><digVal>9WsoFBTh8atNnEZJn45m83jRBpM=</digVal><cStat>100</cStat><xMotivo>Autorizado o uso da NF-e</xMotivo></infProt></protNFe></nfeProc>
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at java.net.URL.<init>(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at com.nfehost.util.XmlUtil.xmlVersion(XmlUtil.java:34)
at com.nfehost.service.processadora.Processadora.main(Processadora.java:13)
I want to pass a string but I´m getting a error, if a pass a file, everything works.
How can I parse a String source from a xml file?
My xml have a namespace
The method DocumentBuilder#parse(String) that you are using expects the URI of an XML source (e.g. file or HTTP URI), that holds the XML content, not the XML content itself.
If you really want to pass your XML content as a String, consider passing an InputSource wrapped around a StringReader to DocumentBuilder#parse(InputSource):
documentBuilder.parse(new InputSource(new StringReader(source)));
I have spring mvc project in whicn I upload xml file and try to write it to the my xml by DOM, but confront with this exception. When I make attempts to do the same proccesses in usual project - all works fine. Can't understand why it happens..
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
root cause
java.lang.NullPointerException
org.apache.xml.utils.TreeWalker.dispatachChars(TreeWalker.java:303)
org.apache.xml.utils.TreeWalker.startNode(TreeWalker.java:447)
org.apache.xml.utils.TreeWalker.traverse(TreeWalker.java:202)
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:343)
com.mycompany.xmlloader.xmlHandler.DOMParser.saveToCatalog(DOMParser.java:147)
com.mycompany.xmlloader.service.XMLServiceImpl.updateCatalog(XMLServiceImpl.java:48)
com.mycompany.xmlloader.controller.XMLController.uploadToCatalog(XMLController.java:47)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
And snippet of code:
TransformerFactory transfac = TransformerFactory.newInstance();
Transformer trans = transfac.newTransformer();
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
trans.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(catalogFile.toURI().getPath());
Source source = new DOMSource(doc);
trans.transform(source, result);
The likely cause of your problem is a Text node in your Document which has its data set to null. (See here and here for discussions of the problem.)
You can check your Document to see if this diagnosis is correct using the following code:
public static void checkDoc(Node n) {
if (n instanceof Text) {
if (((Text) n).getData() == null) {
System.err.println("null data!!!!");
}
}
NodeList l = n.getChildNodes();
for (int i = 0; i < l.getLength(); ++i) {
checkDoc(l.item(i));
}
}
Call checkDoc on your Document:
checkDoc(doc);
If you see any output, then you now know the immediate cause for your NPE. The solution to your problem is then: Do not build a Document containing Text nodes with null data.