2012-04-20 20 views
12

Soy nuevo en el embarcadero, he tratado de ejecutar el programa de ejemplo aquí "http://www.codeproject.com/Articles/128145/Run-Jetty-Web-Server-Within-Your-Application" pero tengo mensaje de error en mi página "http://localhost:8585/runJetty/"embarcadero: HTTP ERROR: 503/Servicio no disponible

"HTTP ERROR: 503 
Problem accessing /runJetty/. Reason: 
    Service Unavailable 
-------------------------------------------------------------------------------- 
Powered by Jetty:// " 

error LOG que recibo de Eclipse:

2012-04-20 11:14:32.522:INFO:oejs.Server:jetty-8.1.3.v20120416 
2012-04-20 11:14:32.617:WARN:oejx.XmlParser:[email protected]:/C:/Users/***/workspace/Test/WEB-INF/web.xml line:1 col:7 : org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed. 
2012-04-20 11:14:32.617:WARN:oejw.WebAppContext:Failed startup of context o.e.j.w.WebAppContext{/runJetty,file:/C:/Users/***/workspace/Test/} 
org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed. 
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPIData(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanPIData(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanPI(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(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.AbstractSAXParser.parse(Unknown Source) 
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) 
at javax.xml.parsers.SAXParser.parse(Unknown Source) 
at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:199) 
at org.eclipse.jetty.xml.XmlParser.parse(XmlParser.java:215) 
at org.eclipse.jetty.webapp.Descriptor.parse(Descriptor.java:60) 
at org.eclipse.jetty.webapp.WebDescriptor.parse(WebDescriptor.java:143) 
at org.eclipse.jetty.webapp.MetaData.setWebXml(MetaData.java:165) 
at org.eclipse.jetty.webapp.WebXmlConfiguration.preConfigure(WebXmlConfiguration.java:55) 
at org.eclipse.jetty.webapp.WebAppContext.preConfigure(WebAppContext.java:417) 
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:453) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
at org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:224) 
at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:167) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:90) 
at org.eclipse.jetty.server.Server.doStart(Server.java:262) 
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:59) 
at blog.runjetty.server.JettyServer.start(JettyServer.java:22) 
at blog.runjetty.ui.listener.ServerStartStopActionListner.actionPerformed(ServerStartStopActionListner.java:38) 
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
at java.awt.Component.processMouseEvent(Unknown Source) 
at javax.swing.JComponent.processMouseEvent(Unknown Source) 
at java.awt.Component.processEvent(Unknown Source) 
at java.awt.Container.processEvent(Unknown Source) 
at java.awt.Component.dispatchEventImpl(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
at java.awt.Container.dispatchEventImpl(Unknown Source) 
at java.awt.Window.dispatchEventImpl(Unknown Source) 
at java.awt.Component.dispatchEvent(Unknown Source) 
at java.awt.EventQueue.dispatchEventImpl(Unknown Source) 
at java.awt.EventQueue.access$000(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.awt.EventQueue$1.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.awt.EventQueue$2.run(Unknown Source) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) 
at java.awt.EventQueue.dispatchEvent(Unknown Source) 
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
at java.awt.EventDispatchThread.run(Unknown Source) 
2012-04-20 11:14:32.648:INFO:oejs.AbstractConnector:Started [email protected]:8585 

Mi archivo XML

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
version="2.4"> 
    <welcome-file-list> 
     <welcome-file>page/index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

Mi JSP fil e

<%@ page language="java" contentType="text/html; charset=ISO-8859-1 pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01  Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
     <title>Embedding Jetty</title> 
    </head> 
    <body> 
     <h2>Running Jetty web server from our application!!</h2> 
    </body> 
</html> 
+0

Publica tu web.xml –

+0

vuelve a ser la pregunta original. Si tiene otra pregunta, * no * reemplace esta con ella. Solo haz una nueva pregunta. Además, si la respuesta lo ayudó a resolver el problema, acéptelo haciendo clic en la marca de verificación. –

Respuesta

4

En realidad, he resuelto el problema. Lo ejecuto por eclipse jetty plugin.

  1. yo no tenía la lib JDK en mi eclipse, es por eso que el mensaje seguirá mostrando dicho que necesito instalado el JDK completo, esa es la razón principal.

  2. Instalé dos versiones de Jetty Plugin, que es jetty7 y jetty8. Creo que entran en conflicto entre ellos o algo así, así que eliminé el jetty7, ¡y funciona!

+0

Tuve un problema similar, por alguna razón (ahora desconocida) que había agregado Tomcat jasper-compiler a mi pom para una configuración de prueba y me preguntaba por qué no comenzó con la misma configuración que normalmente. Lo sacó y trabajó como un encanto después. – Martin

7

2012-04-20 11:14:32.617:WARN:oejx.XmlParser:[email protected]:/C:/Users/***/workspace/Test/WEB-INF/web.xml line:1 col:7 : org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.

que se conecte dice, que web.xml está mal formado. Línea 1, columna 7. Puede ser un UTF-8 Byte-Order-Marker

Intente verificar que su xml esté bien formado y no tenga una lista de materiales. Java no usa listas de materiales.

+0

Sin el web.xml, nadie puede ayudar. –

+0

Pongo mi archivo xml y jsp en él, gracias! – huao

+0

@huao si le ayudó su respuesta, debe aceptarla. Presione la marca de verificación. – sharakan

0

Tuve el mismo problema. Lo resolví eliminando el salto de línea del archivo xml. Hice

<operationBindings> 
    <OperationBinding> 
     <operationType>update</operationType> 
     <operationId>makePdf</operationId> 
     <serverObject> 
      <className>com.myclass</className> 
      <lookupStyle>new</lookupStyle> 
     </serverObject> 
     <serverMethod>makePdf</serverMethod> 
    </OperationBinding> 
</operationBindings> 

en lugar de ...

<serverObject> 
      <className>com.myclass 
</className> 
      <lookupStyle>new</lookupStyle> 
</serverObject> 
1

Ninguna de estas respuestas trabajó para mí.

tuve que quitar toda aplicación Java Web desplegado:

  • Windows/Show View/Other ...
  • Vaya la carpeta del servidor y seleccione "Servidores"
  • Haga clic en el J2EE Vista previa en localhost
  • clic aquí para agregar y quitar ... Haga clic en Quitar todo

a continuación, ejecute el proyecto en el servidor

¡El error se ha ido!

Deberá detener el servidor antes de implementar otro proyecto porque el servidor no lo encontrará. De lo contrario, obtendrá un error 404

0

Eliminar/Eliminar el proyecto del espacio de trabajo. y Reimportar el proyecto al espacio de trabajo. Este método funcionó para mí.

0

Aprender servlet vs swing ayudará. Obtener datos de API Swing:

@POST 
@Path(“/e”) 
@Produces(MediaType.APPLICATION_JSON) 
@Consumes(MediaType.APPLICATION_JSON) 

public Response api1(String requestJson, public Response api1(String requestJson,         @Context HttpHeaders httpHeaders) 

{ 

String h1 = httpHeaders.getHeaderString(“h1”); 

switch (h1) { 

case “1”: { 

if (h1 != null) { 

if (validateJsonSyntax(requestJson)) { 

ObjectMapper objectMapper = new ObjectMapper();        try { 

Object1 obj = objectMapper.readValue(requestJson, json1.class);  return Response.status(Response.Status.ACCEPTED).build();        } 

catch (Exception e) { 

return Response.status(Response.Status.BAD_REQUEST).build();        } 

} 

} 
} 
break; 

default:   {   }   break; 
}  return Response.status(Response.Status.BAD_REQUEST).build(); 

} 

obtener datos de HttpServet manipuladores:

public class c1 extends HttpServlet { 

@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException { 

//super.doPost(request, response); 

String h1 = request.getHeader(“h1”); 
String h2 = request.getHeader(“h2”); 

switch (h1) { 

case “one”: { 

if (h2 != null) { 
InputStream inStrReqBody = request.getInputStream(); 
if (inStrReqBody != null) { 
String strReqBody = IOUtils.toString(inStrReqBody, 
request.getCharacterEncoding()); 
if (validateJsonSyntax(strReqBody)) { 
ObjectMapper objectMapper = new ObjectMapper(); 
try { 
Object1 obj1 = objectMapper.readValue(strReqBody, VNFCatalogResponse.class); 
response.setStatus(HttpServletResponse.SC_ACCEPTED); 
} catch (Exception e) { 
\ 
response.setStatus(HttpServletResponse.SC_BAD_REQUEST); 

} 
} 
} 
} 
} 

} 
} 

más detalles en http://writeulearn.com/jetty-handler-swing-handler-differences/

Cuestiones relacionadas