[midPoint] Configuring SCIM / Slack connector

Keith Hazelton keith.hazelton at wisc.edu
Fri Oct 6 14:50:06 CEST 2017


Gustáv,

Thanks for the new connector config. I believe the logs show that with the new config, midPoint Test Connection errors out after getting a null result back when GETting api.slack.com/scim/v1/Schemas  (see log snippet below)

Using Postman, I confirmed that this is true—Querying for …/Schemas gives an empty response body.

Is there a way to skip that request to the Schemas endpoint?

         --Keith

2017-10-06 12:31:04,281 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): Configuring connector connector:0a71bfb2-a5ad-424f-b45b-cce972d82cbe(ConnId com.evolveum.polygon.scim.ScimConnector v1.4.4), provided configuration:
    configurationProperties:
        authentication: [ token (raw) ]
        token: [ <class MapXNode> (raw) ]
        endpoint: [ /scim (raw) ]
        version: [ /v1 (raw) ]
        baseUrl: [ https://api.slack.com (raw) ]
    resultsHandlerConfiguration:
        enableNormalizingResultsHandler: false
        enableFilteredResultsHandler: false
        filteredResultsHandlerInValidationMode: true
        enableAttributesToGetSearchResultsHandler: false
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): Configuring connector connector:0a71bfb2-a5ad-424f-b45b-cce972d82cbe(ConnId com.evolveum.polygon.scim.ScimConnector v1.4.4), transformed configuration:
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: authentication = token
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: token = org.identityconnectors.common.security.GuardedString at f26fa483
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: userName = null
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: password = null
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: clientSecret = null
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: clientID = null
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: endpoint = /scim
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: version = /v1
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: loginURL = null
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: service = null
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: baseUrl = https://api.slack.com
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: proxyUrl = null
2017-10-06 12:31:04,321 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): P: proxyPortNumber = null
2017-10-06 12:31:04,352 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): Legacy schema (config): null
2017-10-06 12:31:04,353 [] [http-nio-8080-exec-6] TRACE (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl): Connector supported operations: [interface org.identityconnectors.framework.api.operations.SearchApiOp, interface org.identityconnectors.framework.api.operations.UpdateApiOp, interface org.identityconnectors.framework.api.operations.ScriptOnConnectorApiOp, interface org.identityconnectors.framework.api.operations.CreateApiOp, interface org.identityconnectors.framework.api.operations.SchemaApiOp, interface org.identityconnectors.framework.api.operations.ValidateApiOp, interface org.identityconnectors.framework.api.operations.TestApiOp, interface org.identityconnectors.framework.api.operations.DeleteApiOp, interface org.identityconnectors.framework.api.operations.GetApiOp]

2017-10-06 12:31:04,807 [] [http-nio-8080-exec-6] WARN (com.evolveum.polygon.scim.StandardScimHandlingStrategy): method: null msg:Response string for the "schemas/" endpoint returned empty

2017-10-06 12:31:05,010 [] [http-nio-8080-exec-6] ERROR (com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnIdUtil): ConnId Exception org.json.JSONException in connector:0a71bfb2-a5ad-424f-b45b-cce972d82cbe(ConnId com.evolveum.polygon.scim.ScimConnector v1.4.4): ConnectorSpec(resource:86437f3a-661a-4135-876a-233b67256bf0(Slack), name=null, oid=0a71bfb2-a5ad-424f-b45b-cce972d82cbe): JSONArray[0] is not a JSONObject.
org.json.JSONException: JSONArray[0] is not a JSONObject.
                at org.json.JSONArray.getJSONObject(JSONArray.java:366) ~[na:na]
                at com.evolveum.polygon.scim.ParserSchemaScim.parseSchema(ParserSchemaScim.java:69) ~[na:na]
                at…




___________________________________
email & jabber: keith.hazelton at wisc.edu<mailto:keith.hazelton at wisc.edu>
calendar: http://go.wisc.edu/i6zxx0

