Share via


Passo a passo: Criar um adaptador de aplicativo Web de UII

 

Publicado: novembro de 2016

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016

Você pode criar um adaptador de aplicativos Web se quiser melhorar e modificar os aplicativos Web aos quais não tem acesso ao código-fonte ou não tem permissão para alterar usando o código gerenciado. O Microsoft Dynamics 365 fornece um modelo do Microsoft Visual Studio para a criação de um adaptador de aplicativos Web. O modelo fornece códigos básicos como comentários para ajudar você a começar a criar o adaptador de aplicativos Web.

Neste passo a passo, você compilará um aplicativo Web externo chamado QsWebApplication e o hospedará no Unified Service Desk. Em seguida, você irá criar e configurar um adaptador de aplicativos Web chamado MyWebApplicationAdapter para que o aplicativo Web externo interaja com o Unified Service Desk. O aplicativo Web tem quatro rótulos, um para cada nome, sobrenome, endereço e ID do cliente e quatro caixas de texto correspondentes para exibir os valores do Unified Service Desk.

Neste tópico

Pré-requisitos

Etapa 1: Criar um aplicativo Web de exemplo

Etapa 2: Configurar o aplicativo Web no Dynamics 365

Etapa 3: Testar o aplicativo Web

Etapa 4: Criar o adaptador de aplicativo Web

Etapa 5: Configurar o adaptador de aplicativo Web no Dynamics 365

Etapa 6: Testar o adaptador de aplicativo Web

Pré-requisitos

  • Microsoft .NET Framework 4.5.2

  • Aplicativo cliente do Unified Service Desk; necessário para testar o controle hospedado.

  • Microsoft Visual Studio 2012, Visual Studio 2013 ou Visual Studio 2015

  • Gerenciador de Pacotes NuGet para Visual Studio 2012, Visual Studio 2013 ou Visual Studio 2015

  • Modelos de SDK do Microsoft Dynamics 365 para Visual Studio que contêm o modelo de projeto de controle hospedado de UII. É possível obter um com as seguintes opções:

Etapa 1: Criar um aplicativo Web de exemplo

  1. Baixe o pacote do SDK de UII (.exe)

  2. Clique duas vezes no arquivo do pacote para extrair o conteúdo.

  3. Vá até a pasta <ExtractedFolder>\UII\SampleCode\UII\AIF\QsWebApplication e abra o arquivo Microsoft.Uii.QuickStarts.QsWebApplication.csproj no Visual Studio.

  4. Pressione F5 ou selecione Depurar > Iniciar Depuração para hospedar localmente o aplicativo Web de exemplo no computador. O aplicativo será hospedado em https://localhost:2627/.

    Aplicativo Web no Visual Studio

Etapa 2: Configurar o aplicativo Web no Dynamics 365

  1. Entre no Microsoft Dynamics 365.

  2. Vá para Configurações > Unified Service Desk.

  3. Selecione Controles Hospedados.

  4. Selecione Novo.

  5. Na página Novo Controle Hospedado, especifique os seguintes valores.

    Campo

    Valor

    Nome

    QsWebApplication

    Tipo de Componente do USD

    Aplicativo Hospedado do CCA

    Aplicativo Hospedado

    Aplicativo Hospedado na Web

    O Aplicativo é Global

    Verificado

    Grupo de Exibição

    MainPanel

    Adaptador

    Não Usar Adaptador

    O Aplicativo é Dinâmico

    Não

    Hospedagem de Aplicativo

    Usar SetParent

    URL

    Especifique o local onde o aplicativo Web está hospedado. Neste caso, ele é https://localhost:2627/

    Captura de tela da configuração de aplicativo Web no Dynamics 365

  6. Escolha Salvar.

