public void BrowseMessageSerializationTest() { var sm = new BrowseMessage(Servicetype, Domain, InterfaceIndex); var bm = ServiceMessageTestHelper.SerializeDeserializeTest(sm); bm.Payload.ServiceType.Should().Be(Servicetype); bm.Payload.Domain.Should().Be(Domain); bm.Payload.InterfaceIndex.Should().Be(InterfaceIndex); }
public void RequestMessageWithErrorReturnPortSerializationTest() { var sm = new BrowseMessage(Servicetype, Domain, InterfaceIndex); sm.SetSubordinateID(1); // Marks message as subordinate // Subordinate message with no ErrorReturnPort value set should throw on serialization Action act = () => sm.GetBytes(); act.Should().Throw <InvalidOperationException>(); sm.Payload.ErrorReturnPort = Port; var bm = ServiceMessageTestHelper.SerializeDeserializeTest(sm); bm.Payload.ErrorReturnPort.Should().Be(Port); }
/// <summary> /// Returns the references that meet the filter criteria for one or more nodes. /// </summary> public BrowseResponseMessage Browse(BrowseMessage request) { try { lock (m_lock) { // verify the session. VerifySession(request.RequestHeader, false); // process each node being browsed. ListOfBrowseResult results = new ListOfBrowseResult(); ListOfDiagnosticInfo diagnosticInfos = new ListOfDiagnosticInfo(); for (int ii = 0; ii < request.NodesToBrowse.Count; ii++) { BrowseResult result = new BrowseResult(); DiagnosticInfo diagnosticInfo = new DiagnosticInfo(); m_nodeManager.Browse( request.NodesToBrowse[ii], result, diagnosticInfo); results.Add(result); diagnosticInfos.Add(diagnosticInfo); } // return the response. BrowseResponseMessage response = new BrowseResponseMessage(); response.ResponseHeader = CreateResponseHeader(request.RequestHeader); response.Results = results; response.DiagnosticInfos = diagnosticInfos; return(response); } } catch (Exception e) { throw CreateSoapFault(request.RequestHeader, e); } }