读书人

怎么把一个ejb3项目在Jboss5.1上发布成

发布时间: 2012-02-29 16:44:10 作者: rapoo

如何把一个ejb3项目在Jboss5.1上发布成拥有一套接口的WebService?
我现在做了一个ejb3的小例子,里面分别有一个remote的sessionBean(HelloWorld)和local的sessionBean(GoodByeWorld),并成功发布到Jboss5上面,调用也没问题.
因为想用根据ejb3项目发布成WebService,所以按照网上的例子我加上了WebService之类的标签,当然发布也成功了,调用也没问题,但却分别得到两个不同的wsdl地址.然而事实上我想要的是拥有这两个接口例子的一个wsdl,即想相对应整个项目而不是一个地址对应一个接口,请问怎么做?


为了让大家能够更加的了解问题所在,就顺便贴出代码出来:
(我用的是eclipse3.7 + Jboss 5.1 + ejb3.0)
HelloWorldRemote接口

Java code
package com.allen;import javax.ejb.Remote;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;@Remote@WebService(name = "HelloWorldRemote")@SOAPBinding(style = SOAPBinding.Style.RPC)public interface HelloWorldRemote {   String sayHello(String name);}


HelloWorld实现类
Java code
package com.allen;import javax.ejb.Remote;import javax.ejb.Stateless;import javax.jws.WebMethod;import javax.jws.WebService;import org.jboss.wsf.spi.annotation.WebContext;/** * Session Bean implementation class HelloWorld */@Stateless@Remote(HelloWorldRemote.class)@WebService(endpointInterface ="com.allen.HelloWorldRemote",serviceName ="MyWorld")@WebContext(contextRoot="")public class HelloWorld implements HelloWorldRemote {    @WebMethod    public String sayHello(String name) {        // TODO Auto-generated method stub        return "Hello!"+name;    }}


GoodByeWorld接口
Java code
package com.allen;import javax.ejb.Local;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;@Local@WebService(name = "GoodByeWorldLocal")@SOAPBinding(style = SOAPBinding.Style.RPC)public interface GoodByeWorldLocal {   String sayGoodBye(String name);}


GoodByeWorld实现类
Java code
package com.allen;import javax.ejb.Local;import javax.ejb.Stateless;import javax.ejb.TransactionManagement;import javax.ejb.TransactionManagementType;import javax.jws.WebService;/** * Session Bean implementation class GoodByeWorld */@Stateless@Local(GoodByeWorldLocal.class)@WebService(endpointInterface ="com.allen.GoodByeWorldLocal",serviceName ="MyWorld")public class GoodByeWorld implements GoodByeWorldLocal {    /* (non-Javadoc)     * @see com.allen.GoodByeWorldLocal#sayGoodBye(java.lang.String)     */    public String sayGoodBye(String name) {        // TODO Auto-generated method stub        return "GoodBye!Dear "+ name;    }}



[解决办法]
接口:
Java code
package com.huawei.datavoice.measurement.service;import javax.ejb.Remote;@Remotepublic interface MeasurementService {        void recalculate(int indexInstanceId) throws Exception;} 

读书人网 >J2EE开发

热点推荐