Etapa 3: Testar o aplicativo Web

  1. Verifique se o aplicativo Web de exemplo que você compilou na etapa 1 ainda está em execução.

  2. Execute o cliente do Unified Service Desk para conectar-se ao seu servidor do Microsoft Dynamics 365.

  3. Após entrar com êxito, você verá o Aplicativo Web Externo de Exemplo na área de trabalho.

  4. Clique na guia Aplicativo Web Externo de Exemplo para ver seu aplicativo Web hospedado no Unified Service Desk.

Aplicativo Web da hospedagem no Unified Service Desk

Dica

Neste ponto, os campos estão vazios porque você está apenas hospedando o aplicativo Web externo no Unified Service Desk. Para preenchê-los com valores do Unified Service Desk, é necessário criar um adaptador de aplicativo Web, conforme ilustrado na próxima etapa.

Etapa 4: Criar o adaptador de aplicativo Web

  1. Inicie o Microsoft Visual Studio e crie um novo projeto.

  2. Na caixa de diálogo Novo projeto:

    1. Na lista de modelos instalados à esquerda, expanda Visual C# e selecione Modelos de SDK do Dynamics 365 > Unified Service Desk > Adaptador de Aplicativo Web de UII.

    2. Especifique o nome e o local do projeto, e clique em OK para criar um novo projeto.

      Captura de tela do adaptador no Visual Studio

    3. Selecione WebAppAdapter.cs e atualize a definição de NotifyContextChange com o código a seguir para preencher os campos de texto das informações de contexto.Para obter mais informações:NotifyContextChange

      public override bool NotifyContextChange(Context context)
              {
                  // Populating text fields from context information.
      
                  HTMLDocument htmlDoc = Browser.Document as HTMLDocument;
                  if (htmlDoc != null)
                  {
                      IHTMLElementCollection htmlElementCollection = htmlDoc.all;
                      IHTMLElement htmlFirstName = htmlElementCollection.item("txtFirstName", 0) as IHTMLElement;
                      htmlFirstName.setAttribute("value", context["firstname"], 0);
                      IHTMLElement htmlLastName = htmlElementCollection.item("txtLastName", 0) as IHTMLElement;
                      htmlLastName.setAttribute("value", context["lastname"], 0);
                      IHTMLElement htmlAddress = htmlElementCollection.item("txtAddress", 0) as IHTMLElement;
                      htmlAddress.setAttribute("value", context["address1_line1"], 0);
                      IHTMLElement htmlID = htmlElementCollection.item("txtID", 0) as IHTMLElement;
                      htmlID.setAttribute("value", context["CustomerID"], 0);
                  }
                  return base.NotifyContextChange(context);
              }
      
    4. Adicione o código a seguir na definição de substituição de DoAction para atualizar o aplicativo com valores do Unified Service Desk

      public override bool DoAction(HostedWebApplication.WebAction action, ref string data)
              {
                  Trace.WriteLine(string.Format("{0}>>>>> RECEIVED (WebAction) Action : {1} ", this.Name, action.Name));
      
                  // Check to see if the browser is working on something before allowing the system to do 'normal' behavior.
                  if (Browser.WebBrowser.ReadyState != tagREADYSTATE.READYSTATE_COMPLETE)
                  {
                      // Browser is not in a state to process this request,  Queue it for when the browser is ready to handle it. 
                      Trace.WriteLine(string.Format("{0}>>>>> Browser Busy,({2}) Queuing Action : {1} ", this.Name, action.Name, Browser.WebBrowser.ReadyState.ToString()));
                      qReqActionList.Enqueue(new BrowserActionData(action, data));
                      return false;
                  }
                Trace.WriteLine(string.Format("{0}>>>>>>>>>>> Action:Name={1} Action:Url={2} Action:Query={3} Action:Init={4}", this.Name, action.Name, action.Url, action.QueryString, action.Initialization));
      
                  // Get browser DOM and element collection.
                  // Create an XML Document to load the passed in data to.
                  HTMLDocument htmlDoc = Browser.Document as HTMLDocument;
                  IHTMLElementCollection htmlElementCollection = htmlDoc.all;
      
                  // Check action name for something we know how to process.
                  switch (action.Name)
                  {
                      case "UpdateFirstName":
                          IHTMLElement htmlFirstName = htmlElementCollection.item("txtFirstName", 0) as IHTMLElement;
                          htmlFirstName.setAttribute("value", data, 0);
                          break;
                      case "UpdateLastName":
                          IHTMLElement htmlLastName = htmlElementCollection.item("txtLastName", 0) as IHTMLElement;
                          htmlLastName.setAttribute("value", data, 0);
                          break;
                      case "UpdateAddress":
                          IHTMLElement htmlAddress = htmlElementCollection.item("txtAddress", 0) as IHTMLElement;
                          htmlAddress.setAttribute("value", data, 0);
                          break;
                      case "UpdateID":
                          IHTMLElement htmlID = htmlElementCollection.item("txtID", 0) as IHTMLElement;
                          htmlID.setAttribute("value", data, 0);
                          break;
                  }
                  return false;
              }
      
    5. Salve seu projeto e compile-o (Compilar > Compilar Solução). Depois de compilar o projeto com êxito, um assembly (MyWebApplicationAdapter.dll) é gerado na pasta \bin\debug da pasta de seu projeto. Você precisará desse assembly posteriormente para testar e usar o adaptador de aplicativo web.

