我正在尝试为cordys创建WS AppServer。我尝试使用DB Configuration向导配置新数据库。但是在创建DataBase时出现以下错误
<ErrorDetails>
<Request>
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Header xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<header xmlns="http://schemas.cordys.com/General/1.0/">
<Logger xmlns="http://schemas.cordys.com/General/1.0/" />
</header>
<i18n:international xmlns:i18n="http://www.w3.org/2005/09/ws-i18n">
<locale xmlns="http://www.w3.org/2005/09/ws-i18n">en-US</locale>
</i18n:international>
</SOAP:Header>
<SOAP:Body>
<TestConnectivity xmlns:xfr="http://schemas.cordys.com/1.0/xforms/runtime" xmlns="http://schemas.cordys.com/DSOConfig/1.0">
<dso>
<name>Test#MDMPOC</name>
<type>Relational</type>
<description>Test</description>
<organization>MDMPOC</organization>
<configuration>
<component name="Connection pool">
<jdbcDriver>com.mysql.jdbc.Driver</jdbcDriver>
<driverName>JDBC</driverName>
<jdbcDriverXAClass>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</jdbcDriverXAClass>
<defaultDatabase>Test</defaultDatabase>
<connectionString>
<![CDATA[jdbc:mysql://<<server_name>>:<<port_no>>/<<db>>?useUnicode=true&characterEncoding=UTF-8]]>
</connectionString>
<userName>usr</userName>
<password>dXNy</password>
<level />
</component>
</configuration>
</dso>
</TestConnectivity>
</SOAP:Body>
</SOAP:Envelope>
</Request>
<Response>
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Header xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<header xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://schemas.cordys.com/General/1.0/">
<msg-id>00505685-3bf1-11e4-e1f5-714467085f15</msg-id>
<license>License has expired since 615 day(s)</license>
</header>
</SOAP:Header>
<SOAP:Body>
<SOAP:Fault>
<faultcode xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/">ns0:Server</faultcode>
<faultstring xml:lang="en-US">Configuration validation was not successful.</faultstring>
<faultactor>http://schemas.cordys.com/DSOConfig/1.0</faultactor>
<detail>
<cordys:FaultDetails xmlns:cordys="http://schemas.cordys.com/General/1.0/">
<cordys:LocalizableMessage xmlns:cordys="http://schemas.cordys.com/General/1.0/">
<cordys:MessageCode xmlns:cordys="http://schemas.cordys.com/General/1.0/">Cordys.DSOConfig.Messages.validationFailed</cordys:MessageCode>
</cordys:LocalizableMessage>
</cordys:FaultDetails>
<cordys:FaultRelatedException xmlns:cordys="http://schemas.cordys.com/General/1.0/">
<![CDATA[java.lang.IllegalStateException: Failed to create dso:
<error
TYPE="Enumeration">
<elem>Error occurred while connecting to the database server. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "<<port_no>>"'.</elem>
<cordys:LocalizableMessage
xmlns:cordys="http://schemas.cordys.com/General/1.0/">
<cordys:MessageCode>Cordys.Database.Native.Messages.dbConnectionError</cordys:MessageCode>
<cordys:Insertion>com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Cannot load connection class because of underlying exception: 'java.lang.NumberFormatException: For input string: "<<port_no>>"'.</cordys:Insertion>
</cordys:LocalizableMessage>
</error>
(-1)
at com.eibus.applicationconnector.sql.DBConnection.initialize(DBConnection.java:204)
at com.eibus.applicationconnector.sql.DBConnection.<init>(DBConnection.java:116)
at com.eibus.applicationconnector.sql.WCPDBConnection.<init>(WCPDBConnection.java:93)
at com.eibus.applicationconnector.sql.LocalConnection.<init>(DBConnectionPool.java:79)
at com.eibus.applicationconnector.sql.DBConnectionPool.createConnection(DBConnectionPool.java:1945)
at com.eibus.applicationconnector.sql.DBConnectionPool.initialize(DBConnectionPool.java:1811)
at com.eibus.applicationconnector.sql.DBConnectionPool.<init>(DBConnectionPool.java:1326)
at com.eibus.applicationconnector.sql.DBConnectionPool.<init>(DBConnectionPool.java:1132)
at com.eibus.applicationconnector.sql.DBConnectionPool._createInstance(DBConnectionPool.java:1111)
at com.cordys.dsoconfig.types.CordysDBSO.testConnectivity(CordysDBSO.java:74)
at com.cordys.dsoconfig.DSOConfigService.testConnectivity(DSOConfigService.java:117)
at com.cordys.dsoconfig.DSOConfigSOAPService.testConnectivity(DSOConfigSOAPService.java:225)
at com.cordys.dsoconfig.DSOConfigSOAPService.process(DSOConfigSOAPService.java:344)
at com.eibus.soap.SOAPTransaction.handleBodyBlock(SOAPTransaction.java:1305)
at com.eibus.soap.SOAPTransaction.<init>(SOAPTransaction.java:602)
at com.eibus.soap.SOAPTransaction.<init>(SOAPTransaction.java:175)
at com.eibus.soap.Processor.onReceive(Processor.java:970)
at com.eibus.soap.Processor.onReceive(Processor.java:943)
at com.eibus.connector.nom.Connector.onReceive(Connector.java:417)
at com.eibus.transport.Middleware$NonTransactionalWorkerThreadBody.run(Middleware.java:1758)
at com.eibus.util.threadpool.WorkerThread.run(WorkerThread.java:64)
]]>
</cordys:FaultRelatedException>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
</Response>
</ErrorDetails>
我很擅长概念并难以理解它。为什么需要在WS Appserver详细信息中提供数据库配置? Ws AppServer与其他应用服务器不同吗?
答案 0 :(得分:2)
请在数据库设置期间提及相关的端口号,然后重试 WS AppServer用于创建Web服务,通过它我们可以访问数据库中的数据。有关详细信息,请查看cordys文档。