2012-02-25 18 views
6

başarıyla Web Service oluşturduk. Bunu test etti ve WSDL dosyasını da aldım. Bu Web Hizmetini kullanacak olan istemcisi, basit bir Java sınıfıdır.Web Hizmeti için bir Java istemcisi nasıl oluşturulur?

Bir jsp istemci oluşturmak ve Web Hizmet yöntemleri çağırmak mümkün duyuyorum. Ancak bir Java sınıfından Web Hizmetini çağırmam gerekiyor.

nasıl Web Hizmeti ile bu Java istemci bağlamak mı?

Java Client oluşturmak için NetBeans takip aşağıdaki adımlar ...

  1. ben basit J2SE Uygulama yarattı.
  2. benim tarafımdan yapılmış WebService bir Web Service Client yaptı.
  3. WebService'imin Web Hizmeti Referanslarını alıyorum.

Ama WebService yöntemini çağırmak mümkün değilim. İşte Müşteri dosyası ...

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

Bu (genel olarak) yardımcı olabilir: http://stackoverflow.com/questions/209385/java-webservice-client –

+1

bu kodu çalıştırdığınızda istisna alır mıyım? Öyleyse yığın izini görebilir miyiz? –

+0

@MichaelRighi, evet WS_package paketinin mevcut olmadığı bir hata alıyorum. ve böylece onun yöntemlerini kullanamıyorum. liman oluşturulan almıyor ve dolayısıyla yöntem 'port.hello (isim)' – jQueen

cevap

0

Sen Jersey ve deneyebilirsiniz onun Client API

+0

denir değil ben artık webcoder basit java istemci bağlamak mümkün değilim. Her ikisi de tek makinede bulunur. bağlamak için ne yapmalıyım – jQueen

2
komut satırından, bir istemci saplama dosyaları oluşturmak için wsimport aracını kullanabilirsiniz

: o zaman

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

oluşturulan dosyaları içe ve

HelloServiceImplService helloService = new HelloServiceImplService(); 
HelloService hello = helloService.getHelloServiceImplPort(); 
yukarıda yaptığımız gibi bunları kullanmak

civarı Apache CXF ve Apache Axis

Update gibi, Web Hizmetleri ile çalışmak için de bazı çerçeveler vardır: Sadece, onun eski bir soruyu fark OP cevabını bilseydim, o konuyu güncellemeniz gerekir.