/// <summary> /// Create a probe message /// </summary> /// <param name="types">Probe type</param> /// <param name="scopes">The scopes value</param> /// <param name="matchBy">Match by</param> /// <returns>The probe message</returns> public SoapEnvelope CreateProbeMessage(string types, string[] scopes, string matchBy) { ProbeType probe = new ProbeType(types, scopes, matchBy); return new SoapEnvelope(new ProbeOp(probe)); }
/// <summary> /// Capture requirements related to Probe structure /// </summary> /// <param name="probe">Probe structure</param> private void CaptureProbeRequirements(ProbeType probe) { // Since the message parsed by stack layer properly, capture the requirement directly. Site.CaptureRequirement( 24, "[In Probe] The Discovery Protocol uses a WSD Probe with the <Types> and <Scopes> elements in the WSD message."); // Since the message parsed by stack layer properly, capture the requirement directly. Site.CaptureRequirement( 25, @"[The schema definition of Probe is:] <wsd:Probe> <wsd:Types> PeerDist:PeerDistData </wsd:Types> <wsd:Scopes MatchBy=""http://schemas.xmlsoap.org/ws/2005/04/discovery/strcmp0""> 0200000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000 </wsd:Scopes> </wsd:Probe>"); // Since the probe message is received succesfully, the reuqirement can be captured directly Site.CaptureRequirement( 175, @"Probe message MUST be sent using the following assignments: • DISCOVERY_PORT: port 3702 [IANA] • IPv4 multicast address: 239.255.255.250 • IPv6 multicast address: FF02::C (link-local scope)"); this.CaptureClientRoleScopesElementRequirements(probe.Scopes); }
/// <summary> /// Create a probe message /// </summary> /// <param name="types">Probe type</param> /// <param name="scopes">The scopes value</param> /// <param name="matchBy">Match by</param> /// <returns>The probe message</returns> public SoapEnvelope CreateProbeMessage(string types, string[] scopes, string matchBy) { ProbeType probe = new ProbeType(types, scopes, matchBy); return(new SoapEnvelope(new ProbeOp(probe))); }