Writing Complex Types
KircMax opened this issue · comments
Type of issue
- Bug
- Enhancement
- Compliance
- Question
- Help wanted
Current Behavior
I have some issues with writing some complex types:
The most simple write that failed that I found now was this one:
The node looks like this:
The read worked fine.
AdditionalInfo of InnerResult:
Cannot encode bodies of type 'Opc.Ua.ComplexTypes..10.IEC_COUNTER' in ExtensionObject unless the NamespaceUri (http://asm_dynamicarray/) is in the encoder's NamespaceTable.
--- bei Opc.Ua.BinaryEncoder.WriteExtensionObject(String fieldName, ExtensionObject value)
--- bei Opc.Ua.BinaryEncoder.WriteExtensionObjectArray(String fieldName, IList1 values) --- bei Opc.Ua.BinaryEncoder.WriteVariantValue(String fieldName, Variant value) --- bei Opc.Ua.BinaryEncoder.WriteVariant(String fieldName, Variant value) --- bei Opc.Ua.BinaryEncoder.WriteDataValue(String fieldName, DataValue value) --- bei Opc.Ua.WriteValue.Encode(IEncoder encoder) --- bei Opc.Ua.BinaryEncoder.WriteEncodeable(String fieldName, IEncodeable value, Type systemType) --- bei Opc.Ua.BinaryEncoder.WriteEncodeableArray(String fieldName, IList
1 values, Type systemType)
--- bei Opc.Ua.WriteRequest.Encode(IEncoder encoder)
--- bei Opc.Ua.BinaryEncoder.WriteEncodeable(String fieldName, IEncodeable value, Type systemType)
--- bei Opc.Ua.BinaryEncoder.EncodeMessage(IEncodeable message)
--- bei Opc.Ua.BinaryEncoder.EncodeMessage(IEncodeable message, Stream stream, IServiceMessageContext context, Boolean leaveOpen)
--- bei Opc.Ua.Bindings.UaSCUaBinaryChannel.WriteSymmetricMessage(UInt32 messageType, UInt32 requestId, ChannelToken token, Object messageBody, Boolean isRequest, Boolean& limitsExceeded)
--- bei Opc.Ua.Bindings.UaSCUaBinaryClientChannel.SendRequest(WriteOperation operation, Int32 timeout, IServiceRequest request)
Result | {BadEncodingError 'Could not send request to server.'} | Opc.Ua.ServiceResult
bei Opc.Ua.Bindings.ChannelAsyncOperation`1.End(Int32 timeout, Boolean throwOnError) in Opc.Ua.Bindings\ChannelAsyncOperation.cs: Zeile218
bei Opc.Ua.Bindings.UaSCUaBinaryClientChannel.EndSendRequest(IAsyncResult result) in Opc.Ua.Bindings\UaSCUaBinaryClientChannel.cs: Zeile280
bei Opc.Ua.SessionClient.Write(RequestHeader requestHeader, WriteValueCollection nodesToWrite, StatusCodeCollection& results, DiagnosticInfoCollection& diagnosticInfos) in Opc.Ua\SessionClient.cs: Zeile1373
bei Opc.Ua.SessionClientBatched.Write(RequestHeader requestHeader, WriteValueCollection nodesToWrite, StatusCodeCollection& results, DiagnosticInfoCollection& diagnosticInfos) in Opc.Ua\SessionClientBatched.cs: Zeile472
Expected Behavior
Sending the WriteRequest works fine
Steps To Reproduce
I probably will have to provide a repro in a sample server/client combination, right?
Environment
- OS: Windows 10 22H2 Build 19045.5011
- Environment: Windows 10
- Runtime:
- Nuget Version: 1.5.374.126
- Component: Opc.Ua.BinaryEncoder
- Server: S7-1500
- Client: SessionClientBatched (Opc.Ua)
Anything else?
No response