///////////////////////////////////////////////////////////////////////////////////// | |
// Copyright (c) 2017-2018 Ericsson AB | |
// All rights reserved. This program and the accompanying materials | |
// are made available under the terms of the Eclipse Public License v1.0 | |
// which accompanies this distribution, and is available at | |
// http://www.eclipse.org/legal/epl-v10.html | |
///////////////////////////////////////////////////////////////////////////////////// | |
// Contributors: | |
// Akos Makovics | |
// | |
// File: UpcUa_Message_Templates.ttcn | |
// Rev: <RnXnn> | |
// Prodnr: CNL113861 | |
///////////////////////////////////////////////////////////////////////////////////// | |
module OpcUa_Message_Templates { | |
import from OpcUa_Types_Binary all; | |
import from OpcUa_Templates_Binary all; | |
///////////////////////////////////////////////////////////// | |
// // | |
// General // | |
// // | |
///////////////////////////////////////////////////////////// | |
template MessageChunk tr_baseResponseMessage := { | |
header := ?, | |
transportMessage := *, | |
securityChannelId := *, | |
securePolicyUri := *, | |
senderCertificate := *, | |
receiverCertificateThumbprint := *, | |
securityTokenId := *, | |
sequenceHeader := *, | |
body := * | |
} | |
const RequestHeader reqHeader := { | |
authenticationToken := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 0 | |
} | |
} | |
}, | |
timestamp := 131556452504050000, | |
requestHandle := 4, | |
returnDiagnostics := 0, | |
auditEntryId := { nullString := { arrayLength := -2147483647 } }, | |
timeoutHint := 0, | |
additionalHeader := { | |
typeId := { | |
node := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 0 | |
} | |
} | |
}, | |
namespaceUri := omit, | |
serverIndex := omit | |
}, | |
Value := 0 | |
} | |
} | |
const RequestHeader reqHeaderFourByte := { | |
authenticationToken := { | |
mask := 5, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
byteString := { | |
nameSpace := 0, | |
nodeValue := { | |
realByteString := { | |
lengthValue := 16, | |
byteStringValue := { 213, 222, 175, 58, 50, 191, 56, 110, 161, 40, 190, 206, 46, 98, 162, 70 } | |
} | |
} | |
} | |
} | |
}, | |
timestamp := 131556452504610000, | |
requestHandle := 4, | |
returnDiagnostics := 0, | |
auditEntryId := { | |
realString := { | |
stringLength := 0, | |
stringValue := "" | |
} | |
}, | |
timeoutHint := 0, | |
additionalHeader := { | |
typeId := { | |
node := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 0 | |
} | |
} | |
}, | |
namespaceUri := omit, | |
serverIndex := omit | |
}, | |
Value := 0 | |
} | |
} | |
const ResponseHeader respHeader := { | |
timestamp := 131563360189870000, | |
requestHandle := 1, | |
serviceResult := 0, | |
serviceDiagnostics := { | |
symbolicIdBit := 0, | |
namespaceUriBit := 0, | |
localeBit := 0, | |
localisedTextBit := 0, | |
additionalInfoBit := 0, | |
innerStatusCodeBit := 0, | |
innerDiagnosticInfoBit := 0, | |
reserveBit := 0, | |
symbolicId := omit, | |
namespaceUri := omit, | |
locale := omit, | |
localisedText := omit, | |
additionalInfo := omit, | |
innerStatusCode := omit, | |
innerDiagnosticInfo := omit | |
}, | |
stringTable := { | |
realArray := { | |
arrayLength := 0, | |
arrayValues := { } | |
} | |
}, | |
additionalHeader := { | |
typeId := { | |
node := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 0 | |
} | |
} | |
}, | |
namespaceUri := omit, | |
serverIndex := omit | |
}, | |
Value := 0 | |
} | |
} | |
template UserTokenPolicy userTokenPolicy := { | |
policyId := valueof(tr_String("username_basic256")), | |
tokenType := USERNAME_1, | |
issuedTokenType := valueof(tr_StringNull), | |
issuerEndpointUrl := valueof(tr_StringNull), | |
securityPolicyUri := valueof(tr_String("http://opcfoundation.org/UA/SecurityPolicy#Basic256")) | |
} | |
template EndpointDescription endpointDesc := { | |
endpointUrl := valueof(tr_String("opc.tcp://zmakako-VirtualBox:4334/UA/MyLittleServer")), | |
server := { | |
applicationUri := valueof(tr_String("urn:NodeOPCUA-Server-default")), | |
productUri := valueof(tr_String("NodeOPCUA-Server")), | |
applicationName := { | |
localeBit := 0, | |
textBit := 1, | |
spareBit1 := 0, | |
spareBit2 := 0, | |
spareBit3 := 0, | |
spareBit4 := 0, | |
spareBit5 := 0, | |
spareBit6 := 0, | |
locale := omit, | |
text := valueof(tr_String("NodeOPCUA")) | |
}, | |
applicationType := SERVER_0, | |
gatewayServerUri := valueof(tr_String("")), | |
discoveryProfileUri := valueof(tr_String("")), | |
discoveryUrls := valueof(tr_ListOfString( {} )) | |
}, | |
serverCertificate := valueof(tr_ByteString( {48, 130, 4} )), | |
securityMode := NONE_1, | |
securityPolicyUri := valueof(tr_String("http://opcfoundation.org/UA/SecurityPolicy#None")), | |
userIdentityTokens := valueof(tr_ListOfUserTokenPolicy( {valueof(userTokenPolicy)} )), | |
transportProfileUri := valueof(tr_String("http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary")), | |
securityLevel := 3 | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// Hello Message // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetHelloMessage() return octetstring { | |
var MessageHeader v_header := valueof(tr_HeaderHello); | |
var HelloMessage v_body := { | |
version := 0, | |
receiveBufferSize := 655360, | |
sendBufferSize := 655360, | |
maxMessageSize := 0, | |
maxChunkCount := 0, | |
endPointUrl := valueof(tr_String("opc.tcp://zmakako-VirtualBox:4334/UA/MyLittleServer")) | |
} | |
var MessageChunk v_msg := valueof(tr_MessageHello(v_header, v_body)); | |
return enc_MessageChunk (v_msg); | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// Ack Message // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetAckMessage() return template MessageChunk { | |
template MessageChunk responseChunk modifies tr_baseResponseMessage := { | |
header := { | |
messageType := AckHeaderMsgType, | |
chunkType := FinalChunk, | |
messageSize := ? | |
} | |
} | |
return responseChunk; | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// OpenSecureChannelRequest // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetOpenSecureChannelRequest() return octetstring { | |
var MessageHeader v_header := valueof(tr_HeaderOpenSecureChannel); | |
var UInt32 v_securityChannelId := 0; | |
var ListOfByte v_securePolicyUri := valueof(tr_ListOfByte({ 104, 116, 116, 112, 58, 47, 47, 111, 112, 99, 102, 111, 117, 110, 100, 97, 116, 105, 111, 110, 46, 111, 114, 103, 47, 85, 65, 47, 83, 101, 99, 117, 114, 105, 116, 121, 80, 111, 108, 105, 99, 121, 35, 78, 111, 110, 101 })); | |
var ListOfByte v_senderCertificate := valueof(tr_ListOfByteNull); | |
var ListOfByte v_receiverCertificateThumbprint := valueof(tr_ListOfByteNull); | |
var SequenceHeader v_sequenceHeader := { | |
SequenceNumber := 1, | |
RequestId := 1 | |
} | |
var OpenSecureChannelRequest v_openSecReq := { | |
requestHeader := reqHeader, | |
clientProtocolVersion := 0, | |
requestType := ISSUE_0, | |
securityMode := NONE_1, | |
clientNonce := valueof(tr_ByteStringNull), | |
requestedLifetime := 600000 | |
} | |
var ServiceBody v_service := { | |
encodingByte := 1, | |
namespaceIndex := 0, | |
nodeValue := 0, | |
list := { | |
OpenSecureChannelRequest := v_openSecReq | |
} | |
} | |
var octetstring v_encodedBody := enc_ServiceBody(v_service); | |
var MessageChunk v_msg := valueof(tr_MessageOpenSecureChannel(v_header, v_securityChannelId, v_securePolicyUri, v_senderCertificate, v_receiverCertificateThumbprint, v_sequenceHeader, v_encodedBody)); | |
return enc_MessageChunk (v_msg); | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// OpenSecureChannelResponse // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetOpenSecureChannelResponse() return template MessageChunk { | |
template MessageChunk responseChunk modifies tr_baseResponseMessage := { | |
header := { | |
messageType := OpenSecureChannelMsgType, | |
chunkType := FinalChunk, | |
messageSize := ? | |
} | |
} | |
return responseChunk; | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// GetEndpointsRequest // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetEndpointsRequest() return octetstring { | |
var MessageHeader v_header := valueof(tr_HeaderService); | |
var UInt32 v_securityChannelId := 1; | |
var UInt32 v_securityTokenId := 1 | |
var SequenceHeader v_sequenceHeader := { | |
SequenceNumber := 2, | |
RequestId := 2 | |
} | |
var GetEndpointsRequest v_getEndpointsReq := { | |
requestHeader := reqHeader, | |
endpointUrl := valueof(tr_String( "" )), | |
localeIds := valueof(tr_ListOfLocaleId ( {} )), | |
profileUris := valueof(tr_ListOfString ( {} )) | |
} | |
var ServiceBody v_service := { | |
encodingByte := 1, | |
namespaceIndex := 0, | |
nodeValue := 0, | |
list := { | |
GetEndpointsRequest := v_getEndpointsReq | |
} | |
} | |
var octetstring v_encodedBody := enc_ServiceBody(v_service); | |
var MessageChunk v_msg := valueof(tr_MessageCloseSecureChannel(v_header, v_securityChannelId, v_securityTokenId, v_sequenceHeader, v_encodedBody)); | |
return enc_MessageChunk (v_msg); | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// CreateSessionRequest // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetCreateSessionRequest() return octetstring { | |
var MessageHeader v_header := valueof(tr_HeaderService); | |
var UInt32 v_securityChannelId := 1; | |
var UInt32 v_securityTokenId := 1 | |
var SequenceHeader v_sequenceHeader := { | |
SequenceNumber := 3, | |
RequestId := 3 | |
} | |
var CreateSessionRequest v_createSessionReq := { | |
requestHeader := reqHeader, | |
clientDescription := { | |
applicationUri := valueof(tr_String( "urn:zmakako-VirtualBox:Node-OPCUA-Server" )), | |
productUri := valueof(tr_String( "NodeOPCUA-Client" )), | |
applicationName := { | |
localeBit := 0, | |
textBit := 1, | |
spareBit1 := 0, | |
spareBit2 := 0, | |
spareBit3 := 0, | |
spareBit4 := 0, | |
spareBit5 := 0, | |
spareBit6 := 0, | |
locale := omit, | |
text := valueof(tr_String( "NodeOPCUA-Client" )) | |
}, | |
applicationType := CLIENT_1, | |
gatewayServerUri := valueof(tr_String( "" )), | |
discoveryProfileUri := valueof(tr_String( "" )), | |
discoveryUrls := valueof(tr_ListOfString({})) | |
}, | |
serverUri := valueof(tr_String( "urn:NodeOPCUA-Server-default" )), | |
endpointUrl := valueof(tr_String( "opc.tcp://zmakako-VirtualBox:4334/UA/MyLittleServer" )), | |
sessionName := valueof(tr_String( "Session1" )), | |
clientNonce := valueof(tr_ByteString( {103, 70, 147, 188, 171, 213, 166, 143, 188, 174, 139, 130, 248, 135, 93, 222, 115, 134, 67, 84, 89, 51, 182, 246, 95, 47, 244, 69, 162, 87, 120, 54} )), | |
clientCertificate := valueof(tr_ByteString( { 48, 130, 4, 172, 48, 130, 3, 148, 160, 3, 2, 1, 2, 2, 9, 0, 193, 232, 116, 99, 18, 62, 6, 87, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 48, 88, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 70, 82, 49, 12, 48, 10, 6, 3, 85, 4, 8, 19, 3, 73, 68, 70, 49, 14, 48, 12, 6, 3, 85, 4, 7, 19, 5, 80, 97, 114, 105, 115, 49, 18, 48, 16, 6, 3, 85, 4, 10, 19, 9, 78, 111, 100, 101, 79, 80, 67, 85, 65, 49, 23, 48, 21, 6, 3, 85, 4, 3, 19, 14, 78, 111, 100, 101, 79, 80, 67, 85, 65, 45, 84, 69, 83, 84, 48, 30, 23, 13, 49, 55, 49, 48, 49, 57, 48, 57, 50, 53, 51, 50, 90, 23, 13, 51, 50, 49, 48, 49, 53, 48, 57, 50, 53, 51, 50, 90, 48, 88, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 70, 82, 49, 12, 48, 10, 6, 3, 85, 4, 8, 19, 3, 73, 68, 70, 49, 14, 48, 12, 6, 3, 85, 4, 7, 19, 5, 80, 97, 114, 105, 115, 49, 18, 48, 16, 6, 3, 85, 4, 10, 19, 9, 78, 111, 100, 101, 79, 80, 67, 85, 65, 49, 23, 48, 21, 6, 3, 85, 4, 3, 19, 14, 78, 111, 100, 101, 79, 80, 67, 85, 65, 45, 84, 69, 83, 84, 48, 130, 1, 34, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 1, 5, 0, 3, 130, 1, 15, 0, 48, 130, 1, 10, 2, 130, 1, 1, 0, 162, 249, 118, 193, 122, 59, 9, 123, 20, 81, 132, 230, 222, 31, 81, 153, 95, 230, 235, 165, 119, 149, 47, 216, 100, 87, 85, 235, 155, 201, 46, 49, 153, 192, 135, 198, 208, 239, 3, 173, 127, 215, 133, 117, 6, 21, 120, 154, 177, 14, 220, 215, 143, 17, 104, 15, 105, 187, 57, 59, 145, 222, 79, 62, 112, 222, 116, 40, 83, 121, 96, 179, 7, 77, 67, 70, 91, 253, 110, 243, 2, 81, 104, 228, 225, 144, 127, 148, 248, 156, 216, 58, 197, 3, 51, 50, 199, 161, 26, 172, 237, 196, 225, 4, 6, 119, 147, 181, 126, 190, 36, 200, 233, 199, 193, 65, 191, 36, 90, 76, 127, 20, 121, 206, 146, 82, 191, 69, 5, 49, 212, 72, 182, 75, 41, 131, 110, 194, 181, 235, 28, 96, 205, 132, 150, 179, 171, 90, 170, 66, 190, 90, 141, 117, 180, 203, 175, 232, 36, 50, 221, 64, 115, 64, 13, 0, 84, 195, 97, 154, 52, 5, 156, 114, 95, 30, 192, 69, 179, 74, 148, 67, 181, 216, 51, 129, 195, 120, 211, 1, 114, 14, 148, 139, 211, 231, 91, 128, 26, 63, 36, 99, 193, 148, 251, 251, 76, 231, 95, 84, 68, 212, 235, 101, 119, 68, 15, 238, 199, 232, 239, 3, 228, 124, 41, 133, 193, 108, 180, 218, 49, 13, 140, 13, 43, 187, 108, 60, 6, 163, 251, 202, 53, 180, 177, 141, 114, 45, 39, 236, 196, 248, 61, 33, 142, 215, 2, 3, 1, 0, 1, 163, 130, 1, 119, 48, 130, 1, 115, 48, 29, 6, 3, 85, 29, 14, 4, 22, 4, 20, 17, 124, 191, 30, 233, 154, 127, 115, 204, 254, 168, 65, 112, 82, 167, 146, 191, 42, 85, 25, 48, 129, 137, 6, 3, 85, 29, 35, 4, 129, 129, 48, 127, 128, 20, 17, 124, 191, 30, 233, 154, 127, 115, 204, 254, 168, 65, 112, 82, 167, 146, 191, 42, 85, 25, 161, 92, 164, 90, 48, 88, 49, 11, 48, 9, 6, 3, 85, 4, 6, 19, 2, 70, 82, 49, 12, 48, 10, 6, 3, 85, 4, 8, 19, 3, 73, 68, 70, 49, 14, 48, 12, 6, 3, 85, 4, 7, 19, 5, 80, 97, 114, 105, 115, 49, 18, 48, 16, 6, 3, 85, 4, 10, 19, 9, 78, 111, 100, 101, 79, 80, 67, 85, 65, 49, 23, 48, 21, 6, 3, 85, 4, 3, 19, 14, 78, 111, 100, 101, 79, 80, 67, 85, 65, 45, 84, 69, 83, 84, 130, 9, 0, 193, 232, 116, 99, 18, 62, 6, 87, 48, 12, 6, 3, 85, 29, 19, 4, 5, 48, 3, 1, 1, 255, 48, 14, 6, 3, 85, 29, 15, 1, 1, 255, 4, 4, 3, 2, 1, 6, 48, 95, 6, 9, 96, 134, 72, 1, 134, 248, 66, 1, 13, 4, 82, 22, 80, 83, 101, 108, 102, 83, 105, 103, 110, 101, 100, 32, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 32, 103, 101, 110, 101, 114, 97, 116, 101, 100, 32, 98, 121, 32, 78, 111, 100, 101, 45, 79, 80, 67, 85, 65, 32, 67, 101, 114, 116, 105, 102, 105, 99, 97, 116, 101, 32, 117, 116, 105, 108, 105, 116, 121, 32, 117, 115, 105, 110, 103, 32, 111, 112, 101, 110, 115, 115, 108, 48, 71, 6, 3, 85, 29, 17, 4, 64, 48, 62, 134, 40, 117, 114, 110, 58, 122, 109, 97, 107, 97, 107, 111, 45, 86, 105, 114, 116, 117, 97, 108, 66, 111, 120, 58, 78, 111, 100, 101, 45, 79, 80, 67, 85, 65, 45, 83, 101, 114, 118, 101, 114, 130, 18, 122, 109, 97, 107, 97, 107, 111, 45, 86, 105, 114, 116, 117, 97, 108, 66, 111, 120, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 3, 130, 1, 1, 0, 22, 137, 144, 225, 128, 121, 63, 231, 142, 198, 56, 192, 141, 111, 226, 217, 215, 23, 136, 6, 246, 32, 201, 216, 83, 191, 107, 116, 101, 236, 227, 174, 40, 89, 16, 196, 106, 206, 58, 44, 57, 190, 231, 202, 222, 55, 3, 168, 5, 103, 54, 33, 245, 247, 158, 62, 14, 112, 252, 208, 199, 100, 88, 213, 165, 102, 115, 74, 184, 43, 25, 9, 189, 163, 137, 161, 77, 181, 46, 144, 124, 165, 161, 118, 16, 41, 139, 181, 209, 148, 149, 224, 171, 144, 145, 100, 226, 44, 24, 66, 28, 51, 227, 20, 25, 83, 242, 103, 94, 196, 143, 192, 51, 243, 186, 84, 113, 168, 82, 52, 244, 119, 221, 183, 151, 180, 112, 254, 132, 85, 243, 150, 149, 132, 233, 19, 190, 98, 178, 166, 90, 4, 136, 187, 43, 107, 11, 96, 124, 28, 0, 114, 9, 225, 161, 234, 23, 18, 67, 210, 67, 62, 65, 72, 55, 22, 82, 33, 147, 226, 174, 198, 179, 177, 213, 77, 54, 146, 15, 11, 109, 169, 116, 143, 70, 183, 213, 36, 114, 114, 131, 3, 164, 221, 35, 226, 221, 20, 11, 15, 248, 241, 151, 61, 229, 12, 151, 80, 69, 33, 56, 204, 248, 42, 78, 185, 61, 146, 254, 196, 188, 51, 129, 226, 133, 167, 193, 58, 159, 148, 222, 249, 96, 143, 122, 178, 30, 201, 40, 197, 240, 101, 58, 71, 87, 229, 138, 96, 24, 191, 194, 35, 23, 123, 136, 20} )), | |
requestedSessionTimeout := 60000.0, | |
maxResponseMessageSize := 800000 | |
} | |
var ServiceBody v_service := { | |
encodingByte := 1, | |
namespaceIndex := 0, | |
nodeValue := 0, | |
list := { | |
CreateSessionRequest := v_createSessionReq | |
} | |
} | |
var octetstring v_encodedBody := enc_ServiceBody(v_service); | |
var MessageChunk v_msg := valueof(tr_MessageCloseSecureChannel(v_header, v_securityChannelId, v_securityTokenId, v_sequenceHeader, v_encodedBody)); | |
return enc_MessageChunk (v_msg); | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// ActivateSessionRequest // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetActivateSessionRequest() return octetstring { | |
var MessageHeader v_header := valueof(tr_HeaderService); | |
var UInt32 v_securityChannelId := 1; | |
var UInt32 v_securityTokenId := 1 | |
var SequenceHeader v_sequenceHeader := { | |
SequenceNumber := 4, | |
RequestId := 4 | |
} | |
var ActivateSessionRequest v_activateSessionReq := { | |
requestHeader := reqHeaderFourByte, | |
clientSignature := { | |
algorithm := valueof(tr_StringNull), | |
Signature := valueof(tr_ByteStringNull) | |
}, | |
clientSoftwareCertificates := valueof(tr_ListOfSignedSoftwareCertificate({})), | |
localeIds := valueof(tr_ListOfLocaleId({})), | |
userIdentityToken := { | |
encodingByte := 1, | |
twoByteNodeValue := omit, | |
namespaceIndex := 0, | |
fourByteNodeValue := 321, | |
encoding := 1, | |
parameterLength := 13, | |
extensibleParameterBody := { | |
anonymousIdentityToken := { | |
policyId := valueof(tr_String( "anonymous")) | |
} | |
} | |
}, | |
userTokenSignature := { | |
algorithm := valueof(tr_StringNull), | |
Signature := valueof(tr_ByteStringNull) | |
} | |
} | |
var ServiceBody v_service := { | |
encodingByte := 1, | |
namespaceIndex := 0, | |
nodeValue := 0, | |
list := { | |
ActivateSessionRequest := v_activateSessionReq | |
} | |
} | |
var octetstring v_encodedBody := enc_ServiceBody(v_service); | |
var MessageChunk v_msg := valueof(tr_MessageCloseSecureChannel(v_header, v_securityChannelId, v_securityTokenId, v_sequenceHeader, v_encodedBody)); | |
var octetstring res := enc_MessageChunk (v_msg); | |
log (lengthof(res)); | |
log("======================="); | |
return enc_MessageChunk (v_msg); | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// BrowseRequest // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetBrowseRequest() return octetstring { | |
var MessageHeader v_header := valueof(tr_HeaderService); | |
var UInt32 v_securityChannelId := 1; | |
var UInt32 v_securityTokenId := 1 | |
var SequenceHeader v_sequenceHeader := { | |
SequenceNumber := 5, | |
RequestId := 5 | |
} | |
var BrowseRequest v_browseReq := { | |
requestHeader := { | |
authenticationToken := { | |
mask := 5, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
byteString := { | |
nameSpace := 0, | |
nodeValue := { | |
realByteString := { | |
lengthValue := 16, | |
byteStringValue := { | |
213, | |
222, | |
175, | |
58, | |
50, | |
191, | |
56, | |
110, | |
161, | |
40, | |
190, | |
206, | |
46, | |
98, | |
162, | |
70 | |
} | |
} | |
} | |
} | |
} | |
}, | |
timestamp := 131556452505810000, | |
requestHandle := 5, | |
returnDiagnostics := 0, | |
auditEntryId := { | |
realString := { | |
stringLength := 0, | |
stringValue := "" | |
} | |
}, | |
timeoutHint := 0, | |
additionalHeader := { | |
typeId := { | |
node := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 0 | |
} | |
} | |
}, | |
namespaceUri := omit, | |
serverIndex := omit | |
}, | |
Value := 0 | |
} | |
}, | |
view := { | |
viewId := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 0 | |
} | |
} | |
}, | |
timestamp := 0, | |
viewVersion := 0 | |
}, | |
requestedMaxReferencesPerNode := 10000, | |
nodesToBrowse := { | |
realArray := { | |
arrayLength := 1, | |
arrayValues := { | |
{ | |
nodeId := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 84 | |
} | |
} | |
}, | |
browseDirection := BOTH_2, | |
referenceTypeId := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 0 | |
} | |
} | |
}, | |
includeSubtypes := 1, | |
nodeClassMask := 0, | |
resultMask := 63 | |
} | |
} | |
} | |
} | |
} | |
var ServiceBody v_service := { | |
encodingByte := 1, | |
namespaceIndex := 0, | |
nodeValue := 0, | |
list := { | |
BrowseRequest := v_browseReq | |
} | |
} | |
var octetstring v_encodedBody := enc_ServiceBody(v_service); | |
var MessageChunk v_msg := valueof(tr_MessageCloseSecureChannel(v_header, v_securityChannelId, v_securityTokenId, v_sequenceHeader, v_encodedBody)); | |
return enc_MessageChunk (v_msg); | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// ReadRequest // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetReadRequest() return octetstring { | |
var MessageHeader v_header := valueof(tr_HeaderService); | |
var UInt32 v_securityChannelId := 1; | |
var UInt32 v_securityTokenId := 1 | |
var SequenceHeader v_sequenceHeader := { | |
SequenceNumber := 6, | |
RequestId := 6 | |
} | |
var ReadRequest v_readReq := { | |
requestHeader := { | |
authenticationToken := { | |
mask := 5, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
byteString := { | |
nameSpace := 0, | |
nodeValue := valueof(tr_ByteString( { 213, 222, 175, 58, 50, 191, 56, 110, 161, 40, 190, 206, 46, 98, 162, 70 } )) | |
} | |
} | |
}, | |
timestamp := 131556452505980000, | |
requestHandle := 7, | |
returnDiagnostics := 0, | |
auditEntryId := { | |
realString := { | |
stringLength := 0, | |
stringValue := "" | |
} | |
}, | |
timeoutHint := 0, | |
additionalHeader := { | |
typeId := { | |
node := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 0 | |
} | |
} | |
}, | |
namespaceUri := omit, | |
serverIndex := omit | |
}, | |
Value := 0 | |
} | |
}, | |
maxAge := 0.0, | |
timestampsToReturn := BOTH_2, | |
nodesToRead := { | |
realArray := { | |
arrayLength := 1, | |
arrayValues := { | |
{ | |
nodeId := { | |
mask := 3, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
string := { | |
nameSpace := 1, | |
nodeValue := valueof (tr_String("free_memory")) | |
} | |
} | |
}, | |
attributeId := 13, | |
indexRange := valueof(tr_StringNull), | |
dataEncoding := { | |
namespaceIndex := 0, | |
name := valueof(tr_StringNull) | |
} | |
} | |
} | |
} | |
} | |
} | |
var ServiceBody v_service := { | |
encodingByte := 1, | |
namespaceIndex := 0, | |
nodeValue := 0, | |
list := { | |
ReadRequest := v_readReq | |
} | |
} | |
var octetstring v_encodedBody := enc_ServiceBody(v_service); | |
var MessageChunk v_msg := valueof(tr_MessageCloseSecureChannel(v_header, v_securityChannelId, v_securityTokenId, v_sequenceHeader, v_encodedBody)); | |
return enc_MessageChunk (v_msg); | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// CreateSubscriptionRequest // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetCreateSubscRequest() return octetstring { | |
var MessageHeader v_header := valueof(tr_HeaderService); | |
var UInt32 v_securityChannelId := 1; | |
var UInt32 v_securityTokenId := 1 | |
var SequenceHeader v_sequenceHeader := { | |
SequenceNumber := 6, | |
RequestId := 6 | |
} | |
var CreateSubscriptionRequest v_createSubsReq := { | |
requestHeader := { | |
authenticationToken := { | |
mask := 5, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
byteString := { | |
nameSpace := 0, | |
nodeValue := { | |
realByteString := { | |
lengthValue := 16, | |
byteStringValue := { | |
213, | |
222, | |
175, | |
58, | |
50, | |
191, | |
56, | |
110, | |
161, | |
40, | |
190, | |
206, | |
46, | |
98, | |
162, | |
70 | |
} | |
} | |
} | |
} | |
} | |
}, | |
timestamp := 131556452506070000, | |
requestHandle := 8, | |
returnDiagnostics := 0, | |
auditEntryId := { | |
realString := { | |
stringLength := 0, | |
stringValue := "" | |
} | |
}, | |
timeoutHint := 0, | |
additionalHeader := { | |
typeId := { | |
node := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 0 | |
} | |
} | |
}, | |
namespaceUri := omit, | |
serverIndex := omit | |
}, | |
Value := 0 | |
} | |
}, | |
requestedPublishingInterval := 100.0, | |
requestedLifetimeCount := 10, | |
requestedMaxKeepAliveCount := 2, | |
maxNotificationsPerPublish := 10, | |
publishingEnabled := 1, | |
priorityInt32 := 10 | |
} | |
var ServiceBody v_service := { | |
encodingByte := 1, | |
namespaceIndex := 0, | |
nodeValue := 0, | |
list := { | |
CreateSubscriptionRequest := v_createSubsReq | |
} | |
} | |
var octetstring v_encodedBody := enc_ServiceBody(v_service); | |
var MessageChunk v_msg := valueof(tr_MessageCloseSecureChannel(v_header, v_securityChannelId, v_securityTokenId, v_sequenceHeader, v_encodedBody)); | |
return enc_MessageChunk (v_msg); | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// ServiceResponse // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetServiceResponse() return template MessageChunk { | |
template MessageChunk responseChunk modifies tr_baseResponseMessage := { | |
header := { | |
messageType := ServicesMsgType, | |
chunkType := FinalChunk, | |
messageSize := ? | |
} | |
} | |
return responseChunk; | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// CloseSessionRequest // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetCloseSessionRequest() return octetstring { | |
var MessageHeader v_header := valueof(tr_HeaderService); | |
var UInt32 v_securityChannelId := 1; | |
var UInt32 v_securityTokenId := 1 | |
var SequenceHeader v_sequenceHeader := { | |
SequenceNumber := 21, | |
RequestId := 21 | |
} | |
var CloseSessionRequest v_closeSessionReq := { | |
requestHeader := { | |
authenticationToken := { | |
mask := 5, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
byteString := { | |
nameSpace := 0, | |
nodeValue := { | |
realByteString := { | |
lengthValue := 16, | |
byteStringValue := { | |
213, | |
222, | |
175, | |
58, | |
50, | |
191, | |
56, | |
110, | |
161, | |
40, | |
190, | |
206, | |
46, | |
98, | |
162, | |
70 | |
} | |
} | |
} | |
} | |
} | |
}, | |
timestamp := 131556452556620000, | |
requestHandle := 20, | |
returnDiagnostics := 0, | |
auditEntryId := { | |
realString := { | |
stringLength := 0, | |
stringValue := "" | |
} | |
}, | |
timeoutHint := 0, | |
additionalHeader := { | |
typeId := { | |
node := { | |
mask := 0, | |
namespaceUriBit := 0, | |
serverIndexBit := 0, | |
reservedBit1 := 0, | |
reservedBit2 := 0, | |
IdType := { | |
twoByte := { | |
nodeValue := 0 | |
} | |
} | |
}, | |
namespaceUri := omit, | |
serverIndex := omit | |
}, | |
Value := 0 | |
} | |
}, | |
deleteSubscriptions := 1 | |
} | |
var ServiceBody v_service := { | |
encodingByte := 1, | |
namespaceIndex := 0, | |
nodeValue := 0, | |
list := { | |
CloseSessionRequest := v_closeSessionReq | |
} | |
} | |
var octetstring v_encodedBody := enc_ServiceBody(v_service); | |
var MessageChunk v_msg := valueof(tr_MessageCloseSecureChannel(v_header, v_securityChannelId, v_securityTokenId, v_sequenceHeader, v_encodedBody)); | |
return enc_MessageChunk(v_msg); | |
} | |
///////////////////////////////////////////////////////////// | |
// // | |
// CloseSecureChannelRequest // | |
// // | |
///////////////////////////////////////////////////////////// | |
function f_GetCloseSecureChannelRequest() return octetstring { | |
var MessageHeader v_header := valueof(tr_HeaderCloseSecureChannel); | |
var UInt32 v_securityChannelId := 1; | |
var UInt32 v_securityTokenId := 1 | |
var SequenceHeader v_sequenceHeader := { | |
SequenceNumber := 21, | |
RequestId := 21 | |
} | |
var CloseSecureChannelRequest v_closeSecReq := { | |
requestHeader := reqHeader | |
} | |
var ServiceBody v_service := { | |
encodingByte := 1, | |
namespaceIndex := 0, | |
nodeValue := 0, | |
list := { | |
CloseSecureChannelRequest := v_closeSecReq | |
} | |
} | |
var octetstring v_encodedBody := enc_ServiceBody(v_service); | |
var MessageChunk v_msg := valueof(tr_MessageCloseSecureChannel(v_header, v_securityChannelId, v_securityTokenId, v_sequenceHeader, v_encodedBody)); | |
return enc_MessageChunk(v_msg); | |
} | |
} |