我能够自己独立运行WebService
和httpServer
,但是当我同时运行两者时,Web服务wsdl
url不再起作用。我希望这样做,这样我就可以将JavaScript的网络服务调用到相同的URL,而不会出现跨源问题。
这有可能吗?
public class Main {
public static void main(String[] args) throws Exception {
int port = 8888;
/* This works without httpServer running */
Endpoint.publish("http://localhost:" + port + "/ws/someService", new SomeService());
/* This works without Endpoint running */
HttpServer httpServer = HttpServer.create(new InetSocketAddress(port), 0);
httpServer.createContext("/someHandler", new SomeHandler());
}
}
答案 0 :(得分:1)
尝试使用其他端口。例如,如果将8888用作端点,则将8890用作HttpServer。
EndPoint使用嵌入式HTTP Server实现,该实现包含在Java中。 因此,您实际上是在尝试在同一端口上使用两个不同的HTTP服务器,我认为这是行不通的。您应该使用其他端口来完成这项工作。