CMDBuild Forum

Error to create new relation via REST

Hello, I'm trying to create a relation with REST API but I get a error.

¿Can anyone help me? I need an example of correct request.

 

My request:

POST: http://<server>/cmdbuild/services/rest/v1/domains/AssignmentRelationship/relations

Payload:

{
"data":{
"_sourceType": "BusinessRole",
"_sourceId": 12075,
"_destinationType": "BusinessActor",
"_destinationId": 12072,
"DefaultGroup" : "false"
}
}

I have created two classes: BusinessRole and BusinessActor, and one domain: AssignmentRelationship.

 

ERROR:

ERROR 2015-03-21 20:02:12 [org.cmdbuild.service.rest.logging] unhandled exception
java.lang.IllegalArgumentException: from clause must be for classes only
    at org.apache.commons.lang3.Validate.isTrue(Validate.java:155)
    at org.cmdbuild.dao.query.clause.from.ClassFromClause.<init>(ClassFromClause.java:17)
    at org.cmdbuild.dao.query.QuerySpecsBuilderImpl.createFromClause(QuerySpecsBuilderImpl.java:500)
    at org.cmdbuild.dao.query.QuerySpecsBuilderImpl.build(QuerySpecsBuilderImpl.java:434)
    at org.cmdbuild.dao.query.QuerySpecsBuilderImpl.build(QuerySpecsBuilderImpl.java:67)
    at org.cmdbuild.dao.view.user.UserQuerySpecsBuilder.build(UserQuerySpecsBuilder.java:138)
    at org.cmdbuild.dao.view.user.UserQuerySpecsBuilder.run(UserQuerySpecsBuilder.java:143)
    at org.cmdbuild.logic.data.access.DefaultDataAccessLogic.cardOf(DefaultDataAccessLogic.java:1166)
    at org.cmdbuild.logic.data.access.DefaultDataAccessLogic.retrieveParentCard(DefaultDataAccessLogic.java:950)
    at org.cmdbuild.logic.data.access.DefaultDataAccessLogic.createRelations(DefaultDataAccessLogic.java:923)
    at org.cmdbuild.service.rest.cxf.CxfRelations.create(CxfRelations.java:159)
    at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.cmdbuild.common.reflect.AnnouncingInvocationHandler.invoke(AnnouncingInvocationHandler.java:31)
    at com.sun.proxy.$Proxy144.create(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor181.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy21.create(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor182.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
    at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:165)
    at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:89)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
    at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:237)
    at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:239)
    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:213)
    at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:131)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:266)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:186)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:242)
    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:158)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
    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:48)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
    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:52)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
    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:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:745)
WARN  2015-03-21 20:02:12 [org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper] javax.ws.rs.WebApplicationException: java.lang.IllegalArgumentException: from clause must be for classes only
    at org.cmdbuild.service.rest.cxf.WebApplicationExceptionErrorHandler.propagate(WebApplicationExceptionErrorHandler.java:145)
    at org.cmdbuild.service.rest.cxf.CxfRelations.create(CxfRelations.java:164)
    at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.cmdbuild.common.reflect.AnnouncingInvocationHandler.invoke(AnnouncingInvocationHandler.java:31)
    at com.sun.proxy.$Proxy144.create(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor181.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at com.sun.proxy.$Proxy21.create(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor182.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
    at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:165)
    at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:89)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
    at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:237)
    at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:239)
    at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:213)
    at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:131)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:266)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:186)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
    at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:242)
    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:158)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
    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:48)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
    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:52)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
    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:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalArgumentException: from clause must be for classes only
    at org.apache.commons.lang3.Validate.isTrue(Validate.java:155)
    at org.cmdbuild.dao.query.clause.from.ClassFromClause.<init>(ClassFromClause.java:17)
    at org.cmdbuild.dao.query.QuerySpecsBuilderImpl.createFromClause(QuerySpecsBuilderImpl.java:500)
    at org.cmdbuild.dao.query.QuerySpecsBuilderImpl.build(QuerySpecsBuilderImpl.java:434)
    at org.cmdbuild.dao.query.QuerySpecsBuilderImpl.build(QuerySpecsBuilderImpl.java:67)
    at org.cmdbuild.dao.view.user.UserQuerySpecsBuilder.build(UserQuerySpecsBuilder.java:138)
    at org.cmdbuild.dao.view.user.UserQuerySpecsBuilder.run(UserQuerySpecsBuilder.java:143)
    at org.cmdbuild.logic.data.access.DefaultDataAccessLogic.cardOf(DefaultDataAccessLogic.java:1166)
    at org.cmdbuild.logic.data.access.DefaultDataAccessLogic.retrieveParentCard(DefaultDataAccessLogic.java:950)
    at org.cmdbuild.logic.data.access.DefaultDataAccessLogic.createRelations(DefaultDataAccessLogic.java:923)
    at org.cmdbuild.service.rest.cxf.CxfRelations.create(CxfRelations.java:159)
    ... 65 more

 

 

 

Thank you in advance.
Hello, 
 
Try below for payload.
{
"_sourceType": "BusinessRole",
"_sourceId": 12075,
"_destinationType": "BusinessActor",
"_destinationId": 12072,
"DefaultGroup" : "false"
}
 
I have a same problem and found it seems "data":{} is not to be added.
It may be manual's bug?
 
Previously Román wrote:

Hello, I'm trying to create a relation with REST API but I get a error.

¿Can anyone help me? I need an example of correct request.

 

Payload:

{
"data":{
"_sourceType": "BusinessRole",
"_sourceId": 12075,
"_destinationType": "BusinessActor",
"_destinationId": 12072,
"DefaultGroup" : "false"
}
}

 

Thank you,

it works!

 

Previously Tomohisa wrote:
Hello, 
 
Try below for payload.
{
"_sourceType": "BusinessRole",
"_sourceId": 12075,
"_destinationType": "BusinessActor",
"_destinationId": 12072,
"DefaultGroup" : "false"
}
 
I have a same problem and found it seems "data":{} is not to be added.
It may be manual's bug?
 
Previously Román wrote:

Hello, I'm trying to create a relation with REST API but I get a error.

¿Can anyone help me? I need an example of correct request.

 

Payload:

{
"data":{
"_sourceType": "BusinessRole",
"_sourceId": 12075,
"_destinationType": "BusinessActor",
"_destinationId": 12072,
"DefaultGroup" : "false"
}
}