I read through the blog post. Good information. When I tried calling the Compliance server I ran into an Authorization problem. The answer to my problem was in a comment added at the end of the post. which I will repeat here:
I had some problems while accessing PSDSCComplianceServer.svc service. I was getting error:
The server encountered an error processing the request. The exception message is ‘Access is denied.’. See server logs for more details. The exception stack trace is:
at System.ServiceModel.Dispatcher.AuthorizationBehavior.Authorize(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
After some digging I finally discovered that this section is missing in Compliance service web.config:
It should be added under configuration section. You can check Pull service web.config for example.
In addition, I had to set “” and which is what the Pull service web.config file has.
But this does prove that compliance information is being recorded. So I suspect that the LCM doesn’t actually call back to the Compliance service (as I thought it did), but instead the Pull service records compliance information returned by the LCM. The Compliance service must simply be an OData service used to retrieve compliance information, not record it. Is this correct?