Frage

Ich versuche, eine Achse-basierten Web-Service mit Wall zu bauen für Sicherheit, und ich habe gehofft, einen einzigen Krieg Kater zu implementieren, anstatt innerhalb Achse Achse und den Einsatz zu installieren. (Ich bin nicht festgelegt auf dass, obwohl ... ist das alles sehr Neuland für mich, so konnte ich Verwenden jedes Feedback, dass Sie vielleicht haben.)

Ich laufe in ein paar Probleme:

  • mvn jetty:run funktioniert gut - ich den Web-Service nutzen können, und abrufen Wsdl durch die URL für meine Dienste mit einem Schlagen? wsdl Angeheftetes am Ende (zB: http: // localhost: 8080 / webservice / services / ResultService Wsdl "Webservice" ist der Name des Projekts), jedoch mvn Anlegesteg: run-Krieg ausfällt, es sei denn, ich manuell kopieren Wall-1.4.mar und rahas-1.4.mar in die WEB-INF / lib manuell zuerst. Wenn das nicht geschieht, dann Anlegestelle: run-Krieg produziert eine Reihe von Ausnahmen über Wall-Module nicht zur Verfügung steht, und die gleiche WSDL-URL wie oben kehrt ein Schlagen leere Seite. (Kein Inhalt überhaupt, wenn es sollte ein gutes Stück sein, wsdl) Hier sind die stacktraces: http://hpaste.org/fastcgi/hpaste.fcgi/view? id = 12058 # a12058

  • Unabhängig von der Position der mar-Dateien in dem erzeugten Krieg, Ich habe nie den Web-Service dienen kann Kater bekommen richtig. Es hat nichts von Notiz in das Protokoll ausgeben (nur eine INFO dass die Web-Anwendung wurde eingesetzt), und keine Wsdl vorgesehen ist Urls oben. http: // localhost: 8180 / Infoassist / services / ResultService Wsdl Renditen nichts. ( ‚Infoassist.war‘ ist der Name des erzeugten Krieg, daher der andere URL als mit Steg)

Wenn ich Abfrage eine URL, die nicht in? Wsdl endet, dann werde ich eine Achse Ausnahme im Browser. Dies ist wahrscheinlich in Ordnung - es kommt sogar vor wenn der funktionellen Anlegestelle laufen: run-Server, und ich erwarte nicht, dass „Echte“ Ausgabe in einem Browser noch, da alles, was ich bisher gemacht habe, ist, nur Seife zu testen. Es tut zeigen, dass Achse ist in Verwendung mit Tomcat obwohl, so zumindest einige des Krieges Abhängigkeiten arbeiten:

org.apache.axis2.AxisFault: The service cannot be found for the
endpoint reference (EPR) /infoassist/ at
org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:65)
at org.apache.axis2.engine.Phase.invoke(Phase.java:334) at
org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251) at
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:160) at
org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:135)
at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:130)
at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:838)
at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:262)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)

Ich bin hier wirklich den Strohhalm greifen - jede Hilfe wäre sehr geschätzt, und natürlich kann ich viele weitere Informationen zur Verfügung stellen, ich habe gerade weiß nicht, was von Nutzen sein wird.

War es hilfreich?

Lösung 2

ich es herausgefunden, mit erheblicher Hilfe von verschiedenen Quellen:

Zuerst

Folgen Sie

vor:

Wenn jedoch die Achse Krieg bauen, müssen Sie zuerst die Build optimieren, so dass axis2-CODEGEN-1.5.jar ist nicht aus dem Archiv ausgeschlossen, gemäß den Anweisungen hier :

  

Um den Rampart-Code in einer Axis2-Server-Installation zu verwenden, müssen Sie eine neue axis2.war-Datei erstellen, eine, die den zusätzlichen Rampart umfasst .jar und .mar Dateien. Sie können die Ant build.xml im webapp Verzeichnis bereitgestellt verwenden axis2.war zu erstellen, sofern Sie eine Änderung vornehmen: Zum Löschen der Zeile am Ende der Datei. Dann öffnen Sie eine Konsole für die Axis2 Webapp Verzeichnis und führen ant. Nach dem build.xml läuft, können Sie die erstellte axis2.war Webanwendung in dem Axis2 Installation dist-Verzeichnis.

Das sollte von der Achse Admin-Seite in der Liste der geladenen Module ausreichend sein Walles zu sehen (was wahrscheinlich ist unter http: // localhost:. 8080 / axis2 / axis2-admin / listModules wenn Sie jedoch die Binärdistributionen dieser Bibliotheken (Achse / Wall) verwenden Sie müssen auch darauf achten, dass Sie kompilieren .. Ihr Code in einer Java-Klasse-Spezifikation, die mit 1.5 kompatibel ist, ich dies nicht tun war, so dass ich java.lang.UnsupportedClassVersionError Fehler gehalten zu begegnen, aber nichts machte es klar, was eigentlich das Problem verursacht wurde - ich axis2-CODEGEN-1.5 vermutet. die Probleme waren eigentlich mit der Bytecode-Version meiner Eingewilligt Klassendateien Dies auch passiert, wenn ich die Wall Proben aus der Verteilung gebaut, weil sie in Source-Form verteilt wurden, und meine Standard-Compiler sind Java 1.6 - Glas, die ein rot-Hering war. .

Andere Tipps

Frage, gefolgt von einem Vorschlag.

F: Haben Sie generieren die WSDL durch Eclipse? Wenn ja haben Sie sicher, dass es die richtige Version von Axis ist?

S: Ich würde alles in ein Ohr fallen, die ich tomcat unterstützt glauben. Eine EAR ist ein Verzeichnis, das mehrere WARs und JAR-Dateien aufnehmen kann

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top