none
WCF MultiBrowser CRM 2013 online RRS feed

  • Pergunta

  • Boa noite galera, uma dúvida com relação ao crm 2013 online/onprimese

    Como estão para fazendo chamadas para wcf customizados no chrome?

    Eu tenho um wcf que funciona no IE mas no chrome não roda e detalhe o crm é o online.

    Valeu.


    quinta-feira, 20 de março de 2014 23:18

Todas as Respostas

  • Boas Eduardo,

    Depende de onde estás a chamar o serviço WCF, pelo Javascript? Estas a chamar que tipo de serviços, estas a chamar os serviços do CRM?

    Pelo Javascript estou a usar requests AJAX através do jQuery:

    $.ajax({
      url: serviceURL,
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      type: "POST",
      success: function (data, textStatus, jqXHR) {
      },
      error: function (jqXHR, textStatus, errorThrown) {
      },
    });

    Mas coloque aqui o seu código de chamada ao WCF.

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    • Sugerido como Resposta Azevedo PedroMVP sexta-feira, 21 de março de 2014 00:31
    sexta-feira, 21 de março de 2014 00:31
  • Pedro, segue o código estranho é funcionar no ie somente,
    esta desenvolvido em framework 4.5 segue jscript, interface e webconfig.
    jscript é chamado em um button

     var userid = Xrm.Page.context.getUserId();
            var activityid = Xrm.Page.getAttribute("ownerid").getValue()[0].id;
            var entityname = "task";

            var strurl = "http://localhost:8003/Atividades.svc/CriarAlerta?userid=" + userid + "&activityid=" + activityid + "&entityname=" + entityname;
            $.support.cors = true;

            $.ajax({
                type: "GET",
                crossDomain: true,
                async: 'true',
                url: strurl,
                contentType: "application/json; charset=utf-8",
                dataType: "jsonp",
                processdata: true,
                success: function (r) {
                    alert("Successfully Registered!!!" + r);
                },
                error: function (e) {
                    alert(e.statusText);
                }
            });


    Interface

    [OperationContract]
            [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Xml)]
            string CriarAlerta(string userid, string activityid, string entityname);


    WebConfig
     <system.serviceModel>
        <services>
          <service name="WcfAtividades.Atividades" behaviorConfiguration="serviceBehaviorBalanco">
            <endpoint address="" behaviorConfiguration="endpointBehaviorBalanco" binding="webHttpBinding" bindingConfiguration="bindingBalanco" contract="WcfAtividades.IAtividades" />
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:8003/" />
              </baseAddresses>
            </host>
          </service>
        </services>
        <bindings>
          <webHttpBinding>
            <binding name="bindingBalanco" crossDomainScriptAccessEnabled="true">
              <security mode="None" />
            </binding>
          </webHttpBinding>
        </bindings>
        <behaviors>
          <endpointBehaviors>
            <behavior name="endpointBehaviorBalanco">
              <webHttp />
            </behavior>
          </endpointBehaviors>
          <serviceBehaviors>
            <behavior name="serviceBehaviorBalanco">
              <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
            <behavior name="">
              <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
      </system.serviceModel>


    sexta-feira, 21 de março de 2014 11:34
  • Boas Eduardo,

    Quer dizer que o site do CRM está em https por essa razão estas a utilizar JSONP, tens alguma restrição para colocares o Web Service em https? Assim escusavas de ter a necessidade de fazer JSONP. Pela razão de estar a funcionar apenas no IE pode ter a ver com as configurações de segurança do IE, dá uma olhadela neste post que fala destas configurações.

    Espero ter ajudado.
    Se respondi a sua pergunta por favor marque como resposta e\ou como útil.


    Pedro Azevedo Crm Specialist 4.0\2011

    • Sugerido como Resposta Azevedo PedroMVP sexta-feira, 21 de março de 2014 17:45
    sexta-feira, 21 de março de 2014 17:45