Web Service Client

Olá pessoal, estou precisando criar um client ws no JBoss, com jax-ws.
Peguei um exemplo implementado q tem no Netbeans, para aprender e ver funcionando, mas não consigo fazer rodar.
Vou passar o código

[code]public class ClientServlet extends HttpServlet {
@WebServiceRef(wsdlLocation = “http://localhost:8080/CalculatorApp/CalculatorWSService?wsdl”)
public CalculatorWSService service;

@Resource
protected WebServiceContext context;

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {
        out.println("<h2>Servlet ClientServlet at " + request.getContextPath () + "</h2>");
            
            org.me.calculator.client.CalculatorWS port = service.getCalculatorWSPort();
            
            int i = Integer.parseInt(request.getParameter("value1"));
            int j = Integer.parseInt(request.getParameter("value2"));

            int result = port.add(i, j);
         
            out.println("<br/>");
            out.println("Result:");
            out.println("" + i + " + " + j + " = " + result);
            ((Closeable)port).close();
        
    } finally { 
        out.close();
    }
} 

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

@Override
public String getServletInfo() {
    return "Short description";
}
// </editor-fold>

}[/code]
Ele abre no browser o Servlet, mas quando clica no botao pra chamar o ws ele da o seguinte erro:

13:14:45,455 ERROR [[ClientServlet]] Servlet.service() for servlet ClientServlet threw exception
java.lang.NullPointerException
at org.me.calculator.client.ClientServlet.processRequest(ClientServlet.java:65)
at org.me.calculator.client.ClientServlet.doGet(ClientServlet.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

Alguém poderia me ajudar por favor?

Desde já agradeço!
Abraço!

Dá uma olhada na linha 65 do seu servlet, seu objeto está nulo acho que é esse objeto

org.me.calculator.client.CalculatorWS port = service.getCalculatorWSPort(); 

Pois é, o problema é nessa chamada, service.getCalculatorWSPort();
mas como se instancia isso?

Estranho é que esse código é exemplo do netbeans, não deveria vir errado.

Alguém tem idéia de como solucionar?

Consulta essa url pelo seu navegador, acho que o serviço não est no ar!

http://localhost:8080/CalculatorApp/CalculatorWSService?wsdl

O container faz injeção desse cara?

@WebServiceRef(wsdlLocation = "http://localhost:8080/CalculatorApp/CalculatorWSService?wsdl")
public CalculatorWSService service; 

No browser quando digito “http://localhost:8080/CalculatorApp/[color=red]CalculatorWS[/color]?wsdl” ele abre o wsdl via browser.

Então falta a injeção, acho que você tem que declara o descritor.

public CalculatorWSService service;

Desculpe a ignorância, mas como assim declarar o descritor?

public CalculatorWSService service;

Essa linha ja existe no código.

se for o projeto do netbeans

antes vc tem que fazer deploy do webservice, ai vc roda o cliente

Está usando Netbeans, certo?

No site do netbeans tem alguns tutoriais de como fazer o que você precisa, inclusive screencast. Dê uma procurada lá.

ps: olhando rapidamente, achei esse post lá, espero que ajude: http://netbeans.org/kb/docs/websvc/jax-ws.html

Consegui!
Obrigado pessoal.
Abraço!