Я следую учебному руководству по Java EE 6 и пытаюсь настроить базового клиента для веб-службы.Я генерирую необходимый код с использованием Eclipse.
Метод:
- Создание нового проекта Java
- Запуск мастера [Клиент веб-службы]
- Укажите [Определение службы] и выберите [Разработчик клиента]
. При этом генерируется код, но я получаю следующие ошибки (повторяются несколько раз):
конечная точка.Привет не может быть разрешен в тип HelloProxy.java /com.examples.helloclientapp/src/endpoint line
Привет не может быть разрешен в тип HelloProxy.java /com.examples.helloclientapp/src/endpoint
Это код для веб-службы, которую я использую (которая работает, и я могу получить доступ к 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;
}
}
Другие сгенерированные файлы (при необходимости я могу предоставить содержимое):
- Hello_PortType.java
- HelloPortBindingStub.java
- HelloService.java
- HelloServiceLocator.java
Что-то не так с веб-службой, которая вызываеткласс Hello, который не будет сгенерирован?