webentwicklung-frage-antwort-db.com.de

Anlegesteg: HTTP-FEHLER: 503/Dienst nicht verfügbar

Ich bin neu bei Jetty. Ich habe versucht, das Beispielprogramm hier auszuführen. " http://www.codeproject.com/Articles/128145/Run-Jetty-Web-Server-Within-Your-Application " but Ich habe eine Fehlermeldung auf meiner Seite erhalten " http: // localhost: 8585/runJetty/ "

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

Fehlerprotokoll, das ich von Eclipse bekomme:

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

Meine XML-Datei

<?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> 

Meine JSP-Datei

<%@ 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>  
13
huao

Eigentlich habe ich das Problem gelöst. Ich lasse es von Eclipse Jetty Plugin laufen.

  1. Ich hatte die JDK-Bibliothek nicht in meinem Eclipse. Daher wird immer wieder die Meldung angezeigt, dass ich das vollständige JDK-System benötige. Dies ist der Hauptgrund. 

  2. Ich habe zwei Versionen von Jetty-Plugin installiert, nämlich Jetty7 und Jetty8. Ich denke, dass sie miteinander in Konflikt stehen oder so, also habe ich die Jetty7 entfernt und es funktioniert!

4
huao

2012-04-20 11: 14: 32.617: WARNUNG: oejx.XmlParser: FATAL @ file:/C:/Users/***/workspace/Test/WEB-INF/web.xml Zeile: 1 Spalte: 7: org .xml.sax.SAXParseException: Das mit "[xX] [mM] [lL]" übereinstimmende Verarbeitungsanweisungsziel ist nicht zulässig.

Das Log zeigt an, dass die web.xml fehlerhaft ist. Zeile 1, Spalte 7. Es kann ein UTF-8 Byte-Order-Marker sein

Vergewissern Sie sich, dass Ihre XML-Datei fehlerfrei ist und keine Stückliste enthält. Java verwendet keine Stücklisten. 

7

Keine dieser Antworten funktionierte für mich.

Ich musste alle bereitgestellten Java-Web-Apps entfernen:

  • Windows/Show View/Other ... 
  • Gehen Sie zum Server-Ordner und wählen Sie "Server". 
  • Klicken Sie mit der rechten Maustaste auf die J2EE-Vorschau bei localhost 
  • Klicken Sie auf Hinzufügen und Entfernen ... Klicken Sie auf Alle entfernen

Führen Sie dann das Projekt auf dem Server aus

Der Fehler ist weg!

Sie müssen den Server anhalten, bevor Sie ein anderes Projekt bereitstellen, da es vom Server nicht gefunden wird. Andernfalls erhalten Sie einen 404-Fehler

1
Patrick

Servlet vs Swing zu lernen, wird helfen .. __ Daten von Swing-API holen:

@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();

}

Daten von HttpServet-Handlern abrufen:

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);

}
}
}
}
}

}
}

weitere Informationen unter http://writeulearn.com/jetty-handler-swing-handler-differences/

0
Bindu S

Ich hatte das gleiche Problem. Ich löste es, indem ich den Zeilenumbruch aus der XML-Datei entfernte. Ich tat 

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

anstatt ...

<serverObject>
            <className>com.myclass
</className>
            <lookupStyle>new</lookupStyle>
</serverObject>
0
lanzalibre

Entfernen/Löschen Sie das Projekt aus dem Arbeitsbereich. und importieren Sie das Projekt erneut in den Arbeitsbereich ... Diese Methode hat für mich funktioniert.

0
MAFAIZ