开发者

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

开发者 https://www.devze.com 2023-03-06 02:41 出处:网络
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.

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

精彩评论

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