I am using eclipse Mars, IBM WebSphere Application Server 8.5 for developers, and using WAS 8.5 Developer Tools for Eclipse plugin.
When I right click my ear project in eclipse and choose to run my application the application is published and deployed on the server but web services are not published. I know in webspehere to publish my web services I must run endPtEnabler over my ear file before installation on the server to amend the ear file and add required websphere artifacts for web services.
As a work around for now, I had to generate the ear and apply endPtEnabler in maven install cycle, and I wrote jython script to be used in eclipse run configuration to install/update the application, However, this is painful to do with every change since changes are not hot deployed and I had to install the ear and run the jython script.
Is there a way to configure eclipse plugin to publish web services directly when running the application through eclipse??
UPDATE 1:
Service Class:
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);
}
File context: