在 Oracle WebLogic Server 12.1.2.0.0 中创建自定义身份验证提供程序

Creating a Custom Authentication Provider in Oracle WebLogic Server 12.1.2.0.0

我正在使用 MbeanMaker 实用程序在 WL 12.1.2.0.0 中创建自定义身份验证提供程序以获取 MDF 文件 (http://docs.oracle.com/cd/E12839_01/web.1111/e13718/mdf_ref.htm#DEVSP573) 并生成 MBean 和存根。这是我的 MDF 文件:

<?xml version="1.0" ?>
<!DOCTYPE MBeanType SYSTEM "commo.dtd">
<MbeanType Name = "DevicesAuthentication" DisplayName = "DevicesAuthentication"
  Package = "fr.telecom.ws.security.iap"
  Extends = "weblogic.management.security.authentication.Authenticator"
  PersistPolicy = "OnUpdate">

<MbeanAttribute Name = "ProviderClassName" Type = "java.lang.String"
  Writeable = "false"
  Default ="&quot;fr.telecom.ws.security.iap.DevicesAuthenticationProviderImpl&quot;"
  />

<MbeanAttribute Name = "Description" Type = "java.lang.String"
  Writeable = "false"
  Default = "&quot;Traces Authentication Provider&quot;"
  />

<MBeanAttribute Name = "Version" Type = "java.lang.String"
  Writeable = "false" Default = "&quot;1.0&quot;"
  />
</MBeanType>

但是当我 运行 实用程序时,我得到了这个奇怪的错误:

Parsing the MBean definition file: MyAuthentication.xml
java.io.FileNotFoundException: C:\Developpement\Workspaces\EclipseWS\MyAuthenticationProvider\src\commo.dtd (The system cannot find the file specified)
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(FileInputStream.java:146)
        at java.io.FileInputStream.<init>(FileInputStream.java:101)
        at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
        at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:619)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(XMLEntityManager.java:1297)
        at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:1264)
        at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:263)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.dispatch(XMLDocumentScannerImpl.java:1164)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDriver.next(XMLDocumentScannerImpl.java:1050)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:964)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
        at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347)
        at weblogic.xml.jaxp.RegistryDocumentBuilder.parse(RegistryDocumentBuilder.java:163)
        at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
        at weblogic.management.commo.WebLogicMBeanMaker.main(WebLogicMBeanMaker.java:573)

好像没找到"commo.dtd",如doc中所说,复制WL_HOME\server\lib\commo.dtd到xml文件所在目录[=12] =]

示例commo.dtd 文件