Discussions
iMIS Integration
We have an active iMIS SSO integration for WordPress and are working on improving it. I tried to get in touch with a partner integration email with no success. Can anyone please guide me further?
Posted by Varad Parchure over 2 years ago
Find UserSecurity by Name returns a Task
According to the documentation here:
[Executes a GenericExecuteRequest](https://developer.imis.com/reference/executesmusersecurity)
A `POST` request to `/api/UserSecurity/_execute`
Returns a "$type" value of:
"System.Threading.Tasks.Task`1[[Asi.Soa.Core.DataContracts.IServiceResponse`1[[Asi.Soa.Membership.DataContracts.User.UserSecurityData, Asi.Contracts]], Asi.Contracts]], mscorlib"
Is that normal?
A `System.Threading.Tasks.Task` wasn't expected.
Thank you for any insight.
Cordially,
Molivouth B.
Posted by Molivouth Boulom over 2 years ago
REST API Cache - Configurable?
As per other questions here,
https://developer.imis.com/discuss/622bb30d1c31630091561243
https://developer.imis.com/discuss/5c6e1041cd56010020fe9280
iMIS REST appears to cache, but the cache isn't marked dirty for changes made outside of the REST API
Eg.
Through iBO
Through iMIS Automation stored procedures
Through iMIS desktop
Is there a way to turn this off or configure the cache expiry time?
Posted by Stu over 2 years ago
Rest Api call timeout
Hello, I'm trying to GET from the invoice endpoint a list ( https://{{URL}}/api/Invoice?limit=100 ), but I'm receiving in the Windows Event Log the following error.
2022-04-20 16:50:43,641 [90] ERROR DC-APP-SQL:Bravo [(null)] - Error occured at Uri: https://myurl.com/Asi.Scheduler_iMIS/api/Invoice
System.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
at System.Data.Linq.DataQuery`1.System.Collections.IEnumerable.GetEnumerator()
at Asi.Soa.Core.Persistence.LinqQueryBuilder.GetFilteredResult()
at Asi.Soa.Core.Persistence.LinqQuery.ExecuteQuery()
at Asi.Soa.Core.Persistence.LinqPersistenceStrategyBase.FindMatching(QueryData query)
at Asi.Soa.Core.Domain.Repository.FindMatching(QueryData query)
at Asi.Services.Core.EntityServiceToCommonServiceAdapter`1.Find(IQuery`1 query)
at Asi.Services.Core.EntityServiceToCommonServiceAdapter`1.Find(IQuery query)
at Castle.Proxies.Invocations.ICommonReadOnlyService_Find.InvokeMethodOnTarget()
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Asi.Shared.Aspects.CacheAspect.Intercept(IInvocation invocation) in C:\Builds\208\ScrumV3\sp137_Main10\Sources\MainFoundation\imis.net\Packages\Platform\Asi.Shared\Aspects\CacheAspect.cs:line 62
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Asi.Services.Core.Interceptors.CommonSecurityAspect.Intercept(IInvocation invocation)
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Asi.Shared.Aspects.PerformanceAspect.Intercept(IInvocation invocation) in C:\Builds\208\ScrumV3\sp137_Main10\Sources\MainFoundation\imis.net\Packages\Platform\Asi.Shared\Aspects\PerformanceAspect.cs:line 55
at Castle.DynamicProxy.AbstractInvocation.Proceed()
at Castle.Proxies.ICommonService`1Proxy_22.Find(IQuery query)
at Asi.Scheduler.Controllers.CommonServiceController.Get(String entityName)
ClientConnectionId:2c8fce6a-15af-4e86-8b61-983bdfbbac9f
Error Number:-2,State:0,Class:11
Thanks
Do you know what is the solution ?
Thanks
Posted by Leonardo over 2 years ago
Group Price for Events
Hello, I know that I can specify specific prices for Members and Non-Members in Rise and also by creating new groups using IQA and then creating the group over that IQA.
What I don't understand is how could I change the default behavior (IQA probably ?) that identifies PartyId as a Member or Non-Member. Could someone point me to the right direction to achieve this ?
I've read in documentations that Members are PartyIds that are 'Active'. But what if I want to exclude some Registration Types ?
Thanks
Posted by Leonardo over 2 years ago
In IQA query, parameters must be Parameter Equal
Hi, I have my url like this in a clientside iPart
var urllookup = MemberPrimeBuyersGuideSearch.restApiUrl + "/iqa?queryname=$/IFDAReports/Allied/Directory Search/iPartAlliedBuyersGuideSearch&Parameter=eq:" + cats;
still getting validation error : "In IQA query, parameters must be Parameter Equal"
works fine in postman request either with or without eq:
Can anyone help giving any solution?
Thanks
Posted by Mythili Parthasarathy over 2 years ago
/api/Communication with no ID returns a 400 and error
iMIS 20.3.113.63375 - call made to /api/Communication (as per https://developer.imis.com/reference/getcommunication-1) with no ID parameter returns a 400 response and the text:
{"$type":"Asi.Soa.Core.DataContracts.ValidationResultsData, Asi.Contracts","Errors":{"$type":"Asi.Soa.Core.DataContracts.ValidationResultDataCollection, Asi.Contracts","$values":[{"$type":"Asi.Soa.Core.DataContracts.ValidationResultData, Asi.Contracts","Message":"Query does not contain any criteria"}]},"Warnings":{"$type":"Asi.Soa.Core.DataContracts.ValidationResultDataCollection, Asi.Contracts","$values":[]}}
Would have expected it to return the communications as per "Returns a list or single record of Communication".
Thanks.
Posted by Jake Bound over 2 years ago
Can you update "Date of Publication" of a RiSE document via the API?
I see there's the Document endpoint, however when querying that I see various metadata like "CreatedOn" and "UpdatedOn", however not something that might be like the Date of Publication field.
Is this not possible?
Thank you.
Posted by Lee over 2 years ago
Create Voluntary Contribution Subscription with price
Is there a way to create a voluntary contribution in the Subscriptions table and pass the dollar amount?
Posted by Glen Oakley over 2 years ago
How to recreate 'Register Myself'/'Register Someone Else' buttons on Events through the API
Hi,
I've asked a similar question in another discussion post:
How to recreate 'Cancel My Registration' button on Events through the API" however i'd like some insight on how to register rather than cancel.
That old post explains how most of registration is done through the cart. I've created OrderLines with the right prices and delivery data and posted to the cart. However our manually created carts are missing fields such as 'OrderLineId' and 'DeliveryId' that seem to be required to make this work.
Are these Ids generated manually as well or is there an API endpoint that generates these guids as well?
Thanks
Posted by Jesus over 2 years ago