Erro no Mozilla Firefox com retorno xml

6 respostas
C

Amigos, estou com um erro em uma aplicação. Presciso que a mesma aplicação me dê na saída um conteúdo em xml. O problema é que no IE o mesmo é gerado sem problemas e no Mozilla Firefox gera um erro, asaber:

Erro no processamento de XML: declaração xml não está no início da entidade externa
Posição: http://192.168.1.248:8080/webservice/ClientMachines.jsp?cid=A744A62E7F51C70788D22FA9ED6E1571
Número da linha 6, Coluna 1:

Embora gere abaixo o resultado em xml. O que será? Uma imcompatibilidade com o Mozzila?

<%<a class="mention" href="/u/page">@page</a> import=“org.apache.axis.client.Call”%>

<%<a class="mention" href="/u/page">@page</a> import=“org.apache.axis.client.Service”%>

<%<a class="mention" href="/u/page">@page</a> import=“<a href="http://java.io">java.io</a>.<em>"%>

<%<a class="mention" href="/u/page">@page</a> import="java.util.</em>%>
<%	

String cid=request.getParameter(“cid”);

String urlWS=“<a href="http://localhost:8080/axis/WSMachines.jws">http://localhost:8080/axis/WSMachines.jws</a>”;

String[] arrayCid=new String[] {cid};
Service service=new Service();
Call call=(Call) service.createCall();
call.setTargetEndpointAddress(urlWS);
call.setOperationName ("getMachines");
String ret=(String) call.invoke(arrayCid);
response.setContentType("text/xml");
out.println(ret);

%>

6 Respostas

T

Veja o XML que o seu JSP gerou e veja se há espaços em branco ou outras coisas esquisitas antes da declaração "&lt?xml version=…". Se houver, o Firefox vai se embananar um pouco.

Uma coisa nojenta que faço para evitar esses espaços em branco é:

&lt;%@page import="org.apache.axis.client.Call"%&gt;&lt;%@page import="org.apache.axis.client.Service"%&gt;&lt;%@page import="java.io.*"%&gt;&lt;%@page import="java.util.*"%&gt;&lt;% 
...
bla bla bla
...
%&gt;

ou seja, colar todas as declarações. (Há uma maneira mais civilizada de fazer isso no web.xml ou no server.xml de evitar essas linhas em branco a mais, mas não sei isso de cor. )

C

Não há espaços em branco e muito menos outras coisas pois o <?xml version....?> começa no canto.

T

“No canto”? Pelo jeitão do seu JSP, parece que há 5 linhas em branco no início - isso também conto como espaço em branco. Cuidado com o que você vê. A mensagem de erro parece bastante óbvia, porque menciona a linha 6, posição 1.

C

Thingol, bom dia. Fiz o que você solicitou e agora o erro está na linha 3, coluna 1. Segue minha jsp:

<%<a class="mention" href="/u/page">@page</a> import=“org.apache.axis.client.Call”%><%<a class="mention" href="/u/page">@page</a> import=“org.apache.axis.client.Service”%><%<a class="mention" href="/u/page">@page</a> import=“<a href="http://java.io">java.io</a>.<em>"%><%<a class="mention" href="/u/page">@page</a> import="java.util.</em>”%><%String cid=request.getParameter(“cid”);

String urlWS=<a href="http://localhost:8080/axis/WSMachines.jws">http://localhost:8080/axis/WSMachines.jws</a>”;

String[] arrayCid=new String[] {cid};

Service service=new Service();

Call call=(Call) service.createCall();

call.setTargetEndpointAddress(urlWS);

call.setOperationName (getMachines);

String ret=(String) call.invoke(arrayCid);

response.setContentType(text/xml);

out.println(ret);

%>
T

Pegue o XML gerado, e veja o que está na linha 3, coluna 1. O que aparece lá?

C

Agora o erro no mozilla passou a ser esse:

Erro no processamento de XML: nenhum elemento encontrado
Posição: http://192.168.1.248:8080/webservice/ClientMachines.jsp?cid=A744A62E7F51C70788D22FA9ED6E1571
Número da linha 3, Coluna 1:
^

Já no IE:

O documento XML deve ter um elemento de nível superior. Erro ao processar o recurso 'http://192.168.1.248:8080/webservice/C

Criado 23 de janeiro de 2007
Ultima resposta 24 de jan. de 2007
Respostas 6
Participantes 2