From: midPoint <midpoint-bounces at lists.evolveum.com> on behalf of Pálos Gustáv <gustav.palos at evolveum.com>
Reply-To: "gustav.palos at evolveum.com" <gustav.palos at evolveum.com>, midPoint General Discussion <midpoint at lists.evolveum.com>
Date: Friday, October 6, 2017 at 02:05
To: midPoint General Discussion <midpoint at lists.evolveum.com>
Subject: Re: [midPoint] Configuring SCIM / Slack connector

Hi,

please try to replace yours connectorConfiguration section to this one & try test connection:
<connectorConfiguration
xmlns:icfc="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3">
<icfc:configurationProperties
xmlns:icfcp="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector">
<icfcp:authentication>token</icfcp:authentication>
<icfcp:token>
<t:clearValue>your token</t:clearValue>
</icfcp:token>
<icfcp:endpoint>/scim</icfcp:endpoint>
<icfcp:version>/v1</icfcp:version>
<icfcp:baseUrl>https://api.slack.com</icfcp:baseUrl>
</icfc:configurationProperties>
<icfc:resultsHandlerConfiguration>
<icfc:enableNormalizingResultsHandler>false</icfc:enableNormalizingResultsHandler>
<icfc:enableFilteredResultsHandler>false</icfc:enableFilteredResultsHandler>
<icfc:filteredResultsHandlerInValidationMode>true</icfc:filteredResultsHandlerInValidationMode>
<icfc:enableAttributesToGetSearchResultsHandler>false</icfc:enableAttributesToGetSearchResultsHandler>
</icfc:resultsHandlerConfiguration>
</connectorConfiguration>

Best regards,

Gustav


2017-10-06 3:22 GMT+02:00 Keith Hazelton <keith.hazelton at wisc.edu<mailto:keith.hazelton at wisc.edu>>:
Follow up on previous message:

I imported the Slack.com SSL cert into the keystore on the midPoint 3.6 host.  When I restart midPoint and re-test the connection to the Slack resource, I get the error ‘ConnectorIOException (An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)’ see details below. I have also included the configuration file for this resource.

Additional clues would be welcome.       –Keith Hazelton


---------
Connector

Communication error: IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps: Name or service not known)

Operation
Connector initialization Message
Communication error: IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps: Name or service not known)
Error
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps: Name or service not known)

show
com.evolveum.midpoint.util.exception.CommunicationException: IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps: Name or service not known)
                at com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnIdUtil.processConnIdException(ConnIdUtil.java:264)
                at com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnIdUtil.processConnIdException(ConnIdUtil.java:109)
                at com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl.retrieveResourceSchema(ConnectorInstanceConnIdImpl.java:606)
                at com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl.initialize(ConnectorInstanceConnIdImpl.java:420)
                at com.evolveum.midpoint.provisioning.impl.ConnectorManager.createConfiguredConnectorInstance(ConnectorManager.java:217)
                at com.evolveum.midpoint.provisioning.impl.ConnectorManager.getConfiguredConnectorInstance(ConnectorManager.java:176)
                at com.evolveum.midpoint.provisioning.impl.ResourceManager.testConnectionConnector(ResourceManager.java:802)
                at com.evolveum.midpoint.provisioning.impl.ResourceManager.testConnection(ResourceManager.java:697)
                at com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.testResource(ProvisioningServiceImpl.java:841)
                at com.evolveum.midpoint.model.impl.controller.ModelController.testResource(ModelController.java:1366)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:507)
                at com.sun.proxy.$Proxy162.testResource(Unknown Source)
                at com.evolveum.midpoint.web.page.admin.resources.component.TestConnectionMessagesPanel.initResultsModel(TestConnectionMessagesPanel.java:78)
                at com.evolveum.midpoint.web.page.admin.resources.component.TestConnectionMessagesPanel.<init>(TestConnectionMessagesPanel.java:67)
                at com.evolveum.midpoint.web.page.admin.resources.component.TestConnectionResultPanel$2.getLazyLoadComponent(TestConnectionResultPanel.java:79)
                at org.apache.wicket.extensions.ajax.markup.html.AjaxLazyLoadPanel$1.respond(AjaxLazyLoadPanel.java:87)
                at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:601)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
                at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
                at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:248)
                at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234)
                at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
                at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
                at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
                at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
                at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
                at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
                at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
                at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
                at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
                at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:112)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:206)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:121)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:134)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:106)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
                at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
                at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
                at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
                at com.evolveum.midpoint.web.util.MidPointProfilingServletFilter.doFilter(MidPointProfilingServletFilter.java:86)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
                at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
                at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
                at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
                at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
                at org.apache.tomcat.util.net<http://org.apache.tomcat.util.net>.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
                at org.apache.tomcat.util.net<http://org.apache.tomcat.util.net>.SocketProcessorBase.run(SocketProcessorBase.java:49)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.lang.Thread.run(Thread.java:748)

