我正在尝试设置我的第一个示例Web项目,以便学习如何操作。我在一个名为“com.java24hours.ws”的包中有4个类。我正在尝试在eclipse中运行SquareRootClient类作为java应用程序。我得到一个java.net.ConnectException(我在课后发布了错误日志)。谁能告诉我我做错了什么?
SquareRootClient
package com.java24hours.ws;
import java.net.*;
import javax.xml.namespace.*;
import javax.xml.ws.*;
class SquareRootClient {
public static void main(String[] arguments) throws Exception {
URL url = new URL("http://127.0.0.1:5335/service?wsdl");
QName qname = new QName(
"http://ws.java24hours.com/",
"SquareRoorServerImplService"
);
Service service = Service.create(url, qname);
SquareRootServer srs = service.getPort(SquareRootServer.class);
System.out.println(srs.getTime());
System.out.println(srs.getSquareRoot(625D));
}
}
SquareRootServer
package com.java24hours.ws;
import javax.jws.*;
import javax.jws.soap.*;
import javax.jws.soap.SOAPBinding.*;
@WebService
@SOAPBinding(style = Style.RPC)
public interface SquareRootServer {
// get the square root of a number
@WebMethod double getSquareRoot(double input);
// get the current time and date as a string
@WebMethod String getTime();
}
SquareRootServerImpl
package com.java24hours.ws;
import java.util.*;
import javax.jws.*;
@WebService(endpointInterface = "com.java24hours.ws.SquareRootServer")
public class SquareRootServerImpl implements SquareRootServer {
public double getSquareRoot(double input) {
return Math.sqrt(input);
}
public String getTime() {
Date now = new Date();
return now.toString();
}
}
SquareRootServerPublisher
package com.java24hours.ws;
import javax.xml.ws.*;
public class SquareRootServerPublisher {
public static void main (String [] arguments ){
SquareRootServerImpl srsi = new SquareRootServerImpl();
Endpoint.publish("http://127.0.0.1:5335/service", srsi);
}
}
控制台(日志):
Exception in thread "main" javax.xml.ws.WebServiceException: Failed to access the WSDL at: http://127.0.0.1:5335/service?wsdl. It failed with:
Connection refused: connect.
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(Unknown Source)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(Unknown Source)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(Unknown Source)
at javax.xml.ws.Service.<init>(Unknown Source)
at javax.xml.ws.Service.create(Unknown Source)
at com.java24hours.ws.SquareRootClient.main(SquareRootClient.java:14)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.createReader(Unknown Source)
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.resolveWSDL(Unknown Source)
... 8 more