222.3. Spring Boot Auto-Configuration
组件支持 24 个选项,如下所列。
Name | 描述 | 默认值 | 类型 |
---|---|---|---|
camel.component.milo-client.application-name | 默认应用程序名称 | 字符串 | |
camel.component.milo-client.application-uri | 默认应用程序 URI | 字符串 | |
camel.component.milo-client.default-configuration.allowed-security-policies | 组允许的安全策略 URI。默认为接受全部并使用最高。 | Set | |
camel.component.milo-client.default-configuration.application-name | 应用程序名称 | Eclipse Milo 的 Apache Camel 适配器 | 字符串 |
camel.component.milo-client.default-configuration.application-uri | 应用程序 URI | 字符串 | |
camel.component.milo-client.default-configuration.channel-lifetime | 频道生命周期(以毫秒为单位) | Long | |
camel.component.milo-client.default-configuration.client-id | 用于强制创建新连接实例的虚拟客户端 ID | 字符串 | |
camel.component.milo-client.default-configuration.discovery-endpoint-suffix | 发现时端点 URI 的后缀 | 字符串 | |
camel.component.milo-client.default-configuration.discovery-endpoint-uri | 备用发现 URI | 字符串 | |
camel.component.milo-client.default-configuration.key-alias | 密钥存储文件中的密钥名称 | 字符串 | |
camel.component.milo-client.default-configuration.key-password | 密钥密码 | 字符串 | |
camel.component.milo-client.default-configuration.key-store-password | 密钥存储密码 | 字符串 | |
camel.component.milo-client.default-configuration.key-store-type | 密钥存储类型 | 字符串 | |
camel.component.milo-client.default-configuration.max-pending-publish-requests | 等待发布请求的最大数量 | Long | |
camel.component.milo-client.default-configuration.max-response-message-size | 响应消息可能具有的最大字节数 | Long | |
camel.component.milo-client.default-configuration.override-host | 使用来自端点 URI 的主机覆盖服务器报告的端点主机。 | false | 布尔值 |
camel.component.milo-client.default-configuration.product-uri | 产品 URI | 字符串 | |
camel.component.milo-client.default-configuration.request-timeout | 以毫秒为单位请求超时 | Long | |
camel.component.milo-client.default-configuration.session-name | 会话名称 | 字符串 | |
camel.component.milo-client.default-configuration.session-timeout | 会话超时(以毫秒为单位) | Long | |
camel.component.milo-client.enabled | 启用 milo-client 组件 | true | 布尔值 |
camel.component.milo-client.product-uri | 默认产品 URI | 字符串 | |
camel.component.milo-client.reconnect-timeout | 默认重新连接超时 | Long | |
camel.component.milo-client.resolve-property-placeholders | 组件是否应在启动时解析属性占位符。只有 String 类型的属性可以使用属性占位符。 | true | 布尔值 |
222.3.1. Discovery(发现)
如果服务器使用专用的发现端点(如 /discovery
),它可以支持不同的(无安全)安全策略,那么您可以通过参数 discoveryEndpointSuffix
使用此选项,该端点将附加到 endpointUri
中。或通过使用显式的 discoveryEndpointUri
。
222.3.2. 覆盖主机名
客户端使用来自端点信息的主机信息,从服务器查询。然而,在某些情况下,这个端点 URI 可能有所不同,并从连接的客户端的角度来看(如内部主机名)错误。
在这种情况下,可以将参数 overrideHost
设置为 true
,这将获取发现的端点信息,但会使用原始 URI 的值覆盖主机信息。
222.3.3. 节点 ID
要定义目标节点,需要一个命名空间和节点 ID。在以前的版本中,这可以通过指定 nodeId
和 namespaceUri
或 namespaceIndex
来实现。但是,这只允许使用基于字符串的节点 ID。虽然这种配置仍然有可能,但较新的配置是首选的。
新方法是以 ns=1;i=1
格式指定完整的命名空间+节点 ID,它也允许使用其他节点 ID 格式(如数字、GUID/UUID 或 opaque)。如果使用了 node
参数,则不得使用旧的参数。此节点格式的语法是 一组键值对,用分号
(;
)分隔。
必须使用一个命名空间和一个节点 id 键。有关可能的密钥,请查看下表:
键 | 类型 | 描述 |
---|---|---|
ns | namespace | 数字命名空间索引 |
nsu | namespace | 命名空间 URI |
s | node | 字符串节点 ID |
i | node | 数字节点 ID |
g | node | GUID/UUID 节点 ID |
b | node | 用于不透明节点 ID 的 Base64 编码字符串 |
因为语法生成的值不能透明地编码为 URI 参数值,因此需要转义它们。但是,Camel 允许在 RAW (…)
内嵌套实际值,这会导致不必要的转义。例如:
milo-client:tcp://user:password@localhost:12345?node=RAW(nsu=http://foo.bar;s=foo/bar)
222.3.4. 方法 ID
可以在 OPC UA 节点上执行方法调用。如果将参数 方法
设置为方法调用的节点 ID (在这种情况下,节点 ID 必须设为父对象),则将执行方法调用,而不是写入操作。
输入参数从正文获取:
-
如果正文为空,则使用空的
Variant[]
-
如果正文是
变体[]
,它将按原样使用 -
如果正文是
变体
,则它将嵌套在Variant[]
数组中 -
否则,正文将转换为
变体
,并嵌套在Variant[]
的数组中
222.3.5. 安全策略
当设置允许安全策略时,可以使用已知的 OPC UA URI (如 http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15
)或使用 Milo enum literals (如 None
)。指定未知安全策略 URI 或 enum 是一个错误。
此处可以看到已知的安全策略 URI 和 enum 文字: SecurityPolicy.java
注意: 在任何情况下,安全策略被视为区分大小写。