托管java制作的Web服务

托管java制作的Web服务,java,eclipse,web-services,localhost,ngrok,Java,Eclipse,Web Services,Localhost,Ngrok,因此,我一直在开发一个在客户端和服务器之间进行通信的web服务。它完全可以在我的计算机上工作,我可以在不在同一个包中的情况下将请求从客户端发送到服务器。 我正在托管我的服务,如: public class WebServiceServer { public static void main(String[] args) { String bindingURI = "http://localhost:4040/absolute/uploadService";

因此,我一直在开发一个在客户端和服务器之间进行通信的web服务。它完全可以在我的计算机上工作,我可以在不在同一个包中的情况下将请求从客户端发送到服务器。 我正在托管我的服务,如:

public class WebServiceServer {

    public static void main(String[] args) {
        String bindingURI = "http://localhost:4040/absolute/uploadService";
        FileReceive service = new FileReceiveImpl();
        Endpoint.publish(bindingURI, service);
        System.out.println("Server started at: " + bindingURI);
    }
}
我的客户端连接到我的服务,如:

公共静态void main(字符串args[])引发异常{

JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setServiceClass(FileReceive.class);
factory.setAddress
("http://localhost:4040/absolute/uploadService");
FileReceive client =(FileReceive) factory.create();

从这一点上,我想公开web服务(能够从本地主机外部连接)。我安装ruby和ruby gems后发现本地隧道不再可用。然后我使用ngrok为我转发了一个URL,但我无法获得任何post请求(就好像这是我的web服务一样)仅在我将URL键入web浏览器时获取方法。是否有人知道任何更易于使用的托管服务,以便有人(本地主机以外的人)可以将文件发布到我的web服务?谢谢。

您的问题可能与Java无关。连接到服务器时,您是否使用其公共IP?如果是,您的端口(4040)是否为在路由器和/或防火墙上打开?最好的方法是使用网络流量分析器,如wireshark()查看您的客户端请求是否真的到达了您的服务器。@jumojer我试图做的是使我的web服务可用,以便本地主机以外的人可以向其发送文件。例如,我希望我的父亲能够通过不同的ISP(不同的本地主机)将文件从他的家发送到我家如何做到这一点?我的最初是为只能在该端口访问它的本地主机用户设置的。对吗?要访问您的服务器,您的父亲必须连接到您的IP地址,而不是本地主机。您可以在此处检查您的IP,然后想要连接到您的服务器的人将更改您的IP的“本地主机”。