이벤트 시나리오
이벤트 시나리오는 DPWS(Web Services용 디바이스 프로필)에서 제한되는 Eventing을 테스트합니다.
이 시나리오의 목표는 Hosted Service 엔드포인트를 검색하는 것이 아닙니다. 이 시나리오에서는 이 시나리오를 시작하기 전에 이러한 엔드포인트가 검색되거나 제공되었다고 가정합니다.
이러한 시나리오를 위해 NotifyTo 및 EndTo 주소 형식은 uuid 형식의 가상 주소가 아닌 실제 주소여야 합니다. f014e8aa-fc6a-49f5-b862-1e53663a85ff.
자세한 내용은 WSDBIT 테스트 환경의 초기 테스트 디바이스 설정 다이어그램을 참조하세요.
사례 | 클라이언트 작업 | 서버 작업 | Pass-Fail 조건 |
---|---|---|---|
4.1 | 이벤트의 구독 및 갱신. | ||
4.1.1 | SimpleEvent를 사용하여 구독: - - wse:Filter == http://schemas.example.org/EventingService/SimpleEvent wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>" 클라이언트는 xs:duration 형식의 만료를 포함할 수 있습니다. |
4.1.2단계를 완료할 수 있을 만큼 만료된 SubscribeResponse를 보냅니다. 만료는 xs:duration 형식이어야 합니다. 이 테스트의 경우 서버는 클라이언트에서 요청한 것과 동일한 xs:duration 을 사용할 필요가 없습니다. |
클라이언트는 응답을 수신하고 4.1.2단계로 갈 수 있습니다. |
4.1.2 | 없음 | SimpleEvent를 실행합니다. | 클라이언트에서 이벤트가 수신됩니다. |
4.1.3 | SimpleEvent에 갱신을 보냅니다. 클라이언트가 이벤트에 대한 갱신을 보낼 때 원래 SubscribeResponse 메시지에 지정된 갱신 기간의 절반이 경과한 경우 수동으로 갱신을 시작하거나 자동으로 갱신을 보낼 수 있습니다. |
4.1.4단계를 완료할 수 있을 만큼 만료된 RenewResponse를 보냅니다. 만료는 xs:duration 형식이어야 합니다. | 응답은 클라이언트에서 수신되며 4.1.4단계로 갈 수 있습니다. |
4.1.4 | 없음 | SimpleEvent를 실행합니다. | 클라이언트에서 이벤트가 수신됩니다. |
4.1.5 | SimpleEvent에 대한 TestDevice에 구독 취소를 보냅니다. | UnsubscribeResponse를 보냅니다. | 클라이언트는 응답을 수신하고 4.1.6단계로 갈 수 있습니다. |
4.1.6 | 없음 | SimpleEvent를 실행합니다. | 클라이언트에서 이벤트가 수신되지 않습니다. |
4.2 | 만료가 있는 구독 | ||
4.2.1 | 만료가 있는 SimpleEvent를 구독: - - wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>" wse:Filter == http://schemas.example.org/EventingService/SimpleEvent - 만료 기간은 4.2.2단계를 완료할 만큼 충분히 길어야 합니다. 만료는 xs:duration이어야 합니다.wsdbit_client 기간으로 60분을 사용합니다. |
다음과 함께 SubscribeResponse를 보냅니다. - 구독 요청에서 보낸 만료가 SubscribeResponse에 반환됩니다. |
클라이언트는 올바른 만료로 응답을 수신하고 4.2.2단계로 이동합니다. |
4.2.2 | 없음 | SimpleEvent를 실행합니다. | 이벤트는 클라이언트에서 수신됩니다. |
4.2.3 | SimpleEvent 구독에 대해 만료된 갱신을 TestDevice로 보냅니다. 만료 기간은 4.2.4단계를 완료할 만큼 충분히 길어야 합니다. 만료는 xs:duration이어야 합니다. 클라이언트가 이벤트에 대한 갱신을 보낼 때 원래 SubscribeResponse 메시지에 지정된 갱신 기간의 절반이 경과한 경우 수동으로 갱신을 시작하거나 자동으로 갱신을 보낼 수 있습니다. |
RenewResponse를 다음과 함께 보냅니다. - 갱신 요청에서 전송된 만료가 RenewResponse에 반환됩니다. |
클라이언트는 올바른 만료로 응답을 받고 4.2.4단계로 갈 수 있습니다. |
4.2.4 | 없음 | SimpleEvent를 실행합니다. | 이벤트는 클라이언트에서 수신됩니다. |
4.3 | 여러 이벤트 원본에 대한 구독, 갱신 및 만료 | ||
4.3.1 | 클라이언트를 사용하여 SimpleEvent - - wse:Filter == http://schemas.example.org/EventingService/SimpleEvent wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>" 를 구독하면 xs:duration 형식의 만료를 포함하도록 선택할 수 있습니다. |
4.3.3단계를 완료할 수 있을 만큼 만료된 SubscribeResponse를 보냅니다. 만료는 xs:duration 형식이어야 합니다. 이 테스트의 경우 서버는 클라이언트에서 요청한 것과 동일한 xs:duration 을 사용할 필요가 없습니다. |
클라이언트는 응답을 수신하고 4.3.3단계로 갈 수 있습니다. |
4.3.2 | SimpleEvent를 사용하여 구독: - - wse:Filter == http://schemas.example.org/EventingService/IntegerEvent wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>" 클라이언트는 xs:duration 형식의 만료를 포함하도록 선택할 수 있습니다. |
4.3.4단계를 완료할 수 있을 만큼 만료된 SubscribeResponse를 보냅니다. 만료는 xs:duration 형식이어야 합니다. 이 테스트의 경우 서버는 클라이언트에서 요청한 것과 동일한 xs:duration 을 사용할 필요가 없습니다. |
클라이언트는 응답을 수신하고 4.3.4단계로 갈 수 있습니다. |
4.3.3 | 없음 | SimpleEvent를 실행합니다. | 이벤트는 클라이언트에서 수신됩니다. |
4.3.4 | 없음 | IntegerEvent를 실행합니다. | 클라이언트에서 이벤트가 수신되고 올바른 정수가 표시됩니다. |
4.3.5 | IntegerEvent에 갱신을 보냅니다. 클라이언트가 이벤트에 대한 갱신을 보낼 때 원래 SubscribeResponse 메시지에 지정된 갱신 기간의 절반이 경과한 경우 수동으로 갱신을 시작하거나 자동으로 갱신을 보낼 수 있습니다. |
4.3.8단계를 완료할 수 있을 만큼 만료된 RenewResponse를 보냅니다. 만료는 xs:duration 형식이어야 합니다. | 응답은 클라이언트에서 수신됩니다. |
4.3.6 | SimpleEvent에 대한 TestDevice에 구독 취소를 보냅니다. | UnsubscribeResponse를 보냅니다. | 클라이언트는 응답을 수신하고 4.3.7단계로 갈 수 있습니다. |
4.3.7 | 없음 | SimpleEvent를 실행합니다. | 클라이언트에서 이벤트가 수신되지 않습니다. |
4.3.8 | 없음 | IntegerEvent를 실행합니다. | 클라이언트에서 이벤트가 수신되고 올바른 정수가 표시됩니다. |
4.3.9 | IntegerEvent에 대한 TestDevice에 구독 취소를 보냅니다. | UnsubscribeResponse를 보냅니다. | 클라이언트는 응답을 수신하고 4.3.10단계로 갈 수 있습니다. |
4.3.10 | 없음 | IntegerEvent를 실행합니다. | 클라이언트에서 이벤트가 수신되지 않습니다. |
4.4. | 구독 오류 및 오류 | ||
4.4.1 | 다음을 사용하여 FaultingEvent를 구독합니다. - wse:Filter/@Dialect == "<http://schemas.xmlsoap.org/ws/2006/02/devprof/Action>" - wse:Filter == http://schemas.example.org/EventingService/FaultingEvent |
이 이벤트는 지원되지 않으므로 wsdp:FilterActionNotSupported SOAP Fault를 보내야 합니다. | 구독 실패는 클라이언트에서 관찰됩니다. |