2012-04-12 51 views
0

有人可以告诉我我做错了什么吗? 我正在尝试将一个快速的Web服务测试放在一起,以查看是否可以立即使用它。 我遇到的问题是,如下所示,它不起作用,但如果我更改URL并将“myWebsite.com”替换为“localhost”,它会起作用。所以,我知道服务器端正在工作(我仍然检查并且双重检查它)。但是我需要通过远程客户端来完成这项工作,而我却无法实现它。 任何帮助将不胜感激。使用Java Web服务进行远程连接

package stickman.Server; 

import java.net.*; 
import javax.xml.namespace.*; 
import javax.xml.ws.*; 
import stickman.Combined.*; 
public class TestApp { 

public static void main(String[] args) throws Exception { 

    // -------------------------------------------- 
    // changing "myWebite.com" to "localhost" works 
    URL url = new URL(
     "http://myWebsite.com:32768/home/rhyan/workspace/Stickman/bin/stickman/Server"); 
    // -------------------------------------------- 

    QName qname = new QName("http://Server.stickman/","StickmanServerService"); 
    Service service = Service.create(url, qname); 
    StickmanServerInterface ssi = service.getPort(StickmanServerInterface.class); 

    Account a = ssi.getAccount("This is a test"); 
    System.out.println(a.getUserId()); 

} 

} 

编辑:这里的错误跟踪......

Exception in thread "main" com.sun.xml.internal.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException. 

java.net.ConnectException: Connection refused 
java.net.ConnectException: Connection refused 

at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:161) 
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:133) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:254) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:217) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:165) 
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:93) 
at javax.xml.ws.Service.<init>(Service.java:76) 
at javax.xml.ws.Service.create(Service.java:700) 
at stickman.Server.ServerTestApp.main(ServerTestApp.java:17) 

回答

1

它用了8天阅读的东西过多网上之前,我终于找到了答案,以我的问题,通过随机谷歌搜索,我想出了:Publishing a WS with Jax-WS Endpoint

“localhost”的应该是0.0.0.0,我完全应该知道这一点。 感谢试图帮助的人。

1

可能是一个DNS问题?你解决myWebsite.com到什么IP地址?

+0

我无法显示实际的网站,但该网站正常工作,而且我正在使用的端口已在路由器上打开。 – 2012-04-12 02:23:21

1

您的异常表示服务的wsdl不可访问 - 不是服务本身。您能否确认该服务的wsdl在此位置可用 - http://myWebsite.com:32768/home/rhyan/workspace/Stickman/bin/stickman/Server,并且wsdl中的网址指向适当的工作端点。

+0

是的,URL指向一个适当的工作端点,并且该网站是正确的,并且是服务运行的地方。 嗯......来想一想,是否需要设置一个Linux机器(Ubuntu 11.04)的某些设置来允许这样做? – 2012-04-12 03:12:12

+1

你可以尝试把一个工具,如nettool - http://sourceforge.net/projects/nettool/,在你的客户端程序和服务器之间来回看看发生了什么,甚至像wireshark - http: //www.wireshark.org/,从您的机器中查找所有出站请求,以确定请求的确切位置。 – 2012-04-12 11:19:59