SmartConnector Forum
Schneider Electric support forum about SmartConnector applications for integration of other building management systems (BMS) into EcoStruxure Building Operation.
Posted: 2017-02-16 08:26 AM
Link copied. Please paste this link to share this article on your social media post.
I downloaded the solution for the SmartConnector (GitHub - BuildingsLabs/SmartConnectorSamples: Sample projects for SmartConnector ), and successfully built it, and it appears to be working.
I can't seem to figure out how to bring its data into my ES (v1.7) however.
I'm trying to create an EcoStruxure Web Service Interface in the ES WorkStation:
I've tried following urls without success:
http://localhost:5300/SmartConnectorWeatherService
http://localhost:5300/EcoStruxure/DataExchange
http://localhost:8082/EcoStruxure/DataExchange
I'm using the default username and password (admin/Admin!23)
I've also noticed that when I use the Soap UI to connect to http://localhost:5300/SmartConnectorWeatherService as prescribed by the tutorial,
I get a 403 error when I try to use "NTLM" Authentication, and it only works if I use "No Authorization" setting in Soap UI,
so I'm not sure if it's just a misconfiguration with authentication settings, or if I'm pointing to the wrong path, or if SmartConnector simply doesn't work with the ES in this manner?
Link copied. Please paste this link to share this article on your social media post.
Hi Josh,
The error you have states that the EWS Server does not support alarm polling. Can you check if the EWS Server you have configured in SmartConnector has GetAlarmEvents and GetUpdatedAlarmEvents enabled under 'SupportedMethods' (Similar to how you checked the hashing algorithms).
Also, check if your hardware folder to see if any objects are available.
Regards,
-Jeff
Link copied. Please paste this link to share this article on your social media post.
Hi Josh,
Firstly have you checked that your custom EWS processor has started? If so, it will tell you what address it is running on and the port you configured. You will also have set the username and password for your server in the configuration of the EWS server.
From the SmartConnector service portal, go to EWS Servers and check the information for the server you're running. There's a handy hyperlink within that which you can click on to see the wsdl file which when resolving you can use to debug through soap ui too.
Posted: 2017-02-16 09:43 AM
Link copied. Please paste this link to share this article on your social media post.
The Processor seems execute and then terminate, rather than continue running, however I believe this is the correct behavior.
The EWS "SmartConnectorWeatherService" is running, and the url is http://localhost:5300/SmartConnectorWeatherService?singleWsdl in the EWS Servers view.
The Soap UI works fine without Authentication, but it gets a 403 response if I try to use the admin/Admin!23 via NTLM Authentication. I've checked, and both Processors are configured to use admin/Admin!23 as per the defaults.
The only setting I changed was the api key in the Update Processor, to match my weather webservice account, as prescribed in the tutorial.
Link copied. Please paste this link to share this article on your social media post.
It could be an issue with the Digest Auth hashing algorithms. SmartConnector EWS Servers default to enable dual algorithms (SHA-256 and MD5) but some versions of SBO can't handle multiple auth headers (or SHA-256 at all for that matter).
First edit your SmartConnector EWS Server to only use MD5 and retry adding the interface.
If that doesn't work. Confirm that SBO isn't in "safe mode" which effectively disables all MD5 communications - rendering EWS unusable.
Also, I believe Adam meant to verify that the EWS Server itself is running. That you can do from the portal.
Posted: 2017-02-16 10:00 AM
Link copied. Please paste this link to share this article on your social media post.
I thought that may be the case (EWS Server vs Processor), and I did verify that it is, in fact, running.
I have now (temporarily) disabled the EWS Server, in an attempt to modify the "Supported Digest hashing Algorithms / MD5" property. Unfortunately, I can't seem to change this property.
It seems the option to edit these is grayed out.
Link copied. Please paste this link to share this article on your social media post.
To edit the Hashing Algorithms, select the Server node (top one in the tree) and then click the Edit button (or right click for a context menu).
You should see the Edit Server dialog:
Also, you don't need to stop the EWS Server to edit those. It will automatically restart if some changes affecting communication are detected. But stopping and manually re-starting is fine too.
Posted: 2017-02-16 10:16 AM
Link copied. Please paste this link to share this article on your social media post.
Thanks for the pointer. I was able to disable SHA-256.
However, Soap UI still gets 403 whenever I use the NTLM authorization.
I decide to test Basic Auth, and interestingly, Basic Auth does work if/only if correct username/password are supplied.
Link copied. Please paste this link to share this article on your social media post.
SoapUI does work with multiple auth headers and SHA-256. My suggestions were for interactions with SBO.
I'm using SoapUI v 5.2.1 (although I think 5.3 is now available) and have never had issues with NTLM auth. Not sure what SoapUI doing under the covers with "Basic Auth" because if the Digest Auth challenge isn't returned properly SmartConnector won't accept the response and will 401 back.
Posted: 2017-02-16 10:43 AM
Link copied. Please paste this link to share this article on your social media post.
Well, I can confirm am using SoapUI v5.3. If that's a problem, I can try getting a prior version.
SBO still isn't working with MD5 the only accepted hash algorithm.
In Soap UI, I get success response if Authorization is disabled, or Authorization is Basic and the user/pass are correct.
I get a 'Permission Denied' response if Authorization is Basic but the user/pass are incorrect, or if Authorization is NTLM, regardless of whether user/pass are correct.
So, seemingly, the user/pass are being used, but only work with Basic Auth:
Link copied. Please paste this link to share this article on your social media post.
Hi Josh,
Are you using a locally configure SBO system to test this?
Can you take a screenshot of your SBO EWS Interface settings?
Also, are you verifying connection to the EWS server by trying to host the objects from the Hardware folder? Do you see any SBO alarms stating that it could not connect?
Regards,
-Jeff
Posted: 2017-02-16 10:54 AM
Link copied. Please paste this link to share this article on your social media post.
Actually, something very odd seems to be happening with Soap UI, so I will try the latest 5.2.x version. Seemingly No Auth only works if I first request the service via NTLM first. (I get a Permission Denied response to the NTLM request, but afterwords I get Success when I use No Auth)
Posted: 2017-02-16 10:59 AM
Link copied. Please paste this link to share this article on your social media post.
Alarm Contents:
["State","Count","Priority","Triggered time","Source name","Source","Alarm text","System alarm ID","Timestamp","Acknowledged by","Category"
"Alarm","1","100","2/16/2017 1:56:51 PM","EcoStruxure Web Service","/JoshSBO/EcoStruxure Web Service","System alarm: SOAP-ENV:Sender EWSv122:SCWS Gsoap_Communication__Error: 12 Operation not supported","CWS Alarm Poll failed","2/16/2017 1:56:51 PM","","System alarm"]
Link copied. Please paste this link to share this article on your social media post.
Hi Josh,
The error you have states that the EWS Server does not support alarm polling. Can you check if the EWS Server you have configured in SmartConnector has GetAlarmEvents and GetUpdatedAlarmEvents enabled under 'SupportedMethods' (Similar to how you checked the hashing algorithms).
Also, check if your hardware folder to see if any objects are available.
Regards,
-Jeff
Posted: 2017-02-16 11:42 AM
Link copied. Please paste this link to share this article on your social media post.
It turns out I do have items in the the Hardware folder (CurrentConditions and Forecast), and they do seem to have values.
I was expecting to see these directly under the Interface I had created. Are they not there simply because they're in alarm?
Link copied. Please paste this link to share this article on your social media post.
The way that SBO handles EWS servers is that the EWS Interface that you create is really just a "Proxy" to the objects that actually in the server. In order to see the objects in the EWS Interface you created, you must first go navigate to the Hardware folder like in the screenshot above, right click on the objects/ or folders you want to use in SBO and select "Host EWS objects". This will effectively create these objects in your EWS interface for use in trends, alarms, programs etc.. You can either host whole folders of objects, or host individual objects depending on which object you right click when selecting "Host EWS objects."
That said, if there are any Alarm Events. Those will ALWAYS be brought into SBO and shown in the Alarm view. Typically when hosting a SmartConnector EWS server, you will not see the error you did unless the EWS Server in SmartConnector is configured not to support GetAlarmEvents or GetUpdatedAlarmEvents. If this is the case (You don't want it to support these methods), you can stop this error from occuring in SBO, by looking at the properties of your EWS Interface, and setting "Alarm Polling" to disabled.
Regards,
-Jeff
Posted: 2017-02-16 12:06 PM
Link copied. Please paste this link to share this article on your social media post.
thanks, that seems to have gotten me back on track. I was just making sure I could bring in the custom EWS from the SmartConnector tutorial. I think they were disabling alarms for the sake of example.
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.