远程连接Java Web服务

时间:2012-04-12 02:16:22

标签: java web-services jax-ws

有人可以告诉我我做错了什么吗? 我正在尝试组织一个快速的Web服务测试,看看我现在是否可以让它工作。 我遇到的问题是,如下所示,它不起作用,但如果我更改网址并将“myWebsite.com”替换为“localhost”则可行。所以,我知道服务器端正在工作(我仍然检查并仔细检查它)。但我需要通过远程客户端来工作,而我却无法让它工作。 任何帮助将不胜感激。

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)

3 个答案:

答案 0 :(得分:1)

可能是DNS问题?您将myWebsite.com解析为什么IP地址?

答案 1 :(得分:1)

您的异常表示无法访问服务的wsdl - 而不是服务本身。您是否可以确认此位置的服务的wsdl是否可用 - http://myWebsite.com:32768/home/rhyan/workspace/Stickman/bin/stickman/Server,并且wsdl中的url指向正确的工作端点。

答案 2 :(得分:1)

我花了8天的时间在网上阅读了大量的内容,然后我通过随机的Google搜索找到了问题的答案:Publishing a WS with Jax-WS Endpoint

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