Announcement

Collapse
No announcement yet.

JSP & Web Service

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • JSP & Web Service

    Hallo zusammen,

    ich habe bisher noch nicht mit JSP gearbeitet und brauche dringend Eure Hilfe!!

    Ich muss eine JSP - Seite erstellen und darin einen Web Service aufrufen, sowie das Such - Ergebnis anzeigen. Wie mache ich das, wie binde ich den Web Service ein? Brauche ich Frames, wenn der Anwender mehrfach suchen kann und das angezeigte Such - Ergebnis aktualisiert werden muss?

    Freue mich über Hilfe jeder Art
    Avallyn

  • #2
    Es gibt verschiedene Methoden einen WebService einzubinden. In Java gibt es dazu einige Biblotheken.
    AXIS
    AXIS 2
    ab Java 1.6 in Standard Java SE JAX-WS

    http://de.wikipedia.org/wiki/JAX-WS

    http://ws.apache.org/axis/java/index.html

    http://ws.apache.org/axis2/


    Grundsätzlich ist eine JSP-Seite, eine HTML-Seite, die Javacode enthält. So wird die JSP-Seite erst durch einen Javainterpreter geschoben, der das auf der Seite enthaltene Java interpretiert und dann wird das Ergebnis an den Client gesandt, der dann das HTML interpretiert. Du kannst also grundsätzlich in einer JSP all das machen, was du auch in einem Servlet tun kannst

    Weiterhin wäre zu spezifizieren, ob du tatsächlich den Webservice in deiner JSP-Seite als eingeständigen Request aufrufen sollst, oder als Ajax-Request. Auf letzteres deutet die Anforderung hin, das Ergebnisse aktualisiert werden sollen.

    Ajax

    Es ist zwar möglich mit dem Tomcat Webservices aufzusetzen. M.E. gibt es aber bessere Server dafür (JBOSS, Glassfish)
    Zuletzt editiert von Christian Marquardt; 20.10.2010, 10:38.
    Christian

    Comment


    • #3
      Hallo,

      es habdelt sich um die Modifizierung einer bestehenden JSP - Seite. Des Weiteren habe ich die WSDL. Aus dieser habe ich mir mit AXIS2 einen Dummy Service generiert und im Tomcat deployed (beschränkte Kenntnisse).

      Da ich leider auch keine Ahnung von Servlets habe, stellt sich mir nun auch wieder dieselbe Frage: Wie binde ich dort einen Web Service ein?

      Danke
      Avallyn

      Comment


      • #4
        http://www.google.de/search?hl=de&cl...client&spell=1

        Eine WSDL dient zur Erstellung des Clients??? Er beschreibt den Webservice. Anhand der WSDL können die meisten IDEs Eclipse, Netbeans den Client selbst erstellen. Dieser ist dann in der JSP zu nutzen. Ab java 1.6. gibt es im Java/bin Verzeichnis das Programm wsimport.exe. Auch dieses erstellt die Clientklassen für JaxWS
        Zuletzt editiert von Christian Marquardt; 20.10.2010, 12:49.
        Christian

        Comment


        • #5
          Anscheinend kann ich mich momentan nicht klar ausdrücken - bin ganz verwirrt:
          1. ich habe eine WSDL und
          2. kann daraus mittels axis2 einen client erstellen


          Versuchsweise habe ich jetzt auch ein Servlet erstellt.

          Wie binde ich diesen nun aber in die JSP-Seite ein?
          Mit
          Code:
          <%@ include file="url" %>
          und Aufruf wäre dann:
          Code:
          <% 
          String queryData = request.getDaten();
          out.println("Daten: " + queryData); 
          %>
          Bin im Moment total unwissend und verwirrt
          Avallyn

          Comment


          • #6
            Anscheinend kann ich mich momentan nicht klar ausdrücken - bin ganz verwirrt:
            1. ich habe eine WSDL und
            2. kann daraus mittels axis2 einen client erstellen
            vs.

            Des Weiteren habe ich die WSDL. Aus dieser habe ich mir mit AXIS2 einen Dummy Service generiert und im Tomcat deployed (beschränkte Kenntnisse).

            http://www.eclipse.org/webtools/comm..._tutorial.html

            Siehe oben ab Pkt. 16 dem Client.

            Unter Pkt 27 wird beschrieben, wie man den Service in einer Javaklasse nutzt. Das ist in die JSP umszusetzen

            Ein Servlet kann nicht in eine JSP eingebunden werden (du kannst auf ein Servlet weiterleiten)

            Servlet = Java mit HTML
            JSP = HTML mit Java

            Es ist letztendlich beides das Gleiche. Es wird nur unterschieden, wie man diese Dateien erstellt, was man wie reinschreibt
            Zuletzt editiert von Christian Marquardt; 20.10.2010, 13:38.
            Christian

            Comment


            • #7
              Das heißt also, ich brauche kein servlet, sondern schreibe den Clientcode direkt in die jsp-seite und zwar genau so, wie ich es in meinem Client gemacht habe.

              Code:
              try {
              			Service1Stub stub = 
              				new Service1Stub("http://localhost:9944/axis2/services/Service1");
              
              			GetPartner partner = new GetPartner();
              			partner.setId(id);
              
              			ausgabe = "</br><b>Id: </b>" + partner.getId();
              
              		} 
              		catch (Exception e) { //AxisFault
              			// TODO Auto-generated catch block
              			e.printStackTrace();
              		}
              
              		System.out.println(ausgabe);
              zusätzlich benötige ich dann noch die Klassen von meinen Objekten, z.B. Partner.class. Diese werden imporitiert über:
              Code:
              <% page import="Partner.class" %>
              Achja und die generierte Service1Stub.class muss ich ebenfalls einbinden.

              Stimmt das jetzt so?

              Comment


              • #8
                jooo, sollte so gehen, wenn GetPartner auch eingebunden wird...

                Alle Klassen die du brauchst.
                <% page import="Partner.class" %>
                Christian

                Comment


                • #9
                  Danke für die Hilfe!!

                  Habe mich also eindeutig im Kreis bewegt und selbst verwirrt. Jetzt sollt ich wieder weiter kommen.

                  Danke
                  Avallyn

                  Comment

                  Working...
                  X