2012-11-27 12 views
7
**My Web service class** 

import javax.jws.WebMethod; 
import javax.jws.WebService; 

/** 
* @author edward 
* 
*/ 
@WebService 
public class HelloWeb { 

    @WebMethod 
    public String sayGreeting(String name) { 
     return "Greeting " + name + "....!"; 
    } 

} 

Moja klasa Java ServerJak uzyskać dostęp do usługi internetowej przy użyciu zwykłej klasy Java?

import javax.xml.ws.Endpoint; 

public class Server { 
    public static void main(String[] args) { 
     Endpoint.publish("http://localhost:9090/HelloWeb", new HelloWeb()); 
     System.out.println("Hello Web service is ready"); 
    } 
} 

Serwer działa prawidłowo, a ja jestem w stanie uzyskać dostęp do usługi przy użyciu adresu URL, który zwraca WSDL code.But chcę uzyskać dostęp do serwera za pomocą wyjątkowy Adres URL w java. Mam następujący kod klienta java.

klientowi dostęp HelloWeb usługi

import java.net.URL; 

import javax.xml.namespace.QName; 
import javax.xml.rpc.Service; 
import javax.xml.rpc.ServiceFactory; 

public class WebClient { 
    String wsdl = "http://172.21.1.65:9090/HelloWeb?wsdl"; 
    String namespace = "http://helloweb.com"; 
    String serviceName = "HelloWebService"; 

    QName serviceQN = new QName(namespace, serviceName); 

    { 
     try{ 

     ServiceFactory serviceFactory = ServiceFactory.newInstance(); 
     Service service = serviceFactory.createService(new URL(wsdl), serviceQN); 

     }catch (Exception e) { 

     } 
    } 
} 

Odpowiedz

1

spróbować tego należy pamiętać, że skompilowany i prowadził swój serwer w pakiecie "test", to ważne. To tylko podstawowy przykład, aby zacząć od JAX-WS.

package test; 

import java.net.URL; 

import javax.jws.WebMethod; 
import javax.jws.WebService; 
import javax.xml.namespace.QName; 
import javax.xml.ws.Service; 

public class WebClient { 

    @WebService(name = "HelloWeb", targetNamespace = "http://test/") 
    public interface HelloWeb { 
     @WebMethod 
     String sayGreeting(String name); 
    } 

    public static void main(String[] args) throws Exception { 
     Service serv = Service.create(new URL(
       "http://localhost:9090/HelloWeb?wsdl"), 
       new QName("http://test/", "HelloWebService")); 
     HelloWeb p = serv.getPort(HelloWeb.class); 
     System.out.println(p.sayGreeting("John")); 
    } 
} 
Powiązane problemy