开发者

IntelliJ web service and Java client IllegalArgumentException TestWebService is not an interface

In IntelliJ 10.0.3

I use the menu option "new web service" and this generates a class file and adds to sun-jaxws.xml - this is fine - it's working.

Now if I try to write a Java client for this web service I get IllegalArgumentException TestWebService is not an interface

Here's my client code:

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...."));
    }
}

How should I implement this? Should I have an interface and a class? Is there a good example? Best practice?

this is my endpoint definition in sun-jaxws.xml

<endpoint
        name='TestWebService'
        implementation='com.allscripts.ws.TestWebService'
        url-pattern='/services开发者_如何学运维/TestWebService'/>


I was getting messed up because I was trying to use the web service withing my application using the same classpath. Running a test in a different java project works fine.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