Procedimentos: Criar um Adaptador de Aplicações Web do UII
Pode criar um adaptador de aplicação web se pretender aumentar e modificar as aplicações web para as quais não tem acesso ao código fonte ou não tenha permissões para alterar utilizando código gerido. O Microsoft Dynamics CRM fornece um modelo do Microsoft Visual Studio para criar um adaptador de aplicação web. O modelo fornece código básico como comentário para ajudá-lo a começar a criar o adaptador de aplicação Web.
Neste procedimento, irá criar uma aplicação web externa chamada QsWebApplication e alojá-la no Unified Service Desk. Em seguida irá criar e configurar um adaptador de aplicação web chamado MyWebApplicationAdapter para a aplicação web externa interagir com o Unified Service Desk. A aplicação web tem quatro etiquetas, uma para o nome próprio do cliente, apelido e endereço e ID e quatro caixas de texto correspondentes para apresentar os valores do Unified Service Desk.
Neste Tópico
Pré-requisitos
Passo 1: Criar uma aplicação web de exemplo
Passo 2: Configurar a aplicação web no Dynamics CRM
Passo 3: Testar a aplicação Web
Passo 4: Criar o adaptador de aplicação Web
Passo 5: Configurar o adaptador de aplicação web no Dynamics CRM
Passo 6: testar o adaptador de aplicação Web
Pré-requisitos
Microsoft.NET Framework 4.5.2
Aplicação cliente do Unified Service Desk; necessária para testar o controlo alojado.
Microsoft Visual Studio 2012 ou Visual Studio 2013
Gestor de Pacotes NuGet para Visual Studio 2012 ou Visual Studio 2013
Modelos do Microsoft Dynamics CRM SDK para o Visual Studio que contêm o modelo de projeto de controlo alojado do UII. Poderá obtê-la numa das seguintes formas:
Transfira o modelo do CRM SDK. Faça duplo clique no ficheiro CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
Transfira e extraia o pacote do CRM SDK. Aceda à pasta SDK\Templates. Faça duplo clique no ficheiro CRMSDKTemplates.vsix para instalar o modelo no Visual Studio.
Passo 1: Criar uma aplicação web de exemplo
Faça duplo clique no ficheiro do pacote para extrair o conteúdo.
Navegue para a pasta <ExtractedFolder>\UII\SampleCode\UII\AIF\ QsWebApplication e abra o ficheiro Microsoft.Uii.QuickStarts.QsWebApplication.csproj no Visual Studio.
Premir F5 ou escolha Depurar > Iniciar Depuração para alojar localmente a aplicação web de exemplo no computador. A aplicação será alojada em https://localhost:2627/.
Passo 2: Configurar a aplicação web no Dynamics CRM
Iniciar sessão no Microsoft Dynamics CRM.
Aceda a Definições > Unified Service Desk. (Como é que chego lá?)
Escolha Controlos Alojados.
Escolha Novo.
Na página de Novo Controlo Alojado, especifique os seguintes valores.
Campo Valor Nome
QsWebApplication
Tipo de Componente do USD
Aplicação Alojada do CCA
Aplicação Alojada
Aplicação Alojada na Web
A Aplicação é Global
Selecionado
Grupo de Apresentação
MainPanel
Adaptador
Não Utilizar Adaptador
A Aplicação é Dinâmica
Não
Alojamento da Aplicação
Utilizar SetParent
URL
Especifique o local onde a aplicação web está alojada. Neste caso, é https://localhost:2627/
Escolha Guardar.
Passo 3: Testar a aplicação Web
Certifique-se de que a aplicação web de exemplo que criou no passo 1 ainda está em execução.
Execute o cliente do Unified Service Desk para ligar ao servidor do Microsoft Dynamics CRM.
Quando iniciar sessão com êxito, verá a Aplicação Web Externa de Exemplo no ambiente de trabalho.
Clique no separador Aplicação Web Externa de Exemplopara ver a aplicação web alojada no Unified Service Desk.
Nota
Neste momento os campos estão vazios porque está a hospedar a aplicação web externa no Unified Service Desk. Para a povoar com valores do Unified Service Desk, temos de criar um adaptador de aplicação web como é ilustrado no passo seguinte.
Passo 4: Criar o adaptador de aplicação 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 do CRM SDK > Unified Service Desk > Adaptador de aplicação Web do UII.
Especifique o nome e a localização do projecto e clique em OK para criar um novo projeto.
Escolha WebAppAdapter.cs e atualize a definição de NotifyContextChange com o código seguinte para povoar os campos de texto com informações de contexto. 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 seguinte código à definição manual de DoAction para atualizar a aplicação 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; }
Guarde e compile o projeto (Compilar > Compilar Solução). Quando o projeto for compilado com êxito, é gerada uma assemblagem (MyWebApplicationAdapter.dll) na pasta \bin\debug da pasta do projeto. Vai precisar desta assemblagem mais tarde para testar e utilizar o adaptador de aplicação web.
Passo 5: Configurar o adaptador de aplicação web no Dynamics CRM
Iniciar sessão no Microsoft Dynamics CRM.
Na barra de navegação, escolha Microsoft Dynamics CRM e seleccione Definições.
Escolha Definições > Unified Service Desk > Controlos Alojados.
Na lista de controlos alojados, selecione o controlo alojado QsWebApplication.
Na secção Configuração do Adaptador, especifique os seguintes valores.
Campo Valor Adaptador
Utilizar Adaptador
URI
MyWebApplicationAdapter
Tipo
MyWebApplicationAdapter.WebAppAdapter
Nota
URI é o nome da assemblagem e Tipo é o nome da sua assemblagem (dll) seguido «por um ponto (.) e pelo nome da classe no projeto do Visual Studio. Neste exemplo, o nome da assemblagem é MyWebApplicationAdapter e o nome da classe é WebAdapter, que é o nome de classe predefinido quando cria um adaptador de aplicação Web.
Para guardar as alterações, escolha Guardar.
Passo 6: testar o adaptador de aplicação Web
Copie a assemblagem que contém a definição do adaptador de aplicação web da pasta de saída do projeto do Visual Studio(<ProjectFolder>\bin\debug) para o diretório da aplicação do Unified Service Desk. Neste caso, irá copiar o ficheiro MyWebApplicationAdapter.dll para o diretório c:\Program Files\Microsoft Dynamics CRM USD\USD.
Execute o cliente do Unified Service Desk para ligar ao servidor do Microsoft Dynamics CRM.
Quando iniciar sessão com êxito, verá o botão da aplicação Web externa de exemplo no ambiente de trabalho.
Escolha Procurar e escolha Contactos e selecione um contacto. Neste caso, selecione Patrick Sands.
Clique em Aplicação web externa de exemplo é verá o «nome próprio, apelido, endereço, e ID de cliente povoados.
Nota
Este procedimento mostrou-lhe como ler ou apresentar dados do Unified Service Desk na aplicação web externa. Para atualizar dados no Unified Service Desk a partir da aplicação Web externa, e vice-versa, consulte Procedimentos: Criar um Controlo Alojado Formulários do Windows do UII
Consulte Também
Conceitos
Utilizar adaptadores do UII para interagir com aplicações externas e Web
Unified Service Desk
Send comments about this topic to Microsoft.
© 2015 Microsoft. All rights reserved.