Get version (Repository)

Operation

Get version (Repository) Parameters
oid          0a71bfb2-a5ad-424f-b45b-cce972d82cbe
type        com.evolveum.midpoint.xml.ns._public.common.common_3.ConnectorType

UCF connector configuration

Operation
UCF connector configuration Parameters
configuration       PCV(null):[PC({http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3}configurationProperties):[PCV(null):[PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}authentication):[PPV([raw]<http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3%7DconfigurationProperties):%5BPCV(null):%5BPP(%7B.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector%7Dauthentication):%5BPPV(%5Braw%5D>, raw element: XNode(primitive:Token (class java.lang.String)))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}token):[PPV([raw], raw element: XNode(map:1 entries))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}password):[PPV([raw], raw element: XNode(map:1 entries))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}endpoint):[PPV([raw], raw element: XNode(primitive:https://api.slack.com/scim (class java.lang.String)))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}version):[PPV([raw], raw element: XNode(primitive:/v1 (class java.lang.String)))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}loginURL):[PPV([raw], raw element: XNode(primitive:https://slack.com/signin (class java.lang.String)))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}service):[PPV([raw], raw element: XNode(primitive:Code (class java.lang.String)))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}baseUrl):[PPV([raw], raw element: XNode(primitive:https://api.slack.com (class java.lang.String)))]]]]
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps: Name or service not known)
Operation
Connector initialization (Ucf) Message
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps: Name or service not known)
Context
Error
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps: Name or service not known)
show
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps: Name or service not known)
Operation
ICF schema Message
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps: Name or service not known)
Context
Error
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps: Name or service not known)

show
Resource

