错误描述的很明确阿,在DTD文件里面没有声明role-source这个Element阿。你用的是2.0么?下面是个简单的例子:
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<!-- Generated XML! --><ejb-jar>
  <enterprise-beans>
    <session>
      <ejb-name>PreEstBean</ejb-name>
      <home>jp.co.nttcom.catalog.estimate.ejb.PreEstHome</home>
      <remote>jp.co.nttcom.catalog.estimate.ejb.PreEst</remote>
      <ejb-class>jp.co.nttcom.catalog.estimate.ejb.PreEstBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
    </session>  </enterprise-beans>  <assembly-descriptor>
    <container-transaction>
      <method>
        <ejb-name>PreEstBean</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
  </assembly-descriptor></ejb-jar>