3 Replies Latest reply: Jul 19, 2017 11:06 AM by Daniel Gastelu RSS

    Problema con RECARGAR QLIKVIEW DESDE MS SSIS (TASK)-- Help!!

      Buenas ,

       

      desde hace  2 semanas intento trabajar con EDX  para lograr  recargar un archivo qlikview de mi servidor, la idea es elaborar un script (c#) en en SSIS (task) que ejecute la recarga .

       

      Despues de mucho buscar entre tutoriales y forums logre consolidad un query en c# (lineas abajo), pero al final obtengo el presente error:

      "Could not find endpoint element with name 'BasicHttpBinding_IQMS' and contract 'QMSAPIService.IQMS' in the ServiceModel client configuration section. This might be because no configuration file was found for your application, or because no endpoint element matching this name could be found in the client element."

       

      problema 2.jpg

       

       

      Tips:

       

      he agregado las referencias al servicio requerido:

      referencias.jpg

      buscando entre las soluciones (QMSAPIDocumentation), me indicaron que debia agregar unas lineas de codigo  al app.config del task(script), lo cual lo hice y quedo asi:

       

      app.config

       

      <?xml version="1.0" encoding="utf-8" ?>

      <configuration>

          <system.serviceModel>

                          <!-- Added for QMS API  -->

                          <extensions>

                                    <behaviorExtensions>

                                              <add name="serviceKeyBehavior" type="ST_80dec96c5810429692e327c302d2671b.ServiceKeyBehaviorExtensionElement, ST_80dec96c5810429692e327c302d2671b, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />

                                    </behaviorExtensions>

                          </extensions>

                          <behaviors>

                                    <endpointBehaviors>

                                              <behavior name="ServiceKeyEndpointBehavior">

                                                        <!--<serviceKeyBehavior/>-->

                                              </behavior>

                                    </endpointBehaviors>

                          </behaviors>

                          <!--  END Added for QMS API -->

              <bindings>

                  <basicHttpBinding>

                      <binding name="BasicHttpBinding_IQMS" closeTimeout="00:01:00"

                          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"

                          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"

                          maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"

                          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"

                          useDefaultWebProxy="true">

                          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"

                              maxBytesPerRead="4096" maxNameTableCharCount="16384" />

                          <security mode="TransportCredentialOnly">

                              <transport clientCredentialType="Ntlm" proxyCredentialType="None"

                                  realm="" />

                              <message clientCredentialType="UserName" algorithmSuite="Default" />

                          </security>

                      </binding>

                      <binding name="BasicHttpBinding_IQTService" closeTimeout="00:01:00"

                          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"

                          allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"

                          maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"

                          messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"

                          useDefaultWebProxy="true">

                          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"

                              maxBytesPerRead="4096" maxNameTableCharCount="16384" />

                          <security mode="TransportCredentialOnly">

                              <transport clientCredentialType="Ntlm" proxyCredentialType="None"

                                  realm="" />

                              <message clientCredentialType="UserName" algorithmSuite="Default" />

                          </security>

                      </binding>

                  </basicHttpBinding>

              </bindings>

              <client>

                  <endpoint address="http://vmwbi:4799/QMS/Service" binding="basicHttpBinding"

                      bindingConfiguration="BasicHttpBinding_IQMS" contract="QMSAPIService.IQMS"

                      name="BasicHttpBinding_IQMS" behaviorConfiguration="ServiceKeyEndpointBehavior" />

                  <endpoint address="http://vmwbi:4799/ANY/Service" binding="basicHttpBinding"

                      bindingConfiguration="BasicHttpBinding_IQTService" contract="QMSAPIService.IQTService"

                      name="BasicHttpBinding_IQTService" />

              </client>

          </system.serviceModel>

      </configuration>

       

       

       

       

      Scrip  que llama al EDX  (task):

       

      public void Main()

              {

                  string QMSURL = "http://vmwbi:4799/QMS/Service";

                  string Taskname = "6a48ff83-b7a9-4061-b265-9afe34a275bb";

                  string Taskpassword = "emsa";

                  IQMS Client = new QMSClient("BasicHttpBinding_IQMS", QMSURL);

                  ServiceKeyClientMessageInspector.ServiceKey = Client.GetTimeLimitedServiceKey();

                  Client.TriggerEDXTask(new Guid("00000000-0000-0000-0000-000000000000"), Taskname, Taskpassword, "", new string[0]);

                  

                  Dts.TaskResult = (int)ScriptResults.Success;

              }

       

       

      Nota:

       

      Windows server 2008 (64 Bits)

      MS SQL Server 2012

      Net Framework 4

      Server QlikView 11