2012-02-25 22 views
6

Udało mi się utworzyć usługę Web Service. Przetestowałem to i otrzymałem również plik WSDL. Klient klient, który będzie korzystać z tej usługi WWW, jest prostą klasą Java.Jak utworzyć klienta Java dla usługi sieci Web?

Jestem w stanie utworzyć klienta jsp i wywołać metody usługi sieci Web. Ale muszę wywołać usługę sieci Web z klasy Java.

W jaki sposób mogę powiązać z klientem Java z usługą WWW?

następujące kroki śledziłem w NetBeans tworzenia klienta Java ...

  1. Stworzyłem prostą J2SE aplikację.
  2. Zrobiłem to klient usługi sieci Web utworzonej przeze mnie WebService.
  3. Otrzymuję odwołania do usług sieci Web w mojej witrynie sieci Web.

Ale nie jestem w stanie wywołać metody usługi WebService. Oto plik Client ...

package client_package; 
public class client { 

public static void main(String args[]) 
{ 
    System.out.println("1"); 
    System.out.println(hello("megha")); 
    System.out.println("2"); 
} 
private static String hello(String name) { 


    WS_package.WebService1 service = new WS_package.WebService1(); //package WS_package does not exists 
    WS_package.WebService1 port = service.getWebService1Port(); //package WS_package does not exists 


name = port.hello(name); 

return name; 
} 
} 
+0

Może to pomóc (ogólnie): http://stackoverflow.com/questions/209385/java-webservice-client –

+1

Czy otrzymasz wyjątek po uruchomieniu tego kodu? Jeśli tak, czy możemy zobaczyć ślad stosu? –

+0

@MichaelRighi, tak otrzymuję komunikat o błędzie, że pakiet WS_package nie istnieje. i dlatego nie jestem w stanie użyć jego metod. port nie jest tworzony i stąd metoda 'port.hello (name)' nie jest nazywana – jQueen

Odpowiedz

0

Można spróbować Jersey i jego Client API

+0

Mogę teraz powiązać prostego klienta java z moją usługą sieciową. Oba znajdują się na jednej maszynie. co powinienem zrobić, by związać – jQueen

2

Można użyć wsimport narzędzie do generowania pliki pośredniczące klienta, z linii poleceń:

wsimport -keep http://localhost:8080/webservices/helloService?wsdl 

następnie zaimportuj wygenerowane pliki i używaj ich tak jak powyżej:

HelloServiceImplService helloService = new HelloServiceImplService(); 
HelloService hello = helloService.getHelloServiceImplPort(); 

Istnieją również pewne ramy arround pracować z usługi sieciowe, jak Apache CXF i Apache Axis

Aktualizacja: Właśnie zauważyłem Jego stary pytanie, czy PO znał odpowiedź, powinien zaktualizować wątek.