我使用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
来调用它,但我没有得到任何结果。
这里有什么问题?
答案 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)
答案 3 :(得分:0)
在你的网址“http:// localhost :9191 / webServiceTest?sayHello?name = MKGandhi”
尝试通过 IP地址更改 localhost
例如:“http:// 198.251.234.45 :9191 / webServiceTest?sayHello?name = MKGandhi”