Ibm mobilefirst IBM Worklight 5.0.6.1-适配器部署失败

Ibm mobilefirst IBM Worklight 5.0.6.1-适配器部署失败,ibm-mobilefirst,worklight-adapters,Ibm Mobilefirst,Worklight Adapters,尝试将适配器部署到Worklight控制台时遇到问题 <displayName>ConfigFileAdapter</displayName> <description>ConfigFileAdapter</description> <connectivity> <connectionPolicy xsi:type="http:HTTPConnectionPolicyType"> <protoc

尝试将适配器部署到Worklight控制台时遇到问题

<displayName>ConfigFileAdapter</displayName>
<description>ConfigFileAdapter</description>
<connectivity>
    <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
        <protocol>${adapter.config.protocol}</protocol>
        <domain>${adapter.config.domain}</domain>
        <port>${adapter.config.port}</port> 
        <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
        <sslCertificateAlias></sslCertificateAlias> 
        <sslCertificatePassword></sslCertificatePassword>
        -->     
    </connectionPolicy>
    <loadConstraints maxConcurrentConnectionsPerNode="30" />
</connectivity>

<procedure name="getConfigData"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />


<procedure name="getLoggingLevel"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
</wl:adapter>
我发现读取worklight.properties文件的适配器没有部署。但是,不读取worklight.properties文件的适配器可以毫无问题地部署

<displayName>ConfigFileAdapter</displayName>
<description>ConfigFileAdapter</description>
<connectivity>
    <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
        <protocol>${adapter.config.protocol}</protocol>
        <domain>${adapter.config.domain}</domain>
        <port>${adapter.config.port}</port> 
        <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
        <sslCertificateAlias></sslCertificateAlias> 
        <sslCertificatePassword></sslCertificatePassword>
        -->     
    </connectionPolicy>
    <loadConstraints maxConcurrentConnectionsPerNode="30" />
</connectivity>

<procedure name="getConfigData"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />


<procedure name="getLoggingLevel"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
</wl:adapter>
我查看了WAS日志,它似乎实际部署了不成功的适配器部署,但随后立即回滚(取消部署)

<displayName>ConfigFileAdapter</displayName>
<description>ConfigFileAdapter</description>
<connectivity>
    <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
        <protocol>${adapter.config.protocol}</protocol>
        <domain>${adapter.config.domain}</domain>
        <port>${adapter.config.port}</port> 
        <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
        <sslCertificateAlias></sslCertificateAlias> 
        <sslCertificatePassword></sslCertificatePassword>
        -->     
    </connectionPolicy>
    <loadConstraints maxConcurrentConnectionsPerNode="30" />
</connectivity>

<procedure name="getConfigData"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />


<procedure name="getLoggingLevel"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
</wl:adapter>
将Worklight 5.0.6.1与最新的iFix一起使用

<displayName>ConfigFileAdapter</displayName>
<description>ConfigFileAdapter</description>
<connectivity>
    <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
        <protocol>${adapter.config.protocol}</protocol>
        <domain>${adapter.config.domain}</domain>
        <port>${adapter.config.port}</port> 
        <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
        <sslCertificateAlias></sslCertificateAlias> 
        <sslCertificatePassword></sslCertificatePassword>
        -->     
    </connectionPolicy>
    <loadConstraints maxConcurrentConnectionsPerNode="30" />
</connectivity>

<procedure name="getConfigData"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />


<procedure name="getLoggingLevel"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
</wl:adapter>
编辑:

<displayName>ConfigFileAdapter</displayName>
<description>ConfigFileAdapter</description>
<connectivity>
    <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
        <protocol>${adapter.config.protocol}</protocol>
        <domain>${adapter.config.domain}</domain>
        <port>${adapter.config.port}</port> 
        <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
        <sslCertificateAlias></sslCertificateAlias> 
        <sslCertificatePassword></sslCertificatePassword>
        -->     
    </connectionPolicy>
    <loadConstraints maxConcurrentConnectionsPerNode="30" />
</connectivity>

<procedure name="getConfigData"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />


