Ambiente de teste do WSDBIT
Este tópico descreve o ambiente físico e o dispositivo e seus recursos de serviço hospedado.
Modelo de Rede
O dispositivo e o cliente a serem testados estão conectados a um segmento de rede Ethernet e formam uma única sub-rede IP. O esquema de endereçamento de rede (como IPv4, IPv6 ou nomes de host) não é relevante, desde que o cliente e o dispositivo ofereçam suporte a pelo menos um esquema em comum Deve haver apenas um dispositivo e um cliente na sub-rede.
Para facilitar a depuração e a solução de problemas, você deve usar um monitor de rede para monitorar as trocas de tráfego entre o dispositivo e o cliente. Para monitorar todo o tráfego, você deve conectar o dispositivo e o cliente por meio de um hub Ethernet ao segmento de rede. Se um hub não estiver disponível, você poderá monitorar o tráfego instalando um monitor de rede no computador que está executando o WSDBIT.
A figura a seguir mostra a topologia de rede que consiste em um dispositivo, cliente e monitor de rede, tudo conectado por meio de um hub.
Dispositivo de teste
Para participar do teste do lado do dispositivo, você deve implementar o dispositivo conforme descrito nas diretrizes gerais a seguir. Para obter mais informações sobre a implementação do dispositivo, consulte a Referência do WSDBIT e a especificação DPWS (Perfil de Dispositivos para Serviços Web ).
A tabela a seguir descreve as dependências de caso de teste de interoperabilidade e serviço.
Cenário | Simpleservice | AttachmentService | EventingService |
---|---|---|---|
Inspeção de dispositivo e serviço | Um ou mais de SimpleService, | AttachmentService, | ou EventingService |
Controle de dispositivo | X | ||
Anexos | X | ||
Eventos | X |
O dispositivo de teste deve hospedar três tipos de serviços:
https://schemas.example.org/SimpleService
https://schemas.example.org/AttachmentService
https://schemas.example.org/EventingService
Simpleservice
O serviço SimpleService tem quatro métodos:
OneWay é um método unidirecional com um inteiro como parâmetro.
TwoWay é um método de solicitação-resposta com dois inteiros na solicitação e a soma desses inteiros na resposta.
TypeCheck é um método de solicitação-resposta com vários tipos diferentes na solicitação e exatamente os mesmos tipos na resposta, incluindo booliano, decimal, float e uma lista de URLs.
AnyCheck é um método de solicitação-resposta com um fragmento XML na solicitação e o mesmo fragmento retornado na resposta.
AttachmentService
O serviço AttachmentService envia e recebe anexos. Os dados de anexo a serem enviados e recebidos estão incluídos no diretório \interop como dois arquivos separados: Image1.jpg
e Image2.jpg
. Esse serviço tem dois métodos:
OneWayAttachment é um método unidirecional com um anexo como parâmetro.
TwoWayAttachment é um método de solicitação-resposta com anexos na solicitação e na resposta.
EventingService
O serviço EventingService tem dois tipos de eventos que podem ser assinados:
SimpleEvent é um evento sem um parâmetro.
IntegerEvent é um evento que retorna um inteiro.
Implementando serviços de teste
Para exercer todos os casos de teste de interoperabilidade, você precisa implementar todos esses serviços. Nesse caso, após a inicialização inicial, o dispositivo hospeda uma instância de cada um desses serviços.
No entanto, se você quiser implementar apenas alguns desses serviços, consulte a tabela no início deste tópico para obter informações sobre as dependências de caso de teste de Serviço e Interoperabilidade.
Observação
Para tentar qualquer um dos cenários avançados de interoperabilidade (como Controle de dispositivo, Anexos e Eventos), o dispositivo de teste precisa pelo menos dar suporte aos casos de teste de inspeção de Dispositivo e Serviço. Se o dispositivo falhar nesse caso de teste, talvez você não consiga continuar com os casos de teste avançados.
O dispositivo de teste e o dispositivo WSDBIT (WSDBIT_server) devem ser capazes de fazer o seguinte:
Exiba o parâmetro de entrada inteiro do método unidirecional SimpleService .
Exiba o valor dos tipos enviados no tipo bidirecional marcar solicitação.
Verifique o anexo recebido em relação ao anexo conhecido que era esperado e deve exibir o resultado dessa verificação.
Inicie cada um dos dois tipos de eventos descritos no EventingService por meio de entrada manual ou temporizador.
Exibir dados recebidos em seções extensíveis (xs:any).
Use o testdevice xs:anyURI como o elemento wsd:Scopes para descoberta.