Communication error: IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps)
Operation
Resource schema Message
Communication error: IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps)
Error
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps)
show
UCF connector configuration
Operation
UCF connector configuration Parameters
configuration       PCV(null):[PC({http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3}configurationProperties):[PCV(null):[PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}authentication):[PPV([raw]<http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3%7DconfigurationProperties):%5BPCV(null):%5BPP(%7B.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector%7Dauthentication):%5BPPV(%5Braw%5D>, raw element: XNode(primitive:Token (class java.lang.String)))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}token):[PPV([raw], raw element: XNode(map:1 entries))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}password):[PPV([raw], raw element: XNode(map:1 entries))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}endpoint):[PPV([raw], raw element: XNode(primitive:https://api.slack.com/scim (class java.lang.String)))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}version):[PPV([raw], raw element: XNode(primitive:/v1 (class java.lang.String)))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}loginURL):[PPV([raw], raw element: XNode(primitive:https://slack.com/signin (class java.lang.String)))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}service):[PPV([raw], raw element: XNode(primitive:Code (class java.lang.String)))], PP({.../connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector}baseUrl):[PPV([raw], raw element: XNode(primitive:https://api.slack.com (class java.lang.String)))]]]]
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps)
Operation
Connector initialization (Ucf) Message
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps)
Context
Error
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps)
show
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps)
Operation
ICF schema Message
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps)
Context
Error
IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps)
show
com.evolveum.midpoint.util.exception.CommunicationException: IO error: org.identityconnectors.framework.common.exceptions.ConnectorIOException(An error has occurred while processing the http response. Occurrence in the process of querying the provider Schemas resource object)->java.net<http://java.net>.UnknownHostException(api.slack.comhttps)
                at com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnIdUtil.processConnIdException(ConnIdUtil.java:264)
                at com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnIdUtil.processConnIdException(ConnIdUtil.java:109)
                at com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl.retrieveResourceSchema(ConnectorInstanceConnIdImpl.java:606)
                at com.evolveum.midpoint.provisioning.ucf.impl.connid.ConnectorInstanceConnIdImpl.initialize(ConnectorInstanceConnIdImpl.java:420)
                at com.evolveum.midpoint.provisioning.impl.ConnectorManager.createConfiguredConnectorInstance(ConnectorManager.java:217)
                at com.evolveum.midpoint.provisioning.impl.ConnectorManager.getConfiguredConnectorInstance(ConnectorManager.java:176)
                at com.evolveum.midpoint.provisioning.impl.ResourceManager.fetchResourceSchema(ResourceManager.java:668)
                at com.evolveum.midpoint.provisioning.impl.ResourceManager.testConnection(ResourceManager.java:710)
                at com.evolveum.midpoint.provisioning.impl.ProvisioningServiceImpl.testResource(ProvisioningServiceImpl.java:841)
                at com.evolveum.midpoint.model.impl.controller.ModelController.testResource(ModelController.java:1366)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.wicket.proxy.LazyInitProxyFactory$JdkHandler.invoke(LazyInitProxyFactory.java:507)
                at com.sun.proxy.$Proxy162.testResource(Unknown Source)
                at com.evolveum.midpoint.web.page.admin.resources.component.TestConnectionMessagesPanel.initResultsModel(TestConnectionMessagesPanel.java:78)
                at com.evolveum.midpoint.web.page.admin.resources.component.TestConnectionMessagesPanel.<init>(TestConnectionMessagesPanel.java:67)
                at com.evolveum.midpoint.web.page.admin.resources.component.TestConnectionResultPanel$2.getLazyLoadComponent(TestConnectionResultPanel.java:79)
                at org.apache.wicket.extensions.ajax.markup.html.AjaxLazyLoadPanel$1.respond(AjaxLazyLoadPanel.java:87)
                at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:601)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258)
                at org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241)
                at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:248)
                at org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234)
                at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895)
                at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
                at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265)
                at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222)
                at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293)
                at org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261)
                at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203)
                at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:284)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
                at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
                at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:112)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:206)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:121)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
                at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.session.ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:134)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:106)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
                at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
                at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
                at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
                at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
                at com.evolveum.midpoint.web.util.MidPointProfilingServletFilter.doFilter(MidPointProfilingServletFilter.java:86)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
                at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
                at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
                at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
                at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
                at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
                at org.apache.tomcat.util.net<http://org.apache.tomcat.util.net>.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
                at org.apache.tomcat.util.net<http://org.apache.tomcat.util.net>.SocketProcessorBase.run(SocketProcessorBase.java:49)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
                at java.lang.Thread.run(Thread.java:748)
OK

