SmartConnector Forum
Schneider Electric support forum about SmartConnector applications for integration of other building management systems (BMS) into EcoStruxure Building Operation.
Link copied. Please paste this link to share this article on your social media post.
I got SOAP EWS REST interface working, but I understand some functions is unavailable like:
Bulk Retrieve for Trend is not allowed.
The customer wants this function so looking in the documentation I find that SOAP ews rest interface has some limitations.
2021-01-22 08:35:12.5502,Trace,RestServe,<no principal>,Creating SoapEwsRestUserManager,"http://127.0.0.1:8086/Trends?name=CO2",
2021-01-22 08:35:12.5552,Debug,RestServe,roha,Trends,Retrieve,ABC6F00CDFE849699154A4BBBCA5876C,Request,{"Take":200,"Skip":0,"OrderBy":0,"Parameters":{"Name":"CO2"}},
2021-01-22 08:35:12.5552,Error,RestServe,roha,{"Message":"Bulk Retrieve for Trend is not allowed"},
I have tried to setup sbo ews rest interface but id doesn't connect even if eventlog in EBO says it is logged in.
2021-01-22 08:24:42.2548,Debug,RestServe,<no principal>,SboEwsRestOAuthProvider authentication,roha,xxxxxx,
2021-01-22 08:24:42.2678,Debug,RestServe,<no principal>,SboEwsRestUserManager is authenticating roha with password xxxxxx,
2021-01-22 08:24:42.2758,Debug,Service,<no principal>,ClientPool.CheckOutConnection for http://192.168.2.114:80/EcoStruxure/DataExchange,
2021-01-22 08:24:42.2758,Debug,Service,<no principal>,ClientPool.CheckOutConnection created connection 1 for http://192.168.2.114:80/EcoStruxure/DataExchange,
2021-01-22 08:24:42.2967,Debug,EwsConsume,<no principal>,GetWebServiceInformation,6e1f9327-5848-4715-83ce-3a67fb27902b,Request,{"version":"1.2"},
2021-01-22 08:24:42.5291,Debug,EwsConsume,<no principal>,GetWebServiceInformation,6e1f9327-5848-4715-83ce-3a67fb27902b,Response,{"GetWebServiceInformationVersion":{"MajorVersion":"1","MinorVersion":"2","UsedNameSpace":"http://www.schneider-electric.com/common/dataexchange/2011/05"},"GetWebServiceInformationSupportedOp... Exchange Profile","History Profile","Alarm Profile","PULL-Eventing"],"GetWebServiceInformationSystem":{"Version":"3.2.2.2000","Name":"PNSD AS1 Demo","Id":"6ac8f388-8fd8-4fda-bb17-6b2c0d106995"},"version":"1.2"},
2021-01-22 08:24:42.5291,Info,EwsConsume,<no principal>,GetWebServiceInformation,ET=232 mSec,
2021-01-22 08:24:42.5450,Debug,Service,<no principal>,ClientPool.CheckOutConnection for http://192.168.2.114:80,
2021-01-22 08:24:42.5450,Debug,Service,<no principal>,ClientPool.CheckOutConnection created connection 1 for http://192.168.2.114:80,
2021-01-22 08:24:42.6996,Error,RestServe,<no principal>,Authentication failed {"IsReconnectable":true,"Code":65558,"Domain":1,"DisplayInfo":"Incorrect server type","Module":54,"ModuleCode":0,"TechnicalInfo":"[error created at 'SE.WorkStation.Communication.SP1WP3.CspProxy+Execute']","IsWarning":false,"Timestamp":"0001-01-01T00:00:00"}
at Mongoose.Csp.CspClient.<>c__DisplayClass7_0.<ConnectNew>b__0(Object <p0>)
at Mongoose.Csp.CspClient.ExecuteAndLogCall[TRequest,TResponse](String methodName, TRequest request, Func`2 methodToLog)
at Mongoose.Service.Cache.CachedCspClient..ctor(String poolKey, ICspEndpoint endpoint)
at Mongoose.Service.Cache.CspClientPool.CreateNewInstance(String poolKey, ICspEndpoint endpoint)
at Mongoose.Service.Cache.ClientPool`3.<>c__DisplayClass5_0.<CheckOutConnection>b__0()
at Mongoose.Service.Cache.ThreadSafeDisposableBase.ThreadSafeCall[T](Func`1 callback)
at Mongoose.Service.Cache.ManagedCspClient.ManageCall[T](ICspEndpoint endpoint, Func`2 method, Boolean expireClientImmediately)
at Mongoose.Service.Cache.ManagedCspClient.ServerVersion(ICspEndpoint endpoint)
at Ews.RestExtensions.SboEwsRestUserManager.VerifyPassword_Subclass(SoapEwsRestUser user, String password)
,[],
2021-01-22 08:24:42.6996,Debug,RestServe,<no principal>,Login failed,"http://127.0.0.1:8087/GetToken",roha,
I have tried to upgrade smartconncetor from 2.4.25 to 2.4.36 but I get the same problem.
I have tried on several computers/servers and I get the same problem using sboews.
/Roar
Link copied. Please paste this link to share this article on your social media post.
Hi Roar,
This is likely because they are using an EBO version newer than 2.0. The SboEwsRestProvider is not compatible with newer versions of EBO at this point unfortunately. At the same time, we highly recommend not using the SboEwsRestProvider in general as there are a whole lot of issues and quirks with it, that make it not very user friendly (version compatibility issues included).
As an alternative, my suggestion would be to use the GET /Containers/{id}/Children discovery method in the SoapEwsRestProvider to do a discovery of all the objects. If this is needed to be a 'quicker' response, then you may need to cache these results somewhere in the client after an initial discovery.
Also to fully understand, what are they trying to do? Find all the trend log objects? Or just be able to read a trend log values?
Best Regards,
-Jeff
Link copied. Please paste this link to share this article on your social media post.
Hi Roar,
This is likely because they are using an EBO version newer than 2.0. The SboEwsRestProvider is not compatible with newer versions of EBO at this point unfortunately. At the same time, we highly recommend not using the SboEwsRestProvider in general as there are a whole lot of issues and quirks with it, that make it not very user friendly (version compatibility issues included).
As an alternative, my suggestion would be to use the GET /Containers/{id}/Children discovery method in the SoapEwsRestProvider to do a discovery of all the objects. If this is needed to be a 'quicker' response, then you may need to cache these results somewhere in the client after an initial discovery.
Also to fully understand, what are they trying to do? Find all the trend log objects? Or just be able to read a trend log values?
Best Regards,
-Jeff
Link copied. Please paste this link to share this article on your social media post.
Thanks, I will try get GET /Containers/{id}/Children.
The customer needs a way to find all trendlogs, records and all kinds of objects within our system like temperature and CO2 to use in other tools. Buildings are being changed and updated added and they want to discover the new objects as well.
The biggest pain is that the functons is documented in swagger but most reply that bulk retrieve is not possible.
/Roar
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.