<procedure name="getLoggingLevel"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
</wl:adapter>
  • 已验证服务器和studio均使用相同的worklight版本
  • 相同的配置在UAT环境中工作良好;问题只发生在生产环境中
  • 适配器XML:

    <displayName>ConfigFileAdapter</displayName>
    <description>ConfigFileAdapter</description>
    <connectivity>
        <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
            <protocol>${adapter.config.protocol}</protocol>
            <domain>${adapter.config.domain}</domain>
            <port>${adapter.config.port}</port> 
            <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
            <sslCertificateAlias></sslCertificateAlias> 
            <sslCertificatePassword></sslCertificatePassword>
            -->     
        </connectionPolicy>
        <loadConstraints maxConcurrentConnectionsPerNode="30" />
    </connectivity>
    
    <procedure name="getConfigData"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
    
    
    <procedure name="getLoggingLevel"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
    </wl:adapter>
    
    ConfigFileAdapter
    配置文件适配器
    ${adapter.config.protocol}
    ${adapter.config.domain}
    ${adapter.config.port}
    
    在SystemOut.log中捕获的日志:

    <displayName>ConfigFileAdapter</displayName>
    <description>ConfigFileAdapter</description>
    <connectivity>
        <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
            <protocol>${adapter.config.protocol}</protocol>
            <domain>${adapter.config.domain}</domain>
            <port>${adapter.config.port}</port> 
            <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
            <sslCertificateAlias></sslCertificateAlias> 
            <sslCertificatePassword></sslCertificatePassword>
            -->     
        </connectionPolicy>
        <loadConstraints maxConcurrentConnectionsPerNode="30" />
    </connectivity>
    
    <procedure name="getConfigData"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
    
    
    <procedure name="getLoggingLevel"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
    </wl:adapter>
    
    com.worklight.integration.services.impl.DeployServiceImpl SyncAdapterFromDB FWLSE0084I:已成功部署适配器“xxx”。 com.worklight.integration.services.impl.DeployServiceImpl deleteAdapterInternal FWLSE039I:已成功删除适配器“xxx”

    <displayName>ConfigFileAdapter</displayName>
    <description>ConfigFileAdapter</description>
    <connectivity>
        <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
            <protocol>${adapter.config.protocol}</protocol>
            <domain>${adapter.config.domain}</domain>
            <port>${adapter.config.port}</port> 
            <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
            <sslCertificateAlias></sslCertificateAlias> 
            <sslCertificatePassword></sslCertificatePassword>
            -->     
        </connectionPolicy>
        <loadConstraints maxConcurrentConnectionsPerNode="30" />
    </connectivity>
    
    <procedure name="getConfigData"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
    
    
    <procedure name="getLoggingLevel"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
    </wl:adapter>
    

    从日志中,适配器在部署后立即被删除。

    确保已部署到生产环境的.war文件包含一个worklight.properties文件,该文件包含这些
    adapter.config.protocol/host/port
    属性

    <displayName>ConfigFileAdapter</displayName>
    <description>ConfigFileAdapter</description>
    <connectivity>
        <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
            <protocol>${adapter.config.protocol}</protocol>
            <domain>${adapter.config.domain}</domain>
            <port>${adapter.config.port}</port> 
            <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
            <sslCertificateAlias></sslCertificateAlias> 
            <sslCertificatePassword></sslCertificatePassword>
            -->     
        </connectionPolicy>
        <loadConstraints maxConcurrentConnectionsPerNode="30" />
    </connectivity>
    
    <procedure name="getConfigData"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
    
    
    <procedure name="getLoggingLevel"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
    </wl:adapter>
    

    在我的测试中,我唯一一次无法部署使用worklight.properties中自定义属性的适配器是在worklight.properties中不存在这些属性时。发生这种情况时,我看到了以下错误:
    未能部署适配器“test.adapter”。无法解析占位符“test.idan”

    适配器不直接读取worklight.properties。使用worklight.properties文件的是worklight.war。您能否在尝试部署适配器时发布WAS日志文件中看到的错误。请添加适配器XML以及authenticationConfig.XML;这可能是securityTest不匹配。还请添加在Worklight控制台中出现的任何错误以及日志文件。以及澄清“阅读worklight.properties”的含义。是否使用自定义属性?请同时验证服务器和studio是否使用相同的版本(完全相同的版本)。是,只是检查了服务器和studio是否使用相同的worklight版本。
    <displayName>ConfigFileAdapter</displayName>
    <description>ConfigFileAdapter</description>
    <connectivity>
        <connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
            <protocol>${adapter.config.protocol}</protocol>
            <domain>${adapter.config.domain}</domain>
            <port>${adapter.config.port}</port> 
            <!-- Following properties used by adapter's key manager for choosing specific certificate from key store  
            <sslCertificateAlias></sslCertificateAlias> 
            <sslCertificatePassword></sslCertificatePassword>
            -->     
        </connectionPolicy>
        <loadConstraints maxConcurrentConnectionsPerNode="30" />
    </connectivity>
    
    <procedure name="getConfigData"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
    
    
    <procedure name="getLoggingLevel"  securityTest="adapterProtectionTest" requestTimeoutInSeconds="10" />
    </wl:adapter>