Witam,
od niedawna piszę programy w Javie. Sytuacja zmusiła mnie do nauczenia się korzystania z Web Services. Korzystam z najnowszego NetBeans 6.01. Na stronie aplikacji znalazłem przykład tworzenia serwisu webowego. Niestety. przykład opiera się na wersji 5 IDE i nie wszystko udało mi się zrobić dokładnie zgodnie z instrukcją. O ile część serwerowa działa poprawnie (a przynajmniej takie mam wrażenie) o tyle nie jestem w stanie skompilować klienta.
Symptomy problemu:
- Wpisanie URL: http://localhost:8080/HiWS/HiWS?WSDL zwraca komunikat błędu: HTTP 404 zamiast WSDL. W konfiguracji serwera glassfish znalazłem adres następujący: http://localhost:8080/HiWS/HiWSService?wsdl. Ten adres zwraca poprawny WSDL.
2)Zgodnie z instrukcją powinna istnieć możliwość przetestowania usługi z projektu klienta po rozwinieciu drzewa "Web service references -> nazwa serwisu -> port -> nazwa funkcji". W każdym przypadku menu kontekstowe udostępnia jedynie bezwartościowe polecenie "Proporties". - Kompilator odrzuca funkcję getHiWSSEIPort() jako nieznaną.
package org.me.hi;
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HiServlet extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet HiServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<p>Enter your name:</p>");
out.println("<form method=\"get\">");
out.println("<input type=\"text\" name=\"name\" size=\"25\">");
out.println("<br>");
out.println("<p>");
out.println("<input type=\"submit\" value=\"Submit\">");
out.println("</form>");
String name = request.getParameter("name");
if ( name != null ) {
try {
out.println(getHiWSSEIPort().sayHi(name));
} catch(java.rmi.RemoteException ex) {
out.println("<p>Caught an exception <p>" + ex);
}
}
out.println("</body>");
out.println("</html>");
out.close();
}
}
Parser WSDL nie zgłaszał błędów podczas analizy. Żaden z wykonanych przeze mnie kroków podanych w instrukcji nie skończył się wynikiem negatywnym.
Gdzie mogę szukać problemu ?
</url>