Etapa 5: Configurar o adaptador de aplicativo Web no Dynamics 365

  1. Entre no Microsoft Dynamics 365.

  2. Na barra de navegação, selecione Microsoft Dynamics 365 e Configurações.

  3. Selecione Configurações > Unified Service Desk > Controles Hospedados.

  4. Na lista de controles hospedados, selecione o controle hospedado QsWebApplication.

    Lista de controles hospedados no Dynamics 365

  5. Na seção Configuração do Adaptador, especifique os valores a seguir.

    Campo

    Valor

    Adaptador

    Usar Adaptador

    URI

    MyWebApplicationAdapter

    Tipo

    MyWebApplicationAdapter.WebAppAdapter

    Configuração do adaptador Web no Dynamics 365

    Dica

    URI é o nome de seu assembly e o Tipo é o nome de seu assembly (dll) seguido por um ponto (.) e então o nome de classe em seu projeto Visual Studio. Neste exemplo, o nome do assembly é MyWebApplicationAdapter e o nome da classe é WebAdapter, que é o nome de classe padrão quando você cria um adaptador de aplicativo Web.

  6. Selecione Salvar para salvar as alterações.

Etapa 6: Testar o adaptador de aplicativo Web

  1. Copie o assembly que contém a definição de seu adaptador de aplicativo Web da pasta de saída do projeto do Visual Studio(<ProjectFolder>\bin\debug) no diretório do aplicativo Unified Service Desk. Neste caso, você copiará o arquivo MyWebApplicationAdapter.dll para o diretório c:\Program Files\Microsoft Dynamics CRM USD\USD.

  2. Execute o cliente do Unified Service Desk para conectar-se ao seu servidor do Microsoft Dynamics 365.

  3. Após entrar com êxito, você verá o botão do aplicativo Web externo de exemplo na área de trabalho.

  4. Selecione Pesquisar, Contatos e, em seguida, escolha um contato. Neste caso, selecione Patrick Sands.

    Captura de tela da lista de contato

  5. Clique em Aplicativo Web Externo de Exemplo e você verá o nome, o sobrenome, o endereço e a ID do cliente preenchidos.

    Captura de tela do adaptador de WebApp de teste

Dica

Este passo a passo mostrou como ler ou exibir dados do Unified Service Desk no aplicativo Web externo. Para atualizar os dados no Unified Service Desk a partir do aplicativo Web externo, e vice-versa, consulte Passo a passo: Criar um controle de UII do Windows Forms

Confira Também

Use os adaptadores da UII para interagir com os aplicativos Web e externo

Unified Service Desk 2.0

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais