Guia de fluxo de trabalho do Conector de Serviço Web para um exemplo de API REST
Este artigo aborda a implantação de uma API REST de exemplo para percorrer a ferramenta configuração do serviço Web com uma fonte de dados da Web da API REST.
Pré-requisitos
Os seguintes pré-requisitos são necessários para usar o exemplo:
- A Ferramenta de Configuração do Serviço Web está instalada.
- O serviço de exemplo da fonte de dados REST é implantado. Baixe e instale o exemplo de (veja aqui).
Observação
Os dados JSON devem conter um único objeto com uma propriedade que contenha uma matriz.
{
"EmployeeList":[
{"id":"1","employee_name":"Albano","employee_salary":"22213","employee_age":"37","profile_image":""},{"id":"2","employee_name":"Albano","employee_salary":"22213","employee_age":"37","profile_image":""}
]
}
Configurar a descoberta de projeto REST na Ferramenta de Configuração do Serviço Web
As etapas a seguir mostram como criar um novo projeto para sua fonte de dados na Ferramenta de Configuração do Serviço Web.
Abra a Ferramenta de Configuração do Serviço Web. Ele abre um projeto SOAP em branco.
Selecione Arquivo>Novo>Projeto REST.
À esquerda, selecione Projeto REST e, em seguida, selecione Adicionar.
Na próxima página, forneça as seguintes informações:
- O novo nome do serviço Web
- Endereço (caminho da URL da API REST)
- Namespace
- Modo de segurança (tipo de autenticação)
A tela a seguir mostra exemplos para esses valores:
Defina o Modo de Segurança como Nenhum. Defina o Endereço como o servidor JSON de exemplo hospedado no Azure.
Selecione OK. O projeto REST listado na Ferramenta de Configuração de Serviços Web.
A próxima etapa é definir a chamada à API REST e traduzir a chamada para as chamadas do WCF (Windows Communication Foundation).
Expanda o Projeto REST e selecione o serviço RESTSAMPLE .
Selecione Adicionar. Você será solicitado a adicionar dois valores:
- Insira o Nome. Esta etapa é rotulada como 3 na captura de tela.
- Insira o Endereço. Esta etapa é rotulada como 4 na captura de tela.
- Selecione OK. Um recurso REST é adicionado à descrição do serviço RESTSAMPLE .
Na caixa Recursos , selecione o recurso REST que você acabou de adicionar. Adicione o seguinte método:
Selecione o método REST. Observe que é possível criar vários métodos no mesmo recurso e definir as consultas passadas durante a execução.
Para o método GETALL, nenhuma consulta é necessária. Deixe os valores do parâmetro em branco. Ao exportar ou importar a API REST, você deve definir a Solicitação de Exemplo /ou Resposta, dependendo da função . Copie e cole o retorno JSON ao navegar até este exemplo.
Selecione Salvar. Salve o projeto em
C:\Program Files\Microsoft Forefront Identity Manager\2010\Synchronization Service\Extensions
.
Observação
Depois que o projeto é salvo, o arquivo WsConfig é gerado. O arquivo de configuração contém vários arquivos definidos anteriormente na visão geral do Serviço Web.
Configurar tipos de objeto na Ferramenta de Configuração do Serviço Web
As etapas a seguir mostram como configurar tipos de objeto para sua fonte de dados na Ferramenta de Configuração de Serviço Web.
A próxima etapa é definir o esquema de espaço do conector. Isso é obtido criando o Tipo de Objeto e definindo seus tipos de objeto. Clique em Tipos de Objeto no painel esquerdo e clique no botão Adicionar . Fazer isso abre a tela abaixo. Adicione um novo tipo de objeto e forneça um nome. Clique no botão OK.
Adicionar um tipo de objeto fornece a tela abaixo.
O painel direito correspondente ao tipo de objeto permite que você mantenha os atributos e suas propriedades para o tipo de objeto selecionado. Clicar no botão Adicionar fornece a tela abaixo, onde é possível adicionar atributos.
A tela abaixo é exibida depois de adicionar todos os atributos necessários.
O tipo de objeto e os atributos, uma vez criados, fornecem fluxos de trabalho em branco que atendem às operações executadas no MIM (Microsoft Identity Manager).
Configurar fluxos de trabalho na Ferramenta de Configuração de Serviço Web
A próxima etapa é configurar os fluxos de trabalho para o tipo de objeto. Os arquivos de fluxo de trabalho são uma série de atividades que são usadas pelo Conector de Serviços Web em tempo de execução. Os fluxos de trabalho são usados para implementar a operação mim apropriada. A Ferramenta de configuração do Serviço Web ajuda você a criar quatro fluxos de trabalho diferentes:
Importação: importe dados de uma fonte de dados para os dois tipos de fluxos de trabalho a seguir:
- Importação completa: uma importação completa que pode ser configurada.
- Importação delta: não há suporte para a Ferramenta de Configuração de Serviço Web.
Exportar: exportar dados do MIM para uma fonte de dados conectada. As três ações a seguir têm suporte para a operação. Você pode configurar essas ações com base em seus requisitos.
- Adicionar
- Excluir
- Substitua
Senha: execute o gerenciamento de senha para o usuário (tipo de objeto). Duas ações estão disponíveis para esta operação:
- Definir senha
- Alterar senha
Testar Conexão: configure um fluxo de trabalho para verificar se a conexão com o servidor de fonte de dados foi estabelecida com êxito.
Observação
Você pode configurar esses fluxos de trabalho para seu projeto ou baixar o projeto padrão no Centro de Download da Microsoft.
Designer de Fluxo de Trabalho
O Designer de Fluxo de Trabalho abre a área de trabalho para configurar o fluxo de trabalho de acordo com o requisito. Para cada tipo de objeto (novo /existing), a ferramenta de configuração fornece os nós para fluxos de trabalho compatíveis com a ferramenta.
O Designer de Fluxo de Trabalho é composto pelos seguintes elementos de interface do usuário:
Nós no painel esquerdo: eles ajudam você a selecionar qual você deseja projetar qual fluxo de trabalho.
Designer de Fluxo de Trabalho Central: aqui você pode descartar as atividades para configurar os fluxos de trabalho. Para realizar várias operações do MIM (Exportar, Importar, Gerenciamento de senha), você pode usar as atividades de fluxo de trabalho padrão e personalizadas do .NET Workflow Framework 4. A ferramenta Configuração do Serviço Web usa atividades de fluxo de trabalho padrão e personalizadas. Para obter mais informações sobre atividades padrão, consulte Usando designers de atividade.
No Designer de Fluxo de Trabalho Central, um círculo vermelho com ponto de exclamação ao lado de qualquer atividade indica que a operação foi descartada e não está definida corretamente e completamente. Passe o mouse sobre o círculo vermelho para descobrir o erro exato. Depois que a atividade for definida corretamente, o círculo vermelho será alterado para a marca de informações amarela.
No Designer de Fluxo de Trabalho Central, uma marca de informações de triângulo amarelo ao lado de qualquer atividade indica que a atividade está definida, mas há mais que você pode fazer para concluir a atividade. Passe o mouse sobre o triângulo amarelo para ver mais informações.
Caixa de ferramentas: empacota todas as ferramentas, incluindo atividades personalizadas e do sistema e instruções predefinidas para projetar o fluxo de trabalho. Para saber mais, confira Caixa de Ferramentas.
Seções da caixa de ferramentas: a Caixa de Ferramentas tem as seguintes seções e categorias:
Descrição: o cabeçalho da Caixa de Ferramentas. Uma guia acessa a Caixa de Ferramentas e as propriedades da atividade de fluxo de trabalho selecionada.
Importar fluxo de trabalho: atividades personalizadas para configurar fluxos de trabalho de importação.
Exportar fluxo de trabalho: atividades personalizadas para configurar fluxos de trabalho de exportação.
Comum: atividades personalizadas para configurar qualquer fluxo de trabalho.
Depuração: atividades de fluxo de trabalho do sistema para depuração definidas no Fluxo de Trabalho 4. Essas atividades permitem o acompanhamento de problemas de um fluxo de trabalho.
Instruções: atividades de fluxo de trabalho do sistema definidas no Fluxo de Trabalho 4. Para obter mais informações, consulte Usando designers de atividade.
Propriedades: a guia propriedades exibe as propriedades de uma atividade de fluxo de trabalho específica que é descartada na área do designer e selecionada. A figura à esquerda mostra as propriedades de Atribuir atividade. Para cada atividade, as propriedades diferem e são usadas durante a configuração do fluxo de trabalho personalizado. Essa guia permite que você defina os atributos da ferramenta selecionada que foi descartada no designer de fluxo de trabalho central. Para obter mais informações, consulte Propriedades.
Barra de Tarefas: A barra de tarefas inclui três elementos: Variáveis, Argumentos e Importações. Esses elementos são usados junto com atividades de fluxo de trabalho. Para obter mais informações, consulte Introdução de um desenvolvedor ao WF (Windows Workflow Foundation) no .NET 4.
Configurar um fluxo de trabalho de importação completo na Ferramenta de Configuração do Serviço Web
As etapas a seguir mostram como configurar fluxos de trabalho de importação completos para a API REST usando a Ferramenta de Configuração do Serviço Web.
Aviso
Este exemplo cria apenas um fluxo de trabalho. Modificações no fluxo de trabalho, como usar a lógica personalizada na API, podem ser necessárias.
Selecione o fluxo de trabalho Importação Completa a ser configurado. Os Argumentos e Importações já estão definidos e são específicos para as atividades. Confira as telas a seguir para obter mais informações.
Após a reconfiguração das chamadas, você precisa alterar os nomes dos atributos que alteram ou adicionam o namespace a variáveis que se referem à estrutura de retorno da API e tipos de objeto que se referem ao namespace antigo. A caixa de ferramentas no painel direito contém todas as atividades personalizadas específicas do fluxo de trabalho necessárias para a configuração. Atribua os valores às variáveis que você usará para sua lógica. Vá para a seção inferior do designer de fluxo de trabalho central e declare as variáveis. As variáveis são declaradas na próxima etapa.
Adicione uma atividade Sequence. Arraste o designer de atividade Sequência da Caixa de Ferramentas e solte-o na superfície do Designer de Fluxo de Trabalho do Windows. Consulte as telas a seguir. A atividade Sequence contém uma coleção ordenada de atividades filho que ela executa na ordem.
Para adicionar uma variável, localize Criar Variável. Digite wsResponse para o Nome, selecione a lista suspensa Tipo de variável e, em seguida, selecione Procurar Tipos. Uma caixa de diálogo é exibida. SelecioneRespostaGETALL>gerada>. Mantenha os valores Escopo e Padrão não selecionados. Como alternativa, defina esses valores usando a exibição Propriedades .
Arraste mais um designer de atividade Sequência da Caixa de Ferramentas dentro da atividade Sequence já adicionada.
Arraste um WebServiceCallActivity apresentado em Comum. Essa atividade é usada para invocar a operação de serviço Web disponível após a Descoberta. Essa é uma atividade personalizada e é comum em diferentes cenários de operação.
Para usar a operação de serviço Web, defina as seguintes propriedades:
Nome do Serviço: insira um nome para o serviço Web.
Nome do ponto de extremidade: especifique um nome de ponto de extremidade para o serviço selecionado.
Nome da operação: especifique a respectiva operação para o serviço.
Argumento: selecione Argumentos. Na próxima caixa de diálogo, atribua os valores de argumento, conforme mostrado na figura a seguir:
Importante
Não altere o Nome, Direção ou Tipo para um argumento usando essa caixa de diálogo. Se qualquer um desses valores for alterado, a atividade se tornará inválida. Defina apenas o Valor para o argumento . Conforme mostrado nesta figura, o valor wsResponse é definido.
Adicione uma atividade ForEach logo abaixo de WebServiceCallActivity. Essa atividade é usada para iterar em todos os atributos (âncoras e não âncoras) do tipo de objeto. Ao arrastar essa atividade para a superfície do Designer de Fluxo de Trabalho, ela enumera automaticamente todos os nomes de atributo para o objeto. Defina os valores necessários de acordo com a tela a seguir:
Em alguns casos, talvez seja necessário abrir o generated.dll que está dentro do arquivo WsConfig. Copie esse arquivo WsConfig e renomeie-o com a extensão .zip. Abra e extraia o generated.dll usando sua ferramenta de refletor .NET preferida.
Identifique o namespace público para EmployeeList:
Em seguida, adicione este retorno ao fluxo de trabalho ForEach:
Arraste uma atividade CreateCSEntryChangeScope dentro do corpo de ForEach . Essa atividade é usada para criar uma instância do objeto CSEntryChange no domínio de fluxo de trabalho para cada registro respectivo ao recuperar dados da fonte de dados de destino. Arrastar essa atividade fornece a tela abaixo. As atividades CreateAnchorAttribute são herdadas automaticamente. Atualize o valor de DN para seu nome de domínio preferido.
Observação
Os valores de âncora e os nomes de objeto variam de acordo com o serviço Web exposto. A figura mostra um exemplo.
Arraste uma atividade CreateAttributeChange abaixo da atividade CreateAnchorAttribute . O número de atividades a serem arrastadas é igual ao número de atributos não âncoras. Consulte a figura a seguir para obter referência.
Observação
Para usar essa atividade, escolha e atribua os respectivos campos na lista suspensa e atribua os valores. Para atributos multivalorizados, descarte várias atividades CreateValueChangeActivity dentro de uma atividade CreateAttributeChangeActivity .
Salve este projeto no local
%FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
. Em seguida, configure o Agente de Gerenciamento conforme descrito na configuração de MA do Serviço Web.Os projetos padrão devem ser baixados e salvos no local
%FIM_INSTALL_DIR\2010\Synchronization Service\Extensions
no sistema de destino. Os projetos ficam visíveis no assistente do conector de serviço Web.Ao executar o arquivo executável, você será solicitado a especificar o local para a instalação. Insira o local de salvamento.
Importante
O arquivo de projeto pode ser salvo e aberto de qualquer local (com os privilégios de acesso apropriados de seu executor). Somente os arquivos de projeto salvos na
Synchronization Service\Extension
pasta podem ser selecionados no assistente do conector do Serviço Web acessado por meio da interface do usuário de sincronização do MIM.O usuário que está executando a ferramenta configuração de serviço Web requer os seguintes privilégios:
- Controle total para a pasta Extensão do Serviço de Sincronização.
- Acesso de leitura à chave
HKLM\System\CurrentControlSet\Services\FIMSynchronizationService\Parameters
do Registro por meio da qual o caminho da pasta Extensão está localizado.