<resource xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
          xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"
          xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
          xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3"
          xmlns:org="http://midpoint.evolveum.com/xml/ns/public/common/org-3"
          xmlns:icfs="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/resource-schema-3"
          xmlns:ri="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3"
          oid="86437f3a-661a-4135-876a-233b67256bf0"
          version="7">
   <name>Slack</name>
   <description>Slack Accounts</description>
   <metadata>
      <modifyTimestamp>2017-09-30T00:29:59.980Z</modifyTimestamp>
      <modifierRef xmlns:tns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
                   oid="4f46545a-b0e6-4ddd-a3a2-bf0322389577"
                   relation="org:default"
                   type="tns:UserType"/>
      <modifyChannel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</modifyChannel>
   </metadata>
   <operationExecution id="1">
      <timestamp>2017-09-28T22:46:26.359Z</timestamp>
      <operation>
         <objectDelta>
            <t:changeType>modify</t:changeType>
            <t:objectType>c:ResourceType</t:objectType>
         </objectDelta>
         <executionResult>
            <operation>com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta</operation>
            <status>success</status>
            <token>1000000000000027617</token>
         </executionResult>
         <objectName>Slack</objectName>
      </operation>
      <status>success</status>
      <initiatorRef oid="4f46545a-b0e6-4ddd-a3a2-bf0322389577"
                    relation="org:default"
                    type="c:UserType"/>
      <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</channel>
   </operationExecution>
   <operationExecution id="2">
      <timestamp>2017-09-29T10:27:59.227Z</timestamp>
      <operation>
         <objectDelta>
            <t:changeType>modify</t:changeType>
            <t:objectType>c:ResourceType</t:objectType>
         </objectDelta>
         <executionResult>
            <operation>com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta</operation>
            <status>success</status>
            <token>1000000000000029482</token>
         </executionResult>
         <objectName>Slack</objectName>
      </operation>
      <status>success</status>
      <initiatorRef oid="4f46545a-b0e6-4ddd-a3a2-bf0322389577"
                    relation="org:default"
                    type="c:UserType"/>
      <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</channel>
   </operationExecution>
   <operationExecution id="3">
      <timestamp>2017-09-30T00:30:00.111Z</timestamp>
      <operation>
         <objectDelta>
            <t:changeType>modify</t:changeType>
            <t:objectType>c:ResourceType</t:objectType>
         </objectDelta>
         <executionResult>
            <operation>com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta</operation>
            <status>success</status>
            <token>1000000000000000423</token>
         </executionResult>
         <objectName>Slack</objectName>
      </operation>
      <status>success</status>
      <initiatorRef oid="4f46545a-b0e6-4ddd-a3a2-bf0322389577"
                    relation="org:default"
                    type="c:UserType"/>
      <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</channel>
   </operationExecution>
   <operationalState>
      <lastAvailabilityStatus>broken</lastAvailabilityStatus>
   </operationalState>
   <connectorRef oid="0a71bfb2-a5ad-424f-b45b-cce972d82cbe"
                 relation="org:default"
                 type="c:ConnectorType"/>
   <connectorConfiguration xmlns:icfc="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3">
      <icfc:configurationProperties xmlns:gen104="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector">
         <gen104:authentication>Token</gen104:authentication>
         <gen104:token>
            <t:encryptedData>
               <t:encryptionMethod>
                  <t:algorithm>http://www.w3.org/2001/04/xmlenc#aes256-cbc</t:algorithm>
               </t:encryptionMethod>
               <t:keyInfo>
                  <t:keyName>kI2lzKlkkV52NVziiHvxPlzAL6s=</t:keyName>
               </t:keyInfo>
               <t:cipherData>
                  <t:cipherValue>VGQrDhbDlopwh8lyb2jbk5d4tpPwj0rcBsxx8Ocm6upSbLOgG3m8u8TxxWBDC0vy8ZqtXrY4oHyf9leEF1vtKXVsWsELM1Sb8sTzRQPLTw4jCHZ21It0DaFs4T4wmKPC</t:cipherValue>
               </t:cipherData>
            </t:encryptedData>
         </gen104:token>
         <gen104:password>
            <t:encryptedData>
               <t:encryptionMethod>
                  <t:algorithm>http://www.w3.org/2001/04/xmlenc#aes256-cbc</t:algorithm>
               </t:encryptionMethod>
               <t:keyInfo>
                  <t:keyName>kI2lzKlkkV52NVziiHvxPlzAL6s=</t:keyName>
               </t:keyInfo>
               <t:cipherData>
                  <t:cipherValue>iJt9pEEUJmpdM4c7Z1WK7xxKWlb5x9fvzso6JM8zMZA=</t:cipherValue>
               </t:cipherData>
            </t:encryptedData>
         </gen104:password>
         <gen104:endpoint>https://api.slack.com/scim</gen104:endpoint>
         <gen104:version>/v1</gen104:version>
         <gen104:loginURL>https://slack.com/signin</gen104:loginURL>
         <gen104:service>Code</gen104:service>
         <gen104:baseUrl>https://api.slack.com</gen104:baseUrl>
      </icfc:configurationProperties>
   </connectorConfiguration>
