CMDBuild Forum

Re: Sincronizzazione OCS

Buongiorno,

sto lavorando all'integrazione tra cmdbuild e OCS inventory ma non riesco a completare la procedura di installazione. In particolare quando lancio il jar da riga di comando ottengo l'errore AUTH_MULTIPLE_GROUPS. A prima vista il problema sembrerebbe legato al webservice di cmdbuild.

Di seguito riporto alcuni logs che potrebbero essere utili alla risoluzione del problema

 

ExternalConnector.log

>>> Program Started  - version (ExternalConnector 1.3.1 - 11/03/2011)<<<
Parsing XML file [.\conf\configuration.xml]
Ended to read configuration file
Reading the transform file.
Parsing XML file [.\conf\cmdbuild-schema.xml]
Total objects to check: 2
Reading card nr. 1 - Code: NA
keyNode name is: devicewith id:1
AxisFault while calling CMDBuild webservice
AUTH_MULTIPLE_GROUPS
Reading card nr. 2 - Code: NA
keyNode name is: devicewith id:2
AxisFault while calling CMDBuild webservice
AUTH_MULTIPLE_GROUPS
>>> Program Terminated <<<

 

cmdbuild-schema.xml

<?xml version="1.0"?>
<CMDBUILD>
 <Computer>
        <Code/>       
        <Description/>
        <NumeroDiSerie/>
        <RAM/>
 </Computer>
</CMDBUILD>

 

transform.xml

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
  <xsl:template match="/">
    <CMDBUILD>
      <xsl:apply-templates/>
    </CMDBUILD>
  </xsl:template>
  <xsl:template match="*">
   <xsl:apply-templates/>
  </xsl:template>
  <xsl:template match="text()"></xsl:template>
  <xsl:template match="/inventory/device">
    <Computer key="Code">
      <Code>
        <xsl:value-of select="/inventory/device/TAG"/>
      </Code>
 <Description>
         <xsl:value-of select="NAME"/>
      </Description>
      <RAM>
        <xsl:value-of select="sum(/inventory/memory/CAPACITY)"/>
      </RAM>
    </Computer>
  </xsl:template>
  <xsl:template match="/CMDBUILD/Computer">
    <Computer key="Code">
      <xsl:attribute name="objid">
        <xsl:value-of select="./@objid"/>
      </xsl:attribute>
      <Code>
        <xsl:value-of select="./Code"/>
      </Code>
      <Description>
         <xsl:value-of select="./Description"/>
      </Description>
      <RAM>
        <xsl:value-of select="./RAM"/>
      </RAM>
    </Computer>
  </xsl:template>
</xsl:stylesheet>

 

cmdbuild.log

WARN  2011-04-07 12:53:25 [org.apache.cxf.phase.PhaseInterceptorChain] Application {http://soap.services.cmdbuild.org}WebservicesImplService#{http://soap.services.cmdbuild.org}getCardList has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: AUTH_MULTIPLE_GROUPS
 at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:155)
 at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:86)
 at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:121)
 at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:60)
 at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
 at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
 at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
 at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
 at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:111)
 at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
 at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:431)
 at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:147)
 at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
 at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
 at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
 at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.cmdbuild.filters.AuthFilter.doFilter(AuthFilter.java:54)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.cmdbuild.filters.PatchManagerFilter.doFilter(PatchManagerFilter.java:28)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.cmdbuild.filters.ConfCheckFilter.doFilter(ConfCheckFilter.java:31)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.cmdbuild.filters.TranslationFilter.doFilter(TranslationFilter.java:37)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
 at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
 at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
 at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
 at java.lang.Thread.run(Thread.java:619)
Caused by: org.cmdbuild.exception.AuthException: AUTH_MULTIPLE_GROUPS
 at org.cmdbuild.exception.AuthException$AuthExceptionType.createException(AuthException.java:23)
 at org.cmdbuild.services.auth.UserContext.assureNotNullDefaultGroup(UserContext.java:131)
 at org.cmdbuild.services.auth.UserContext.getDefaultGroup(UserContext.java:117)
 at org.cmdbuild.services.auth.AuthInfo.checkOrSetDefaultGroup(AuthInfo.java:92)
 at org.cmdbuild.services.auth.AuthenticationService.getWSUserContext(AuthenticationService.java:86)
 at org.cmdbuild.services.soap.WebservicesImpl.getUserCtx(WebservicesImpl.java:46)
 at org.cmdbuild.services.soap.WebservicesImpl.getCardList(WebservicesImpl.java:50)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
 at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
 ... 42 more

 

Grazie in anticipo per qualunque informazione in merito

 

Cordiali Saluti

Paolo

 

Ciao,

non so se hai già risolto il problema. Io avevo lo stesso problema e dalla motivazione (AUTH_MULTIPLE_GROUPS) credo di aver capito che l'utente col quale il ExternalConnector.jar si connette a CMDBuild deve appartenere ad un solo gruppo. Visto che di default nel file configuration.xml è usato l'utente admin (che appartiene ai 3 gruppi base), ho creato un utente ocs che appartiene solo al gruppo SuperUser e ho usato quello nel configuration.xml.

