Смена адреса клиента Java axis1.X - PullRequest
1 голос
/ 08 марта 2012

Я использовал инструмент axis1 для генерации моего клиента из WSDL.Моя проблема в том, что я хочу подключиться к другому хосту, нежели тот, что на WSDL.Таким образом, я сделал:

new BobsledWSHostLocator("http://localhost:8731/Bobsled/Core/?wsdl", new QName("http://lint.com/schemas/Bobsled", "BobsledWSHost"));

Но когда я пытаюсь установить связь с хостом, он все равно идет по адресу, который у меня есть на wsdl, с которого я сгенерировал клиента ... когда он должен перейти на localhost.

Я хотел изменить адрес хоста схематически, чтобы у меня было несколько хостов.

Чего мне не хватает?

Ответы [ 2 ]

1 голос
/ 08 марта 2012

Попробуйте это:

BobsledWSHostLocator locator = new BobsledWSHostLocator();
BobsledWSHostService service = locator.getBobsledWSHostHttpPort(new URL("http://localhost:8731/Bobsled/Core/?wsdl"));
0 голосов
/ 08 марта 2012

Ось также должна была сгенерировать класс, заканчивающийся на BindingStub, в котором есть конструктор, принимающий URL-адрес конечной точки веб-службы, и объект org.apache.axis.client.Service, который может быть создан с учетом QName вашего сервиса. Это может выглядеть примерно так:

new BobsledWSHostBindingStub(
    new URL("http://example.com/Bobsled/Core/"),
    new Service(new QName("http://lint.com/schemas/Bobsled", "BobsledWSHost")));

Редактировать: Это на самом деле тот же код, который метод get*Port, который nwinkler использует для внутреннего использования.

...