Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

QV 11 SSIS and EDX

I tried following the few examples online on using the QMS API to trigger a reload.  My DB server is on a seperate box than my QV Server.  Thus I'm needing to setup an API to trigger a reload once my DB tables are fully populated.  I have this error that I can seem to resolve and has to do with my app.config file from my script task.  Any help suggestions is greatly appreciated.

Error: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: 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.

   at System.ServiceModel.Description.ConfigLoader.LoadChannelBehaviors(ServiceEndpoint serviceEndpoint, String configurationName)

   at System.ServiceModel.ChannelFactory.InitializeEndpoint(String configurationName, EndpointAddress address)

   at System.ServiceModel.ChannelFactory`1..ctor(String endpointConfigurationName, EndpointAddress remoteAddress)

   at System.ServiceModel.EndpointTrait`1.CreateSimplexFactory()

   at System.ServiceModel.EndpointTrait`1.CreateChannelFactory()

   at System.ServiceModel.ClientBase`1.CreateChannelFactoryRef(EndpointTrait`1 endpointTrait)

   at System.ServiceModel.ClientBase`1.InitializeChannelFactoryRef()

   at System.ServiceModel.ClientBase`1..ctor(String endpointConfigurationName, String remoteAddress)

   at ST_e7c60077b2a74b648fdb5185f981190b.csproj.QMSAPIService.QMSClient..ctor(String endpointConfigurationName, String remoteAddress)

   at ST_e7c60077b2a74b648fdb5185f981190b.csproj.ScriptMain.Main()

   --- End of inner exception stack trace ---

   at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)

   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)

   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)

   at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

----app.config

<?xml version="1.0"?>

<configuration>

          <system.serviceModel>

                    <extensions>

                              <behaviorExtensions>

                                        <add name="serviceKeyBehavior" type="ST_e7c60077b2a74b648fdb5185f981190b.csproj.ServiceSupport.ServiceKeyBehaviorExtensionElement,

                                                   ST_e7c60077b2a74b648fdb5185f981190b.csproj, Version=1.0.0.0, Culture=neutral,

                                                   PublicKeyToken=null"/>

                              </behaviorExtensions>

                    </extensions>

                    <behaviors>

                              <endpointBehaviors>

                                        <behavior name="ServiceKeyEndpointBehavior">

                                                  <serviceKeyBehavior/>

                                        </behavior>

                              </endpointBehaviors>

                    </behaviors>

                    <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://sct-inf-qv:4799/QMS/Service" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IQMS" contract="QMSAPIService.IQMS" name="BasicHttpBinding_IQMS" behaviorConfiguration="ServiceKeyEndpointBehavior"/>

                              <endpoint address="http://localhost:4799/ANY/Service" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IQTService" contract="QMSAPIService.IQTService" name="BasicHttpBinding_IQTService"/>

                    </client>

          </system.serviceModel>

<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>

2 Replies
Anonymous
Not applicable
Author

Hi,

Just a sanity check, is the yourprogram.exe.config in the same directory as the yourprogram.exe?

Br

/Hakan

Not applicable
Author

Hello @Michael Lam

To achieve QV 11 SSIS, First of all create the task you want to trigger, this can be any type of task and do this using the QlikView management account as normal.  For the task create a trigger, and for the type of trigger chose "On an external Event" and you need to specify a password that will be used to call the task (this isnt used anywhere else except for starting the task). You will find detailed explanation here Using EDX in QlikView 11 - basic example


Thanks.