2011-05-16 51 views
0

在的IntelliJ 10.0.3的IntelliJ Web服務和Java客戶端拋出:IllegalArgumentException TestWebService不是接口

我使用菜單選項「新的Web服務」,這生成一個類文件,並添加到太陽jaxws.xml - 這很好 - 它的工作。

現在,如果我嘗試寫一個Java客戶端這個Web服務,我得到拋出:IllegalArgumentException TestWebService沒有在接口

這裏是我的客戶端代碼:

public class WebServiceTest { 

    public static void main(String[] args) throws Exception { 
     URL url = new URL("http://localhost/services/TestWebService?wsdl"); 
     //1st argument service URI, refer to wsdl document above 
     //2nd argument is service name, refer to wsdl document above 
     QName qname = new QName("http://ws.mydomain.com/", "TestWebServiceService"); 

     Service service = Service.create(url, qname); 

     TestWebService test = service.getPort(TestWebService.class); // fails here 

     System.out.println(test.sayHelloWorldFrom("TESTING....")); 
    } 
} 

我應該如何實現呢?我應該有一個界面和一個班級嗎?有一個很好的例子嗎?最佳實踐?

這是我在太陽jaxws.xml端點定義

<endpoint 
     name='TestWebService' 
     implementation='com.allscripts.ws.TestWebService' 
     url-pattern='/services/TestWebService'/> 
+0

...以及當您實際製作界面時會發生什麼? – Jeremy 2011-05-16 19:07:42

+0

如果我編寫一個接口,那麼我需要創建一個TestWebServiceImpl類,然後Web服務名稱將更改爲TestWebServiceImplService。 – sproketboy 2011-05-16 19:46:43

+0

它的工作原理?你可以隨時調整名字。 – Jeremy 2011-05-16 19:52:17

回答

0

我是越來越搞砸了,因爲我嘗試使用Web服務withing使用相同的classpath中我的應用程序。在不同的Java項目中運行測試很好。