none
Plugin webservice RRS feed

  • Pergunta

  • Pessoal,

    Preciso chamar um webservice em C#, através de um plugin...

    o problema é o seguinte, nunca precisei utilizar plugin e não tenho mto conhecimento... o SDK não me esclareu mto!

    Alguém teria algum material pra me indicar sobre os plugins e um exemplo de como chamar um webservice ?

    Na entidade conta preciso informar o CNPJ e buscar automaticamente informações do webservice!!!

    Desde já agradeço!

    Abs.

    terça-feira, 4 de outubro de 2011 20:17

Respostas

  • Oi Airton,

    No SDK você tem exemplos de soluções do Visual Studio completas para desenvolvimento de plugins. Pode inclusive pegar uma delas, compilar e subir para seu CRM como exemplo.

    A chamada de um webservice é da mesma forma como faria em outro projeto .net.

    []´s


    Carlos Amorim Junior
    "Colabore! A comunidade precisa de você."
    http://www.dynamicscrm.com.br
    terça-feira, 4 de outubro de 2011 20:57
  • Airton,

     

    O Amorim está certo existe tudo o que está precisando no SDK, talvez seja uma falta de entendimento melhor do assunto...

    Bom plugins são codificações em .net para dar funcionalidades que a versão nativa do CRM não fornece, que podem ser regras de negócio, integrações, consumo de Web Services, etc...

    Para serem acionado é necessário um "gatinho", se usar a analogia de banco de dados, seria uma trigger. Pois você registrará uma dll contendo a implementação da classe abstrata "IPlugin" e a sobrescrita do método "Execute".

    Assim, você poderá implementar o que quiser, existe um único parâmetro no método "Execute" que seria o "IPluginExecutationContext" é um objeto bem completo, contendo duas coleções principais: "InputParameters" e "OutputParameters", com a input por exemplo, você poderá recuperar os valores atuais do formulário que o acionou!

    Para gravar alguma informação no CRM, você poderá usar as próprias dlls "Microsoft..Crm.SDK" e "Microsoft..Crm.SDKTypeProxy" e realizar o que deseja usando "DynamicsEntities" ou ainda recuperar o Web Service do CRM, criando um "ICrmService" e consumindo todos os objetos de forma tipada.

    Por fim, terá que registrar no plugin executation tools esta dll, escolherá a entidade e a message que deseja "attachar" a dll, para saber quais messages são permitidas para cada entidade veja:

    http://msdn.microsoft.com/en-us/library/cc151101.aspx

    Bom é isso, creio que mais detalhado que isso apenas em um treinamento mesmo.

    Att,


    Tiago Michelini Cardoso MCTS - MCC
    https://tiagomcardoso.wordpress.com/
    quarta-feira, 5 de outubro de 2011 21:41
    Moderador

Todas as Respostas

  • Oi Airton,

    No SDK você tem exemplos de soluções do Visual Studio completas para desenvolvimento de plugins. Pode inclusive pegar uma delas, compilar e subir para seu CRM como exemplo.

    A chamada de um webservice é da mesma forma como faria em outro projeto .net.

    []´s


    Carlos Amorim Junior
    "Colabore! A comunidade precisa de você."
    http://www.dynamicscrm.com.br
    terça-feira, 4 de outubro de 2011 20:57
  • Olá Carlos,

     

    Realmente o SDK tem um bom exemplo...

    Mas dentro do SDK, pelo menos não localizei, um material falando sobre funções, métodos, etc... por exemplo:

    - Como pegar o valor de um campo no evento OnChange, OnSave, etc...

    - Como setar um valor em um campos

    coisas deste tipo...

    Abs.


    quarta-feira, 5 de outubro de 2011 17:57
  • Airton,

     

    O Amorim está certo existe tudo o que está precisando no SDK, talvez seja uma falta de entendimento melhor do assunto...

    Bom plugins são codificações em .net para dar funcionalidades que a versão nativa do CRM não fornece, que podem ser regras de negócio, integrações, consumo de Web Services, etc...

    Para serem acionado é necessário um "gatinho", se usar a analogia de banco de dados, seria uma trigger. Pois você registrará uma dll contendo a implementação da classe abstrata "IPlugin" e a sobrescrita do método "Execute".

    Assim, você poderá implementar o que quiser, existe um único parâmetro no método "Execute" que seria o "IPluginExecutationContext" é um objeto bem completo, contendo duas coleções principais: "InputParameters" e "OutputParameters", com a input por exemplo, você poderá recuperar os valores atuais do formulário que o acionou!

    Para gravar alguma informação no CRM, você poderá usar as próprias dlls "Microsoft..Crm.SDK" e "Microsoft..Crm.SDKTypeProxy" e realizar o que deseja usando "DynamicsEntities" ou ainda recuperar o Web Service do CRM, criando um "ICrmService" e consumindo todos os objetos de forma tipada.

    Por fim, terá que registrar no plugin executation tools esta dll, escolherá a entidade e a message que deseja "attachar" a dll, para saber quais messages são permitidas para cada entidade veja:

    http://msdn.microsoft.com/en-us/library/cc151101.aspx

    Bom é isso, creio que mais detalhado que isso apenas em um treinamento mesmo.

    Att,


    Tiago Michelini Cardoso MCTS - MCC
    https://tiagomcardoso.wordpress.com/
    quarta-feira, 5 de outubro de 2011 21:41
    Moderador
  • Ok!

     

    Muito Obrigado pela dica pessoal!

     

    Abs.

    quinta-feira, 6 de outubro de 2011 13:19
  • Caro Airton,


    Marquei a resposta do Tiago e a minha própria como soluções para sua pergunta.


    Caso você ainda esteja com problema, por favor sinta-se à vontade para desfazer minha ação e acrescentar informações para que possamos continuar a ajudá-lo.


    Caso seu problema tenha sido resolvido, ficaremos imensamente agradecidos se você compartilhar conosco a solução, pois isso ajudará futuros visitantes a encontrarem a resposta adequada para situações similares a sua.


    Agradecemos sua participação nos fórums da Microsoft.


    []´s


    Carlos Amorim Junior
    "Colabore! A comunidade precisa de você."
    http://www.dynamicscrm.com.br
    quinta-feira, 6 de outubro de 2011 13:36