我正在关注Java EE 6教程并尝试为Web服务设置基本客户端。我正在使用Eclipse生成所需的代码。
方法:
这会生成代码,但我收到以下错误(重复多次):
endpoint.Hello无法解析为类型HelloProxy.java /com.examples.helloclientapp/src/endpoint line
Hello无法解析为类型HelloProxy.java /com.examples.helloclientapp/src/endpoint
这是我正在使用的webservice的代码(可以访问wsdl,但是有效):
package endpoint;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService
public class Hello {
private String message = new String("Hello, ");
public void Hello() {
}
@WebMethod
public String sayHello(String name) {
return message + name + ".";
}
}
给我一个问题的生成代码是HelloProxy。它似乎缺少Hello类(这没有生成):
package endpoint;
public class HelloProxy implements endpoint.Hello {
private String _endpoint = null;
// This was not generated
private endpoint.Hello hello = null;
public HelloProxy() {
_initHelloProxy();
}
public HelloProxy(String endpoint) {
_endpoint = endpoint;
_initHelloProxy();
}
private void _initHelloProxy() {
try {
hello = (new endpoint.HelloServiceLocator()).getHelloPort();
if (hello != null) {
if (_endpoint != null)
((javax.xml.rpc.Stub)hello)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
else
_endpoint = (String)((javax.xml.rpc.Stub)hello)._getProperty("javax.xml.rpc.service.endpoint.address");
}
}
catch (javax.xml.rpc.ServiceException serviceException) {}
}
public String getEndpoint() {
return _endpoint;
}
public void setEndpoint(String endpoint) {
_endpoint = endpoint;
if (hello != null)
((javax.xml.rpc.Stub)hello)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
}
public endpoint.Hello getHello() {
if (hello == null)
_initHelloProxy();
return hello;
}
}
生成的其他文件是(如果需要,我可以提供内容):
Web服务是否有问题导致Hello类无法生成?