Инструменты разработчика WebSphere Application Server для Eclipse: веб-службы не опубликованы

Я использую eclipse Mars, IBM WebSphere Application Server 8.5 для разработчиков и использую плагин WAS 8.5 Developer Tools для Eclipse.

Когда я щелкаю правой кнопкой мыши свой проект уха в eclipse и выбираю запуск своего приложения, приложение публикуется и разворачивается на сервере, но веб-службы не публикуются. В веб-сфере я знаю, что для публикации своих веб-сервисов я должен запустить endPtEnabler над моим файлом ear перед установкой на сервер, чтобы изменить файл ear и добавить необходимые артефакты websphere для веб-сервисов.

В качестве обходного пути на данный момент мне пришлось сгенерировать ear и применить endPtEnabler в цикле установки maven, и я написал сценарий jython, который будет использоваться в конфигурации запуска eclipse для установки / обновления приложения, однако это болезненно делать при каждом изменении поскольку изменения развернуты не в горячем режиме, мне пришлось установить ear и запустить скрипт jython.

Есть ли способ настроить плагин Eclipse для публикации веб-сервисов непосредственно при запуске приложения через Eclipse?

ОБНОВЛЕНИЕ 1:

Класс обслуживания:

package com.home.da.services.mq.simulators;
import static com.home.core.common.constants.ConstantValues.*;
import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.jms.Queue;
import javax.jws.WebService;

import com.home.core.mq.xml.bind.bill.req.SendSystemNotificationRequest;
import com.home.da.services.mq.MQAccessorLocal;


@WebService(serviceName="ReceiveTransactionService",
            endpointInterface = "com.home.da.services.mq.simulators.ReceiveTransaction",
            portName = "ReceiveTransactionPort",
            targetNamespace = "http://home.com/BILL")
@Stateless
public class ReceiveTransactionWS implements ReceiveTransaction{

        @EJB
        private MQAccessorLocal mqAccessorLocal;

        @Override
        public void sendTransaction(SendSystemNotificationRequest trx) {
            mqAccessorLocal.sendMQMessage(Boolean.FALSE, trx, "com.home.core.mq.xml.bind.bill.req", null, JNDI_NOTF_BILL_SYS_REQ, null, null, null, "999999999");
        }

    }

SEI:

package com.home.da.services.mq.simulators;

import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;

import com.home.core.mq.xml.bind.bill.req.SendSystemNotificationRequest;

@WebService(name = "ReceiveTransaction", targetNamespace = "http://home.com/BILL")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.WRAPPED,
             use = SOAPBinding.Use.LITERAL,
             style = SOAPBinding.Style.DOCUMENT)
public interface ReceiveTransaction {

    public void sendTransaction(SendSystemNotificationRequest trx);
}

Контекст файла:

введите описание изображения здесь

1 ответ

Посмотрите на [Классический WebSphere Application Server] раздел Создание модулей маршрутизатора в разделе разработки IBM WebSphere Developer Tools для разработки веб-сервисов. Дополнительную информацию о мастере создания модулей маршрутизатора (который ранее назывался Endpoint Enabler) можно найти в разделе " Создание модулей маршрутизатора веб-службы".

Другие вопросы по тегам