[jboss-jira] [JBoss JIRA] (DROOLS-932) kie-server POST fails with org.kie.server.api.marshalling.MarshallingException: Can't marshall input object:
Chris Wang (JIRA)
issues at jboss.org
Sat Oct 3 11:04:00 EDT 2015
[ https://issues.jboss.org/browse/DROOLS-932?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13114798#comment-13114798 ]
Chris Wang edited comment on DROOLS-932 at 10/3/15 11:04 AM:
-------------------------------------------------------------
to reproduce the error is as below:
I created some data items, one of them like:
package jzt.demos.pricerules.entities;
/**
* This class was automatically generated by the data modeler tool.
*/
public class SalesRuleQuery implements java.io.Serializable
{
static final long serialVersionUID = 1L;
private java.lang.String customerId;
private java.lang.String customerName;
private java.lang.String customerType;
private java.lang.String customerTypeName;
private java.lang.String branchId;
private java.util.List<jzt.demos.pricerules.entities.ProductQuery> productQueries;
public SalesRuleQuery()
{
}
public java.lang.String getCustomerId()
{
return this.customerId;
}
public void setCustomerId(java.lang.String customerId)
{
this.customerId = customerId;
}
public java.lang.String getCustomerName()
{
return this.customerName;
}
public void setCustomerName(java.lang.String customerName)
{
this.customerName = customerName;
}
public java.lang.String getCustomerType()
{
return this.customerType;
}
public void setCustomerType(java.lang.String customerType)
{
this.customerType = customerType;
}
public java.lang.String getCustomerTypeName()
{
return this.customerTypeName;
}
public void setCustomerTypeName(java.lang.String customerTypeName)
{
this.customerTypeName = customerTypeName;
}
public java.lang.String getBranchId()
{
return this.branchId;
}
public void setBranchId(java.lang.String branchId)
{
this.branchId = branchId;
}
public java.util.List<jzt.demos.pricerules.entities.ProductQuery> getProductQueries()
{
return this.productQueries;
}
public void setProductQueries(
java.util.List<jzt.demos.pricerules.entities.ProductQuery> productQueries)
{
this.productQueries = productQueries;
}
public SalesRuleQuery(
java.lang.String customerId,
java.lang.String customerName,
java.lang.String customerType,
java.lang.String customerTypeName,
java.lang.String branchId,
java.util.List<jzt.demos.pricerules.entities.ProductQuery> productQueries)
{
this.customerId = customerId;
this.customerName = customerName;
this.customerType = customerType;
this.customerTypeName = customerTypeName;
this.branchId = branchId;
this.productQueries = productQueries;
}
}
the request was sent from soapUI:
<batch-execution lookup="session-state">
<insert out-identifier="message" return-object="true">
<jzt.demos.pricerules.entities.SalesRuleQuery>
<branchId>FDG</branchId>
<customerId>DWI32467639</customerId>
<customerName>blabla</customerName>
<customerType>2</customerType>
</jzt.demos.pricerules.entities.SalesRuleQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00023332</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00073247</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00077303</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00026598</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00096300</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00023505</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH01021089</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00004261</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00016295</productId>
</jzt.demos.pricerules.entities.ProductQuery>
</insert>
<fire-all-rules/>
</batch-execution>
the returned error is:
<response type="FAILURE"
msg="Error calling container jzt-demos-instance-local-server1: org.kie.server.api.marshalling.MarshallingException: Can't marshall input object: org.drools.core.runtime.impl.ExecutionResultImpl at 2d6138b2"/>
was (Author: walaqi):
to reproduce the error is as below:
I created some data items, one of them like:
package jzt.demos.pricerules.entities;
/**
* This class was automatically generated by the data modeler tool.
*/
public class SalesRuleQuery implements java.io.Serializable
{
static final long serialVersionUID = 1L;
private java.lang.String customerId;
private java.lang.String customerName;
private java.lang.String customerType;
private java.lang.String customerTypeName;
private java.lang.String branchId;
private java.util.List<jzt.demos.pricerules.entities.ProductQuery> productQueries;
public SalesRuleQuery()
{
}
public java.lang.String getCustomerId()
{
return this.customerId;
}
public void setCustomerId(java.lang.String customerId)
{
this.customerId = customerId;
}
public java.lang.String getCustomerName()
{
return this.customerName;
}
public void setCustomerName(java.lang.String customerName)
{
this.customerName = customerName;
}
public java.lang.String getCustomerType()
{
return this.customerType;
}
public void setCustomerType(java.lang.String customerType)
{
this.customerType = customerType;
}
public java.lang.String getCustomerTypeName()
{
return this.customerTypeName;
}
public void setCustomerTypeName(java.lang.String customerTypeName)
{
this.customerTypeName = customerTypeName;
}
public java.lang.String getBranchId()
{
return this.branchId;
}
public void setBranchId(java.lang.String branchId)
{
this.branchId = branchId;
}
public java.util.List<jzt.demos.pricerules.entities.ProductQuery> getProductQueries()
{
return this.productQueries;
}
public void setProductQueries(
java.util.List<jzt.demos.pricerules.entities.ProductQuery> productQueries)
{
this.productQueries = productQueries;
}
public SalesRuleQuery(
java.lang.String customerId,
java.lang.String customerName,
java.lang.String customerType,
java.lang.String customerTypeName,
java.lang.String branchId,
java.util.List<jzt.demos.pricerules.entities.ProductQuery> productQueries)
{
this.customerId = customerId;
this.customerName = customerName;
this.customerType = customerType;
this.customerTypeName = customerTypeName;
this.branchId = branchId;
this.productQueries = productQueries;
}
}
the request was sent from soapUI:
<batch-execution lookup="session-state">
<insert out-identifier="message" return-object="true">
<jzt.demos.pricerules.entities.SalesRuleQuery>
<branchId>FDG</branchId>
<customerId>DWI32467639</customerId>
<customerName>湖北德仁堂医药连锁有限责任公司</customerName>
<customerType>2</customerType>
</jzt.demos.pricerules.entities.SalesRuleQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00023332</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00073247</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00077303</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00026598</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00096300</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00023505</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH01021089</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00004261</productId>
</jzt.demos.pricerules.entities.ProductQuery>
<jzt.demos.pricerules.entities.ProductQuery>
<productId>SPH00016295</productId>
</jzt.demos.pricerules.entities.ProductQuery>
</insert>
<fire-all-rules/>
</batch-execution>
the returned error is:
<response type="FAILURE"
msg="Error calling container jzt-demos-instance-local-server1: org.kie.server.api.marshalling.MarshallingException: Can't marshall input object: org.drools.core.runtime.impl.ExecutionResultImpl at 2d6138b2"/>
> kie-server POST fails with org.kie.server.api.marshalling.MarshallingException: Can't marshall input object:
> -------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-932
> URL: https://issues.jboss.org/browse/DROOLS-932
> Project: Drools
> Issue Type: Bug
> Components: kie server
> Affects Versions: 6.3.0.Final
> Environment: kie-server 6.3.0.FINAL with JBoss EAP 6.4.0 or Widfly 8.1.0.FINAL
> Reporter: Stefano Picozzi
> Assignee: Maciej Swiderski
> Priority: Blocker
>
> The GET and PUT APIs work OK, e.g. to GET KIE-SERVER details or to PUT a new container.
> However a POST to e.g. send some facts to test actual rule reasoning fails as per this log snippet:
> 07:24:27,998 INFO [org.kie.server.services.impl.KieServerImpl] (http-/0.0.0.0:8080-1) Container watch (for release id com.redhat.demos:weightwatchers:1.0) successfully started
> 07:24:45,028 ERROR [org.kie.server.services.impl.KieContainerCommandServiceImpl] (http-/0.0.0.0:8080-1) Error calling container 'watch': org.kie.server.api.marshalling.MarshallingException: Can't marshall input object: org.drools.core.runtime.impl.ExecutionResultImpl at 3c402d4b
> at org.kie.server.api.marshalling.jaxb.JaxbMarshaller.marshall(JaxbMarshaller.java:187) [kie-server-api-6.3.0.Final.jar:6.3.0.Final]
> at org.kie.server.services.impl.KieContainerCommandServiceImpl.callContainer(KieContainerCommandServiceImpl.java:114) [kie-server-services-common-6.3.0.Final.jar:6.3.0.Final]
> at org.kie.server.remote.rest.drools.CommandResource.manageContainer(CommandResource.java:73) [kie-server-rest-drools-6.3.0.Final.jar:6.3.0.Final]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_65]
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_65]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_65]
> at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_65]
> at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:168) [resteasy-jaxrs-2.3.10.Final-redhat-1.jar:]
> at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269) [resteasy-jaxrs-2.3.10.Final-redhat-1.jar:]
> at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227) [resteasy-jaxrs-2.3.10.Final-redhat-1.jar:]
> at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216) [resteasy-jaxrs-2.3.10.Final-redhat-1.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:541) [resteasy-jaxrs-2.3.10.Final-redhat-1.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:523) [resteasy-jaxrs-2.3.10.Final-redhat-1.jar:]
> at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:125) [resteasy-jaxrs-2.3.10.Final-redhat-1.jar:]
> at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208) [resteasy-jaxrs-2.3.10.Final-redhat-1.jar:]
> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) [resteasy-jaxrs-2.3.10.Final-redhat-1.jar:]
> at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) [resteasy-jaxrs-2.3.10.Final-redhat-1.jar:]
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-2.jar:1.0.2.Final-redhat-2]
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:512) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.5.0.Final-redhat-21.jar:7.5.0.Final-redhat-21]
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:400) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) [jbossweb-7.5.7.Final-redhat-1.jar:7.5.7.Final-redhat-1]
> at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_65]
> Caused by: javax.xml.bind.MarshalException
> - with linked exception:
> [com.sun.istack.SAXException2: class org.drools.core.runtime.rule.impl.FlatQueryResults nor any of its super class is known to this context.
> javax.xml.bind.JAXBException: class org.drools.core.runtime.rule.impl.FlatQueryResults nor any of its super class is known to this context.]
> at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:326) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:251) [jaxb-impl-2.2.11.jar:2.2.11]
> at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:95) [jboss-jaxb-api_2.2_spec-1.0.4.Final-redhat-3.jar:1.0.4.Final-redhat-3]
> at org.kie.server.api.marshalling.jaxb.JaxbMarshaller.marshall(JaxbMarshaller.java:185) [kie-server-api-6.3.0.Final.jar:6.3.0.Final]
> ... 32 more
> Caused by: com.sun.istack.SAXException2: class org.drools.core.runtime.rule.impl.FlatQueryResults nor any of its super class is known to this context.
> javax.xml.bind.JAXBException: class org.drools.core.runtime.rule.impl.FlatQueryResults nor any of its super class is known to this context.
> at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:247) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:262) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:653) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:158) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:360) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.ArrayBeanInfoImpl.serializeBody(ArrayBeanInfoImpl.java:142) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:696) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:158) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeBody(ClassBeanInfoImpl.java:360) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:593) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:341) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323) [jaxb-impl-2.2.11.jar:2.2.11]
> ... 35 more
> Caused by: javax.xml.bind.JAXBException: class org.drools.core.runtime.rule.impl.FlatQueryResults nor any of its super class is known to this context.
> at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:582) [jaxb-impl-2.2.11.jar:2.2.11]
> at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:648) [jaxb-impl-2.2.11.jar:2.2.11]
> ... 46 more
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list