0
我已經構建了一個簡單的web服務,並且我成功地能夠在apache webserver中部署webservice並查看WSDL。java.lang.IllegalArgumentException Webservice不是接口
這裏是我的簡單的web服務 -
import javax.jws.WebMethod;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.WebParam;
import javax.jws.soap.*;
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class HelloWebService {
@WebMethod(operationName = "sayHello")
public String sayHello(@WebParam(name="guestname") String guestname){
if (guestname==null){
return "Hello";
}
return "Hello " + guestname;
}
}
沒有,我試着去建立如下一個客戶端,
public class HelloClient {
public static void main(String[] args) throws MalformedURLException{
URL url = new URL("http://localhost:8080/HelloWebService/helloWebService?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://demo.webservice.com/", "HelloWebServiceService");
Service service = Service.create(url, qname);
HelloWebService hello = service.getPort(HelloWebService.class);
System.out.println(hello.sayHello("Hello"));
}
}
,並得到下面的錯誤,
Exception in thread "main" java.lang.IllegalArgumentException: com.webservice.demo.HelloWebService is not an interface
at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:624)
at java.lang.reflect.Proxy$ProxyClassFactory.apply(Proxy.java:592)
at java.lang.reflect.WeakCache$Factory.get(WeakCache.java:244)