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:
Baixe o modelo de SDK do CRM. Clique duas vezes no arquivo CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
Baixe e extraia o pacote do SDK do CRM. Vá até a pasta SDK\Templates. Clique duas vezes no arquivo CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
Etapa 1: Criar um aplicativo Web de exemplo
Clique duas vezes no arquivo do pacote para extrair o conteúdo.
Vá até a pasta <ExtractedFolder>\UII\SampleCode\UII\AIF\QsWebApplication e abra o arquivo Microsoft.Uii.QuickStarts.QsWebApplication.csproj no Visual Studio.
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/.
Etapa 2: Configurar o aplicativo Web no Dynamics 365
Entre no Microsoft Dynamics 365.
Vá para Configurações > Unified Service Desk.
Selecione Controles Hospedados.
Selecione Novo.
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/
Escolha Salvar.
Etapa 3: Testar o aplicativo Web
Verifique se o aplicativo Web de exemplo que você compilou na etapa 1 ainda está em execução.
Execute o cliente do Unified Service Desk para conectar-se ao seu servidor do Microsoft Dynamics 365.
Após entrar com êxito, você verá o Aplicativo Web Externo de Exemplo na área de trabalho.
Clique na guia Aplicativo Web Externo de Exemplo para ver seu aplicativo Web hospedado 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
Inicie o Microsoft Visual Studio e crie um novo projeto.
Na caixa de diálogo Novo projeto:
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.
Especifique o nome e o local do projeto, e clique em OK para criar um novo projeto.
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); }
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; }
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
Entre no Microsoft Dynamics 365.
Na barra de navegação, selecione Microsoft Dynamics 365 e Configurações.
Selecione Configurações > Unified Service Desk > Controles Hospedados.
Na lista de controles hospedados, selecione o controle hospedado QsWebApplication.
Na seção Configuração do Adaptador, especifique os valores a seguir.
Campo
Valor
Adaptador
Usar Adaptador
URI
MyWebApplicationAdapter
Tipo
MyWebApplicationAdapter.WebAppAdapter
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.
Selecione Salvar para salvar as alterações.
Etapa 6: Testar o adaptador de aplicativo Web
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.
Execute o cliente do Unified Service Desk para conectar-se ao seu servidor do Microsoft Dynamics 365.
Após entrar com êxito, você verá o botão do aplicativo Web externo de exemplo na área de trabalho.
Selecione Pesquisar, Contatos e, em seguida, escolha um contato. Neste caso, selecione Patrick Sands.
Clique em Aplicativo Web Externo de Exemplo e você verá o nome, o sobrenome, o endereço e a ID do cliente preenchidos.
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