欢迎使用普元产品知识库,本知识库包含普元应用开发平台EOSPlatform,流程平台BPS,企业服务总线ESB,微服务平台Microservice,运维管理平台Devops,数据集成平台DI

页面树结构

欢迎使用普元文档库

Skip to end of metadata
Go to start of metadata

答案:因为你采用的是懒加载,所以默认的时候数据是没有查询出来的,在进行序列化的操作的时候就会报异常,需要你在逻辑流中显示的去调用一下查询子对象的数据(比如expandEntity等),就没有问题了

问题描述:

在下图中,设置一对多实体时,关联实体采用懒加载方式,用SOAPUI调用一个查询数据(使用的是模版查询构件)的服务,会报懒加载错误,如果不使用懒加载,选择true选项,则不会报错,这是什么原因呢?另外,单独debug逻辑流都是没有问题的,只有发布为服务时,采用懒加载,逻辑流结束,返回参数的时候,才会报错。

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server</faultcode>
         <faultstring>org.apache.tuscany.sca.databinding.TransformationException: ErrCode: 20200005
Message: NULL</faultstring>
         <detail>
            <Exception>org.apache.axis2.AxisFault: org.apache.tuscany.sca.databinding.TransformationException: ErrCode: 20200005
Message: NULL
 at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
 at org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInOutSyncMessageReceiver.invokeBusinessLogic(Axis2ServiceInOutSyncMessageReceiver.java:170)
 at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.invokeBusinessLogic(AbstractInOutSyncMessageReceiver.java:42)
 at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
 at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
 at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
 at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 at com.primeton.sca.host.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:102)
 at com.primeton.sca.host.webapp.SCAWebServiceServletFilter.doIntercept(SCAWebServiceServletFilter.java:113)
 at com.primeton.access.http.impl.WebInterceptorChainImpl.doIntercept(WebInterceptorChainImpl.java:78)
 at com.eos.access.http.InterceptorFilter.doFilter(InterceptorFilter.java:176)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
 at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
 at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
 at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
 at java.lang.Thread.run(Thread.java:595)
Caused by: org.osoa.sca.ServiceRuntimeException: org.apache.tuscany.sca.databinding.TransformationException: ErrCode: 20200005
Message: NULL
 at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:119)
 at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:85)
 at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:79)
 at org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.invoke(RuntimeWireImpl.java:138)
 at org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider.invokeTarget(Axis2ServiceProvider.java:697)
 at org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInOutSyncMessageReceiver.invokeBusinessLogic(Axis2ServiceInOutSyncMessageReceiver.java:91)
 ... 25 more
Caused by: org.apache.tuscany.sca.databinding.TransformationException: ErrCode: 20200005
Message: NULL
 at com.primeton.sca.transformer.Output2OutputTransformer.transform(Output2OutputTransformer.java:280)
 at org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:81)
 at org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.transform(DataTransformationInterceptor.java:200)
 at org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:183)
 at org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:110)
 ... 30 more
Caused by: ErrCode: 20200005
Message: NULL
 at com.primeton.ext.sca.serialize.DataTransformer.marshallOMElementServerSend(DataTransformer.java:512)
 at com.primeton.sca.xmltransformer.OMElementTransformer.transforOutput(OMElementTransformer.java:119)
 at com.primeton.sca.transformer.Output2OutputTransformer.transform(Output2OutputTransformer.java:231)
 ... 34 more
Caused by: com.primeton.das.entity.impl.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.bankcomm.euif.user.userData.OmeUserpending.omeAuthorgpendings, no session or session was closed
 at com.primeton.das.entity.impl.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:406)
 at com.primeton.das.entity.impl.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:398)
 at com.primeton.das.entity.impl.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:375)
 at com.primeton.das.entity.impl.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:90)
 at com.primeton.das.entity.impl.hibernate.collection.PersistentBag.iterator(PersistentBag.java:269)
 at com.primeton.ext.data.sdo.collection.ContainerAwareCollection.iterator(ContainerAwareCollection.java:179)
 at com.primeton.infra.xsd.impl.xmlser.complextype.ListConverter.getItems(ListConverter.java:65)
 at com.primeton.infra.xsd.impl.xmlser.complextype.CollectionConverter.marshal(CollectionConverter.java:50)
 at com.primeton.infra.xsd.impl.xmlser.MarshallingContext.marshal(MarshallingContext.java:228)
 at com.primeton.infra.xsd.impl.xmlser.MarshallingContext.marshal(MarshallingContext.java:198)
 at com.primeton.data.sdo.impl.serialize.DataObjectConverter.marshal(DataObjectConverter.java:69)
 at com.primeton.infra.xsd.impl.xmlser.MarshallingContext.marshal(MarshallingContext.java:228)
 at com.primeton.infra.xsd.impl.xmlser.MarshallingContext.marshal(MarshallingContext.java:198)
 at com.primeton.ext.infra.xsd.xmlser.XMLSerializer.marshal(XMLSerializer.java:292)
 at com.primeton.ext.infra.xsd.xmlser.XMLSerializer.marshal(XMLSerializer.java:243)
 at com.primeton.ext.infra.xsd.xmlser.XMLSerializer.marshal(XMLSerializer.java:219)
 at com.primeton.ext.sca.serialize.DataTransformer.marshallDataObject(DataTransformer.java:614)
 at com.primeton.ext.sca.serialize.DataTransformer.marshallOMElementServerSend(DataTransformer.java:475)
 ... 36 more</Exception>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>