java-sdk icon indicating copy to clipboard operation
java-sdk copied to clipboard

ABICodec 解析string[](Tuple类型)报错空指针

Open CodingCattwo opened this issue 3 years ago • 0 comments

通过webase解析成功,通过skd解析失败了: 6053115c43fbc99e210ffb67b9669d4

日志如下

2022-03-30 16:56:23.388 [http-nio-5052-exec-8] INFO  ToolController() - decode output start. param:{"decodeType":2,"input":"0x7da67ba8","output":"0x00000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000013100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000184d414da05f8d746a6f31c26d68329af947ae2e07ccfb8814ad5092cd739a71f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000083b737f493ea14d8bd2074e368bce3db772a39900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000","abiList":[{"outputs":[],"constant":false,"inputs":[{"type":"string","name":"bankName"},{"type":"address","name":"bankAddress"},{"type":"bool","name":"addPrivilege"},{"type":"bool","name":"kycPrivilege"}],"stateMutability":"nonpayable","type":"function","payable":false,"name":"addBank"},{"outputs":[{"type":"string","name":""},{"type":"string","name":""},{"type":"string","name":""},{"type":"string","name":""},{"type":"string","name":""}],"constant":false,"inputs":[{"type":"string","name":"udid"}],"stateMutability":"nonpayable","type":"function","payable":false,"name":"viewCustomerData"},{"outputs":[{"type":"bytes32","name":""}],"constant":false,"inputs":[{"type":"string","name":"uuid"},{"type":"string","name":"custName"},{"type":"string","name":"custCountry"},{"type":"string","name":"custSex"},{"type":"string","name":"custId"},{"type":"string","name":"custPhone"},{"type":"string","name":"addr"},{"type":"bool","name":"kycStatus"}],"stateMutability":"nonpayable","type":"function","payable":false,"name":"modifyCustomer"},{"outputs":[{"type":"bool","name":""}],"constant":true,"inputs":[{"type":"string","name":"udid"}],"stateMutability":"view","type":"function","payable":false,"name":"getCustomerKycStatus"},{"outputs":[{"type":"string[]","name":""},{"type":"bytes32[]","name":""},{"type":"address[]","name":""},{"type":"bool[]","name":""}],"constant":false,"inputs":[],"stateMutability":"nonpayable","type":"function","payable":false,"name":"getAllCustomers"},{"outputs":[{"type":"string","name":""},{"type":"address","name":""},{"type":"bool","name":""},{"type":"bool","name":""}],"constant":true,"inputs":[{"type":"address","name":"bankAddress"}],"stateMutability":"view","type":"function","payable":false,"name":"getBank"},{"outputs":[{"type":"string[]","name":""},{"type":"address[]","name":""},{"type":"bool[]","name":""},{"type":"bool[]","name":""}],"constant":true,"inputs":[],"stateMutability":"view","type":"function","payable":false,"name":"getAllBanks"},{"outputs":[],"constant":false,"inputs":[{"type":"address","name":"bankAddress"}],"stateMutability":"nonpayable","type":"function","payable":false,"name":"removeBank"},{"outputs":[],"constant":false,"inputs":[{"type":"address","name":"bankAddress"},{"type":"bool","name":"addPrivilege"},{"type":"bool","name":"kycPrivilege"}],"stateMutability":"nonpayable","type":"function","payable":false,"name":"modifyBank"},{"outputs":[{"type":"string[]","name":""},{"type":"bytes32[]","name":""},{"type":"address[]","name":""},{"type":"uint256[]","name":""}],"constant":false,"inputs":[{"type":"string","name":"uuid"}],"stateMutability":"nonpayable","type":"function","payable":false,"name":"getAllKycHistories"},{"outputs":[{"type":"bytes32","name":""}],"constant":false,"inputs":[{"type":"string","name":"uuid"},{"type":"string","name":"custName"},{"type":"string","name":"custCountry"},{"type":"string","name":"custSex"},{"type":"string","name":"custId"},{"type":"string","name":"custPhone"},{"type":"string","name":"addr"}],"stateMutability":"nonpayable","type":"function","payable":false,"name":"addCustomer"},{"outputs":[],"constant":false,"inputs":[{"type":"string","name":"uuid"}],"stateMutability":"nonpayable","type":"function","payable":false,"name":"removeCustomer"},{"inputs":[],"stateMutability":"nonpayable","type":"constructor","payable":false},{"inputs":[{"indexed":false,"type":"string","name":""},{"indexed":false,"type":"bytes32","name":""}],"type":"event","name":"CustomerCreated","anonymous":false},{"inputs":[{"indexed":false,"type":"string","name":""}],"type":"event","name":"CustomerRemoved","anonymous":false},{"inputs":[{"indexed":false,"type":"string","name":""},{"indexed":false,"type":"bytes32","name":""}],"type":"event","name":"CustomerInfoModified","anonymous":false},{"inputs":[{"indexed":false,"type":"address","name":""}],"type":"event","name":"BankCreated","anonymous":false},{"inputs":[{"indexed":false,"type":"address","name":""}],"type":"event","name":"BankRemoved","anonymous":false},{"inputs":[{"indexed":false,"type":"address","name":""},{"indexed":false,"type":"bool","name":""},{"indexed":false,"type":"bool","name":""}],"type":"event","name":"BankInfoModified","anonymous":false},{"inputs":[{"indexed":false,"type":"address","name":""}],"type":"event","name":"BlockBankFromAddCust","anonymous":false}],"methodName":"getAllCustomers"}
2022-03-30 16:56:23.396 [http-nio-5052-exec-8] ERROR ExceptionsHandler() - catch  exception: []
org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: (was java.lang.NullPointerException); nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: org.apache.commons.lang3.tuple.ImmutablePair["[[1], [�����F��&փ)��z��|ϸ�J�        ,�9�], [0x083b737f493ea14d8bd2074e368bce3db772a399], [false]]"]->java.util.ArrayList[0]->org.fisco.bcos.sdk.abi.wrapper.ABIObject["dynamic"])
        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:291) ~[spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.http.converter.AbstractGenericHttpMessageConverter.write(AbstractGenericHttpMessageConverter.java:106) ~[spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:224) ~[spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.handleReturnValue(RequestResponseBodyMethodProcessor.java:174) ~[spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:81) ~[spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:113) ~[spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:854) ~[spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:765) ~[spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) [spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) [spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) [spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) [spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) [spring-webmvc-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat-embed-websocket-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) [spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) [spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) [spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:615) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.56.jar:8.5.56]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Caused by: com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: org.apache.commons.lang3.tuple.ImmutablePair["[[1], [�����F��&փ)��z��|ϸ�J�       ,�9�], [0x083b737f493ea14d8bd2074e368bce3db772a399], [false]]"]->java.util.ArrayList[0]->org.fisco.bcos.sdk.abi.wrapper.ABIObject["dynamic"])
        at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:397) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:356) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.std.StdSerializer.wrapAndThrow(StdSerializer.java:316) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:763) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serializeDynamic(MapEntrySerializer.java:407) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:341) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:24) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1516) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1006) ~[jackson-databind-2.11.4.jar:2.11.4]
        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:285) ~[spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        ... 52 more
Caused by: java.lang.NullPointerException
        at org.fisco.bcos.sdk.abi.wrapper.ABIObject.isDynamic(ABIObject.java:270) ~[fisco-bcos-java-sdk-2.7.2.jar:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_181]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181]
        at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:689) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:755) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:178) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serializeDynamic(MapEntrySerializer.java:407) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:341) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:24) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1516) ~[jackson-databind-2.11.4.jar:2.11.4]
        at com.fasterxml.jackson.databind.ObjectWriter.writeValue(ObjectWriter.java:1006) ~[jackson-databind-2.11.4.jar:2.11.4]
        at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.writeInternal(AbstractJackson2HttpMessageConverter.java:285) ~[spring-web-4.3.29.RELEASE.jar:4.3.29.RELEASE]
        ... 52 more
2022-03-30 16:56:23.397 [http-nio-5052-exec-8] WARN  ExceptionsHandler() - bindExceptionHandler return:{"code":500,"errorMessage":"Could not write JSON: (was java.lang.NullPointerException); nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: org.apache.commons.lang3.tuple.ImmutablePair[\"[[1], [��\u0014�\u0005��F��\u001C&փ)��z��|ϸ�J�\t,�9�\u001F], [0x083b737f493ea14d8bd2074e368bce3db772a399], [false]]\"]->java.util.ArrayList[0]->org.fisco.bcos.sdk.abi.wrapper.ABIObject[\"dynamic\"])"}

CodingCattwo avatar Mar 30 '22 09:03 CodingCattwo