Web服务测试

时间:2011-07-06 07:17:05

标签: java web-services jax-ws

我使用JAX-WS制作了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程序运行。

我可以在http://localhost:9191/webServiceTest?wsdl的浏览器中看到WSDL。

我正在尝试使用网址http://localhost:9191/webServiceTest?sayHello?name=MKGandhi来调用它,但我没有得到任何结果。

这里有什么问题?

4 个答案:

答案 0 :(得分: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);
    }
}

答案 1 :(得分:1)

您尝试使用网址http://localhost:9191/webServiceTest?sayHello?name=MKGandhi

测试您的网络服务

试试这个网址http://localhost:9191/webServiceTest/sayHello?name=MKGandhi

它应该可以正常工作:)

答案 2 :(得分:0)

您的网址有2个?

http://localhost:9191/webServiceTest?sayHello?name=MKGandhi

你的意思是使用'&'性格?什么是服务合同及其实施?

答案 3 :(得分:0)

在你的网址“http:// localhost :9191 / webServiceTest?sayHello?name = MKGandhi”
尝试通过 IP地址更改 localhost 例如:“http:// 198.251.234.45 :9191 / webServiceTest?sayHello?name = MKGandhi”