我正在为开发人员使用 eclipse Mars、IBM WebSphere Application Server 8.5,并为 Eclipse 插件使用 WAS 8.5 Developer Tools。
当我在 Eclipse 中右键单击我的 ear 项目并选择运行我的应用程序时,应用程序已发布并部署在服务器上,但未发布 Web 服务。我知道在 webspehere 中发布我的 web 服务我必须在我的 ear 文件上运行 endPtEnabler,然后在服务器上安装以修改 ear 文件并为 web 服务添加所需的 websphere 工件。
作为目前的解决方法,我必须在 maven 安装周期中生成 ear 并应用 endPtEnabler,并且我编写了 jython 脚本以在 eclipse 运行配置中使用来安装/更新应用程序,但是,每次更改都会很痛苦因为更改不是热部署的,所以我必须安装 ear 并运行 jython 脚本。
通过eclipse运行应用程序时,有没有办法配置eclipse插件直接发布web服务??
更新 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");
}
}
赛:
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);
}
文件上下文: