1
votes

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:

enter image description here

1

1 Answers

0
votes

Look at the [WebSphere Application Server classic] Create router modules section of the IBM Knowledge Center WebSphere Developer Tools for web services development topic. Additional detail on the Create Router Modules wizard (which was formerly known as the Endpoint Enabler) can be found at the Creating web service router modules topic .