</resource>
___________________________________
email & jabber: keith.hazelton at wisc.edu<mailto:keith.hazelton at wisc.edu>
calendar: http://go.wisc.edu/i6zxx0

From: midPoint <midpoint-bounces at lists.evolveum.com<mailto:midpoint-bounces at lists.evolveum.com>> on behalf of Matus Macik <matus.macik at evolveum.com<mailto:matus.macik at evolveum.com>>
Reply-To: midPoint General Discussion <midpoint at lists.evolveum.com<mailto:midpoint at lists.evolveum.com>>
Date: Friday, September 29, 2017 at 08:43
To: midPoint General Discussion <midpoint at lists.evolveum.com<mailto:midpoint at lists.evolveum.com>>
Subject: Re: [midPoint] Configuring SCIM / Slack connector

Hello Keith,

Did you follow the configuration section of the connectors wiki page? https://wiki.evolveum.com/display/midPoint/SCIM+v1+Slack+connector
There are multiple fields which are dedicated for using the SCIM connector to connect to some other types of resource (which speaks SCIM) (i.e. SalesForce). You just need to use the ones required by slack. Yet it looks like you found a place where some better error handling would come to use. I will fix it in the next iteration.

Best regards,

Matus Macik | Developer and Identity Management Engineer
matus.macik at evolveum.com<mailto:matus.macik at evolveum.com> | www.evolveum.com<http://www.evolveum.com>
Evolveum

From: Keith Hazelton<mailto:keith.hazelton at wisc.edu>
Sent: Friday, September 29, 2017 1:08 PM
To: midPoint General Discussion<mailto:midpoint at lists.evolveum.com>
Subject: [midPoint] Configuring SCIM / Slack connector

I get an error on ‘Test Connection’ after configuring the midPoint SCIM connector (v 1.4.4) for Slack.com

Using Postman I can successfully access the SCIM endpoint at Slack with my assigned bearer token:

GET   https://api.slack.com/scim/v1/Schemas/Groups

Authorization header: xoxp-…… {the token value for my Slack account}
Accept header:  application/json

The response code from Postman is 200

The top of the response body is

