2011-07-06 201 views
3

我使用JAX-WS製作了Web服務。現在我想使用Web瀏覽器進行測試,但出現錯誤。有人能解釋我請幫助。Web服務測試

我的服務類:

package another; 
import javax.jws.WebService; 
import javax.xml.ws.Endpoint; 
@WebService(name = "WebService") 
public class WebServiceTest { 
    public String sayHello(String name) { 
     return "Hello : " + name; 
    } 

    public static void main(String[] args) { 
     WebServiceTest server = new WebServiceTest(); 
     Endpoint endpoint = Endpoint.publish(
       "http://localhost:9191/webServiceTest", server); 
    } 
} 

我運行這個類作爲簡單的Java程序。

而且我可以在我的瀏覽器中看到WSDL,網址爲http://localhost:9191/webServiceTest?wsdl

我試圖用URL http://localhost:9191/webServiceTest?sayHello?name=MKGandhi來調用它,但我沒有得到任何結果。

這裏有什麼問題?

回答

2

我不能告訴你爲什麼不能在瀏覽器中測試它。 但至少我可以告訴你如何從你的代碼測試,導致你的web服務的工作原理:「?」

package another; 

import javax.jws.WebService; 

@WebService 
public interface IWebServiceTest { 
    String sayHello(String name); 
} 

package another; 

import java.net.URL; 
import javax.xml.namespace.QName; 
import javax.xml.ws.Service; 

public class Main { 
    public static void main(String[] args) throws Exception { 
     String url = "http://localhost:9191/webServiceTest?wsdl"; 
     String namespace = "http://another/"; 
     QName serviceQN = new QName(namespace, "WebServiceTestService"); 
     Service service = Service.create(new URL(url), serviceQN); 

     String portName = "WebServicePort"; 
     QName portQN = new QName(namespace, portName); 

     IWebServiceTest sample = service.getPort(portQN, IWebServiceTest.class); 
     String result = sample.sayHello("blabla"); 
     System.out.println(result); 
    } 
} 
0

在您的網址的 「http://本地主機:?9191/WebServiceTest的sayHello的名稱= MKGandhi」
嘗試通過您的IP地址改變本地主機
例如: 「HTTP:// 198.251.234.45:?9191/WebServiceTest的sayHello的名稱= MKGandhi」

1

您嘗試使用url http://localhost:9191/webServiceTest?sayHello?name=MKGandhi

測試你的Web服務就試試這個網址http://localhost:9191/webServiceTest/sayHello?name=MKGandhi

它應該工作正常:)