Solo così il processo è realmente partito. Ora sto verificando che effettivamente importi gli oggetti.

 

Pietro

 

Previously paolo wrote:

Buongiorno,

sto lavorando all'integrazione tra cmdbuild e OCS inventory ma non riesco a completare la procedura di installazione. In particolare quando lancio il jar da riga di comando ottengo l'errore AUTH_MULTIPLE_GROUPS. A prima vista il problema sembrerebbe legato al webservice di cmdbuild.

Di seguito riporto alcuni logs che potrebbero essere utili alla risoluzione del problema

 

ExternalConnector.log

>>> Program Started  - version (ExternalConnector 1.3.1 - 11/03/2011)<<<
Parsing XML file [.\conf\configuration.xml]
Ended to read configuration file
Reading the transform file.
Parsing XML file [.\conf\cmdbuild-schema.xml]
Total objects to check: 2
Reading card nr. 1 - Code: NA
keyNode name is: devicewith id:1
AxisFault while calling CMDBuild webservice
AUTH_MULTIPLE_GROUPS
Reading card nr. 2 - Code: NA
keyNode name is: devicewith id:2
AxisFault while calling CMDBuild webservice
AUTH_MULTIPLE_GROUPS
>>> Program Terminated <<<

 

cmdbuild-schema.xml

<?xml version="1.0"?>
<CMDBUILD>
 <Computer>
        <Code/>       
        <Description/>
        <NumeroDiSerie/>
        <RAM/>
 </Computer>
</CMDBUILD>

 

transform.xml

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
  <xsl:template match="/">
    <CMDBUILD>
      <xsl:apply-templates/>
    </CMDBUILD>
  </xsl:template>
  <xsl:template match="*">
   <xsl:apply-templates/>
  </xsl:template>
  <xsl:template match="text()"></xsl:template>
  <xsl:template match="/inventory/device">
    <Computer key="Code">
      <Code>
        <xsl:value-of select="/inventory/device/TAG"/>
      </Code>
 <Description>
         <xsl:value-of select="NAME"/>
      </Description>
      <RAM>
        <xsl:value-of select="sum(/inventory/memory/CAPACITY)"/>
      </RAM>
    </Computer>
  </xsl:template>
  <xsl:template match="/CMDBUILD/Computer">
    <Computer key="Code">
      <xsl:attribute name="objid">
        <xsl:value-of select="./@objid"/>
      </xsl:attribute>
      <Code>
        <xsl:value-of select="./Code"/>
      </Code>
      <Description>
         <xsl:value-of select="./Description"/>
      </Description>
      <RAM>
        <xsl:value-of select="./RAM"/>
      </RAM>
    </Computer>
  </xsl:template>
</xsl:stylesheet>

 

cmdbuild.log

WARN  2011-04-07 12:53:25 [org.apache.cxf.phase.PhaseInterceptorChain] Application {http://soap.services.cmdbuild.org}WebservicesImplService#{http://soap.services.cmdbuild.org}getCardList has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: AUTH_MULTIPLE_GROUPS
 at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:155)
 at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:86)
 at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:121)
 at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:60)
 at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
 at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
 at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
 at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
 at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:111)
 at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
 at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:431)
 at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:147)
 at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148)
 at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
 at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
 at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.cmdbuild.filters.AuthFilter.doFilter(AuthFilter.java:54)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.cmdbuild.filters.PatchManagerFilter.doFilter(PatchManagerFilter.java:28)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.cmdbuild.filters.ConfCheckFilter.doFilter(ConfCheckFilter.java:31)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.cmdbuild.filters.TranslationFilter.doFilter(TranslationFilter.java:37)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
 at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
 at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
 at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)
 at java.lang.Thread.run(Thread.java:619)
Caused by: org.cmdbuild.exception.AuthException: AUTH_MULTIPLE_GROUPS
 at org.cmdbuild.exception.AuthException$AuthExceptionType.createException(AuthException.java:23)
 at org.cmdbuild.services.auth.UserContext.assureNotNullDefaultGroup(UserContext.java:131)
 at org.cmdbuild.services.auth.UserContext.getDefaultGroup(UserContext.java:117)
 at org.cmdbuild.services.auth.AuthInfo.checkOrSetDefaultGroup(AuthInfo.java:92)
 at org.cmdbuild.services.auth.AuthenticationService.getWSUserContext(AuthenticationService.java:86)
 at org.cmdbuild.services.soap.WebservicesImpl.getUserCtx(WebservicesImpl.java:46)
 at org.cmdbuild.services.soap.WebservicesImpl.getCardList(WebservicesImpl.java:50)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173)
 at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89)
 ... 42 more

 

Grazie in anticipo per qualunque informazione in merito

 

Cordiali Saluti

Paolo