{
    "name": "Group",
    "description": "Core Group",
    "schema": "urn:scim:schemas:core:1.0",
"endpoint": "/Groups",
    "attributes": [
        {
            "name": "id",
            "type": "string",
            "multiValued": false,
…

On ‘Test connection’ in the Resource section of the midPoint (3.6) UI, I get the ‘UnknownHostException’ error messages shown belo:

Error! Filename not specified.

Here are the sanitized contents of the current configuration file for this midPoint connector:

<resource xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
          xmlns:q="http://prism.evolveum.com/xml/ns/public/query-3"
          xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
          xmlns:t="http://prism.evolveum.com/xml/ns/public/types-3"
          xmlns:org="http://midpoint.evolveum.com/xml/ns/public/common/org-3"
          xmlns:icfs="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/resource-schema-3"
          xmlns:ri="http://midpoint.evolveum.com/xml/ns/public/resource/instance-3"
          oid="86437f3a-661a-4135-876a-233b67256bf0"
          version="5">

   <name>Slack</name>
   <description>Slack Accounts</description>

   <metadata>
      <modifyTimestamp>2017-09-29T10:27:59.189Z</modifyTimestamp>
      <modifierRef xmlns:tns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
                   oid="4f46545a-b0e6-4ddd-a3a2-bf0322389577"
                   relation="org:default"
                   type="tns:UserType"/>
      <modifyChannel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</modifyChannel>
   </metadata>

   <operationExecution id="1">
      <timestamp>2017-09-28T22:46:26.359Z</timestamp>
      <operation>
         <objectDelta>
            <t:changeType>modify</t:changeType>
            <t:objectType>c:ResourceType</t:objectType>
         </objectDelta>
         <executionResult>
            <operation>com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta</operation>
            <status>success</status>
            <token>1000000000000027617</token>
         </executionResult>
         <objectName>Slack</objectName>
      </operation>
      <status>success</status>
      <initiatorRef oid="4f46545a-b0e6-4ddd-a3a2-bf0322389577"
                    relation="org:default"
                    type="c:UserType"/>
      <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</channel>
   </operationExecution>

   <operationExecution id="2">
      <timestamp>2017-09-29T10:27:59.227Z</timestamp>
      <operation>
         <objectDelta>
            <t:changeType>modify</t:changeType>
            <t:objectType>c:ResourceType</t:objectType>
         </objectDelta>
         <executionResult>
            <operation>com.evolveum.midpoint.model.impl.lens.ChangeExecutor.executeDelta</operation>
            <status>success</status>
            <token>1000000000000029482</token>
         </executionResult>
         <objectName>Slack</objectName>
      </operation>
      <status>success</status>
      <initiatorRef oid="4f46545a-b0e6-4ddd-a3a2-bf0322389577"
                    relation="org:default"
                    type="c:UserType"/>
      <channel>http://midpoint.evolveum.com/xml/ns/public/gui/channels-3#user</channel>
   </operationExecution>

   <operationalState>
      <lastAvailabilityStatus>broken</lastAvailabilityStatus>
   </operationalState>

   <connectorRef oid="0a71bfb2-a5ad-424f-b45b-cce972d82cbe"
                 relation="org:default"
                 type="c:ConnectorType"/>
   <connectorConfiguration xmlns:icfc="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/connector-schema-3">
<icfc:configurationProperties xmlns:gen935="http://midpoint.evolveum.com/xml/ns/public/connector/icf-1/bundle/com.evolveum.polygon.scim.connector-scim/com.evolveum.polygon.scim.ScimConnector">

         <gen935:authentication>Token</gen935:authentication>
         <gen935:token>
            <t:encryptedData>
               <t:encryptionMethod>
                  <t:algorithm>http://www.w3.org/2001/04/xmlenc#aes256-cbc</t:algorithm>
               </t:encryptionMethod>
               <t:keyInfo>
                  <t:keyName>kI2lzKlkkV52NVziiHvxPlzAL6s=</t:keyName>
               </t:keyInfo>
               <t:cipherData>
                  <t:cipherValue>VGQr…mKPC</t:cipherValue>
               </t:cipherData>
            </t:encryptedData>
         </gen935:token>

         <gen935:userName>khazelton</gen935:userName>
         <gen935:password>
            <t:encryptedData>
               <t:encryptionMethod>
                  <t:algorithm>http://www.w3.org/2001/04/xmlenc#aes256-cbc</t:algorithm>
               </t:encryptionMethod>
               <t:keyInfo>
                  <t:keyName>kI2lzKlkkV52NVziiHvxPlzAL6s=</t:keyName>
               </t:keyInfo>
               <t:cipherData>
                  <t:cipherValue>iJt9p…MZA=</t:cipherValue>
               </t:cipherData>
            </t:encryptedData>
         </gen935:password>

         <gen935:endpoint>https://api.slack.com/scim</gen935:endpoint>
         <gen935:version>/v1</gen935:version>
         <gen935:loginURL>https://slack.com/signin</gen935:loginURL>
         <gen935:service>Code</gen935:service>
         <gen935:baseUrl>https://api.slack.com</gen935:baseUrl>

      </icfc:configurationProperties>
   </connectorConfiguration>
</resource>

I’m not sure why the username and password are needed for this connector since the Slack API uses a bearer token security scheme.

       Appreciate any hints on where I’m wrong,    --Keith Hazelton
___________________________________
email & jabber: keith.hazelton at wisc.edu<mailto:keith.hazelton at wisc.edu>
calendar: http://go.wisc.edu/i6zxx0


[https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif]<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=icon>

Virus-free. www.avast.com<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=link>



_______________________________________________
midPoint mailing list
midPoint at lists.evolveum.com<mailto:midPoint at lists.evolveum.com>
http://lists.evolveum.com/mailman/listinfo/midpoint



--
Gustáv Pálos
Identity Engineer
evolveum.com<http://evolveum.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20171006/0421f39b/attachment.htm>


More information about the midPoint mailing list