简体   繁体   中英

Creating a Custom Authentication Provider in Oracle WebLogic Server 12.1.2.0.0

I am creating a Custom Authentication Provider in WL 12.1.2.0.0 using the MbeanMaker utility to take the MDF file ( http://docs.oracle.com/cd/E12839_01/web.1111/e13718/mdf_ref.htm#DEVSP573 ) and generate the MBean and stubs. This is my MDF file:

<?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>

but when I run the utility I got this strange error:

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)

It seems it didn't find "commo.dtd" , As mentioned in the doc Copy WL_HOME\\server\\lib\\commo.dtd to the same directory as the xml file

Example commo.dtd file

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM