`

今天在接入阿里巴巴平台和qqSDK时出了个意想不到的错,下面分享一下

阅读更多
java.lang.reflect.UndeclaredThrowableException
	at com.alibaba.openapi.client.$Proxy5.getToken(Unknown Source)
	at com.alibaba.openapi.client.AlibabaClient.getToken(AlibabaClient.java:468)
	at com.zhigu.common.alibaba.AlibabaUtil.getToken(AlibabaUtil.java:75)
	at com.zhigu.service.alibaba.impl.AliItemCategoryServiceImpl.test(AliItemCategoryServiceImpl.java:87)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.util.concurrent.ExecutionException: com.alibaba.openapi.client.exception.AuthServiceException: auth service exception:wrong authorizationCode:0cef72ce-d577-4cb2-9183-bc15dfa1e966
	at com.alibaba.openapi.client.AlibabaClient.send(AlibabaClient.java:158)
	at com.alibaba.openapi.client.AlibabaClient$APIProxy.invoke(AlibabaClient.java:413)
	... 27 more
Caused by: com.alibaba.openapi.client.exception.AuthServiceException: auth service exception:wrong authorizationCode:0cef72ce-d577-4cb2-9183-bc15dfa1e966
	at com.alibaba.openapi.client.util.ExceptionParser.buildException(ExceptionParser.java:80)
	at com.alibaba.openapi.client.util.ExceptionParser.buildException4OAuth2(ExceptionParser.java:71)
	at com.alibaba.openapi.client.rpc.BasicHttpResponseParser.buildException(BasicHttpResponseParser.java:100)
	at com.alibaba.openapi.client.rpc.AbstractHttpResponseParser.parseResponse(AbstractHttpResponseParser.java:90)
	at com.alibaba.openapi.client.rpc.AliNHttpRequstExecutionHandler$1.finished(AliNHttpRequstExecutionHandler.java:86)
	at org.apache.http.nio.entity.ConsumingNHttpEntityTemplate.finish(ConsumingNHttpEntityTemplate.java:88)
	at org.apache.http.nio.protocol.AsyncNHttpClientHandler$ClientConnState.resetInput(AsyncNHttpClientHandler.java:502)
	at org.apache.http.nio.protocol.AsyncNHttpClientHandler$ClientConnState.reset(AsyncNHttpClientHandler.java:517)
	at org.apache.http.nio.protocol.AsyncNHttpClientHandler.closed(AsyncNHttpClientHandler.java:138)
	at org.apache.http.impl.nio.DefaultClientIOEventDispatch.onClosed(DefaultClientIOEventDispatch.java:137)
	at org.apache.http.impl.nio.DefaultClientIOEventDispatch.onClosed(DefaultClientIOEventDispatch.java:53)
	at org.apache.http.impl.nio.reactor.AbstractIODispatch.disconnected(AbstractIODispatch.java:102)
	at com.alibaba.openapi.client.rpc.io.AutoSSLClientIOEventDispatch.disconnected(AutoSSLClientIOEventDispatch.java:216)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.sessionClosed(BaseIOReactor.java:281)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.processClosedSessions(AbstractIOReactor.java:442)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:285)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)
	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590)
	at java.lang.Thread.run(Thread.java:745)

 以上报错,仔细一看,是oauth2的授权码失效了,这个没啥重新授权,运行代码授权

call...Starts the reactor and initiates the dispatch
SessionRequestCallbackTrigger completed。。。
AutoSSLClientIOEventDispatch connected...
AutoSSLClientIOEventDispatch outputReady...
AutoSSLClientIOEventDispatch inputReady...
AutoSSLClientIOEventDispatch outputReady...
AutoSSLClientIOEventDispatch outputReady...
AutoSSLClientIOEventDispatch outputReady...
AutoSSLClientIOEventDispatch inputReady...
AutoSSLClientIOEventDispatch outputReady...
AutoSSLClientIOEventDispatch inputReady...
AutoSSLClientIOEventDispatch inputReady...
Exception in thread "I/O dispatcher 1" java.lang.NoSuchMethodError: org.codehaus.jackson.map.SerializationConfig.with([Lorg/codehaus/jackson/map/SerializationConfig$Feature;)Lorg/codehaus/jackson/map/SerializationConfig;
	at com.alibaba.openapi.client.util.JsonMapper.<clinit>(JsonMapper.java:57)
	at com.alibaba.openapi.client.rpc.BasicHttpResponseParser.parseBody(BasicHttpResponseParser.java:59)
	at com.alibaba.openapi.client.rpc.BasicHttpResponseParser.buildException(BasicHttpResponseParser.java:99)
	at com.alibaba.openapi.client.rpc.AbstractHttpResponseParser.parseResponse(AbstractHttpResponseParser.java:90)
	at com.alibaba.openapi.client.rpc.AliNHttpRequstExecutionHandler$1.finished(AliNHttpRequstExecutionHandler.java:86)
	at org.apache.http.nio.entity.ConsumingNHttpEntityTemplate.finish(ConsumingNHttpEntityTemplate.java:88)
	at org.apache.http.nio.protocol.AsyncNHttpClientHandler$ClientConnState.resetInput(AsyncNHttpClientHandler.java:502)
	at org.apache.http.nio.protocol.AsyncNHttpClientHandler$ClientConnState.reset(AsyncNHttpClientHandler.java:517)
	at org.apache.http.nio.protocol.AsyncNHttpClientHandler.closed(AsyncNHttpClientHandler.java:138)
	at org.apache.http.impl.nio.DefaultClientIOEventDispatch.onClosed(DefaultClientIOEventDispatch.java:137)
	at org.apache.http.impl.nio.DefaultClientIOEventDispatch.onClosed(DefaultClientIOEventDispatch.java:53)
	at org.apache.http.impl.nio.reactor.AbstractIODispatch.disconnected(AbstractIODispatch.java:102)
	at com.alibaba.openapi.client.rpc.io.AutoSSLClientIOEventDispatch.disconnected(AutoSSLClientIOEventDispatch.java:216)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.sessionClosed(BaseIOReactor.java:281)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.processClosedSessions(AbstractIOReactor.java:442)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:285)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106)
	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:590)
	at java.lang.Thread.run(Thread.java:745)
三月 21, 2015 10:31:11 上午 com.alibaba.openapi.client.AlibabaClient send
警告: Synchronous API [ namespace=system.oauth2,name=getToken] send request timeout.

 从上面的分析来看是说那个类

SerializationConfig

里面没有

with()
参数:是一个Feature的数组
[Lorg/codehaus/jackson/map/SerializationConfig$Feature;]

从整个项目来看,项目中并没有这样的包目录(org.codehaus.jackson.map)存在,可以确定是第三方包出现了问题,于是开始在项目搜索这个类

SerializationConfig

操作步骤如下:

1.选中你的项目

2.ctr+h 打开搜索对话框

在containing text 下面的对话框中输入检索内容。

在filename pattern 下面的对话框中输入匹配的文件格式。

然后在选中scope (检索范围)下面选中 selected resources

开始检索,结果如下

 

 从上面的结果可以看出确实存在好几个这个名称的类,但是还得看包结构,复合出错提示的只有两个;

一个是jackson-mapper-asl-19.13.jar,另一个是Sdk4J.jar(其它的包为什么不是:sdk4j.jar,这个jar包是我重新对Sdk4J.jar打的包删除里面的自带的jackson-mapper-asl-19.13.jar包)就是这个自带的jar出现了问题)

由于版本过低的问题,里面的类SerializationConfig缺少了新的方法(此处是with(Fearture...fearture)),而且项目运行时会先去用这个jar里面的class,(原因就是先找到先用谁,结果是类找到了,方法却找不到,却又不继续往下找,所以即使是你加入了最新的jackson-mapper-asl的jar包,也没有用),上几个解图,看看结构

这个是Sdk4J.jar里面的

 

 

可以看到确实没有with(Fearture...f)方法

在上个jackson-mapper-asl.jar

 

这个里面,却引用不到,真是坑啊

 

所以解决方法有三个

1.让项目先找到最新的jar(比较困难,不易实现,不做进一步的深究了,毕竟项目赶时间)

2.将又问题的改个名字在引用,这个最方便,但是没有解决掉根本问题

3.解压有问题的jar把里面的低版本的jar删除,或替换为最新的,然后在打包回去

jar cvf sdk4j.jar(打包后的名称) file(解压后删除低版本引用的文件目录)

 

 

最后一步检查是否可行运行代码测试结果如下:

 

取到数据,成功。问题解决了。

 

 

 

 

 

 

 

  • 大小: 6.3 KB
  • 大小: 64.9 KB
  • 大小: 165.6 KB
  • 大小: 143.4 KB
  • 大小: 143.4 KB
  • 大小: 130.4 KB
  • 大小: 21.5 KB
  • 大小: 18.5 KB
  • 大小: 44.3 KB
  • 大小: 35.4 KB
0
1
分享到:
评论

相关推荐

    阿里巴巴API开发sdk .net平台

    阿里巴巴开放平台 SDK 运行样例。 调用阿里巴巴开放平台的API你是不是获取不到访问口令,看一下我的例子吧,原因是后台已经更改,而网站的说明没有更新。 IniFile ini = new IniFile(); Dictionary, string&gt; sl ...

    阿里开放平台 php sdk

    通过以上介绍,我们可以看出,阿里开放平台PHP SDK为PHP开发者提供了一套完整的1688平台接入解决方案,使得在PHP环境中进行1688平台的开发工作变得更加高效和便捷。在实际应用中,开发者需要结合自身的需求,灵活...

    阿里开放平台SDK 运行样例 源代码

    阿里开放平台SDK运行样例源代码是针对开发者在使用阿里巴巴开放平台API时遇到问题的一个解决方案。这个SDK提供了详细的示例,帮助开发者理解如何正确地调用API并获取访问口令,尤其是在官方文档更新滞后的情况下。...

    阿里巴巴的onesdk

    3. 社交分享:OneSDK支持多种社交平台的分享功能,用户可以方便地将内容分享到微信、微博、QQ等社交网络,扩大应用影响力。 4. 游戏服务:对于游戏开发者,OneSDK提供了游戏排行榜、成就系统、云存档等游戏特色服务...

    .NET阿里巴巴平台的免登陆接口的实现代码

    在.NET开发环境中,针对阿里巴巴平台实现免登陆接口是一项常见的需求,尤其对于自动化测试、数据抓取或者集成系统来说,能够避免频繁的人工登录操作,提高工作效率。本文将深入讲解如何在.NET框架下实现这一功能。 ...

    阿里巴巴Redis使用规范

    为了避免Redis中的keys过长,阿里巴巴建议控制key的长度,尽量将String类型的数据控制在10KB以下,集合类型的元素个数控制在1万以下。 规范二:避免使用bigkey bigkey是Redis中的一个性能瓶颈,阿里巴巴建议避免...

    阿里巴巴资深技术专家强琦:大数据开发平台

    阿里巴巴资深技术专家强琦在第五届云计算大会的《云计算与大数据》专题论坛上所做的《大数据开发平台》主题演讲,深入浅出地介绍了大数据技术在阿里巴巴的应用实践和平台构建。本次演讲的主要内容包括大数据开发的...

    1688开放平台接口sdk (已更新最全)

    1688开放平台接口SDK是阿里巴巴为开发者提供的一个强大工具,它允许开发人员通过编程方式与1688开放平台进行交互,实现各种业务功能。这个SDK包含了最新的2019年更新,确保了与1688平台的最新接口兼容性,满足开发者...

    阿里巴巴大数据实践之路.pdf

    阿里巴巴大数据实践之路.pdf 阿里巴巴大数据实践之路概述 ...阿里巴巴大数据实践之路展示了阿里巴巴在大数据领域的成果和经验,提供了一个全面的大数据生态系统和技术平台,为其他企业提供了有价值的参考和借鉴。

    阿里巴巴基础运维平台实践

    这两个平台的建设可以视为阿里巴巴在运维平台建设上的创新实践,它们可能具有集成多种监控数据、自动化运维任务、提供高效的服务部署和更新等功能。 文档最后提及了对于基础运维平台的进一步探索和实践,如代理系统...

    尽在双11:阿里巴巴技术演进与超越

    尽在双11:阿里巴巴技术演进与超越,尽在双11:阿里巴巴技术演进与超越尽在双11:阿里巴巴技术演进与超越尽在双11:阿里巴巴技术演进与超越尽在双11:阿里巴巴技术演进与超越尽在双11:阿里巴巴技术演进与超越尽在...

    尽在双11-阿里巴巴技术演进与超越完整版

    《尽在双11:阿里巴巴技术演进与超越》这本书全面展现了阿里巴巴集团在双11大促销活动期间技术演进与创新的历程,涵盖了架构优化、系统稳定性提升、商业模式拓展、移动端发展以及生态系统建设等多个方面。...

    阿里巴巴大数据实践之路-9.pdf

    阿里巴巴的大数据体系结构主要包括公共技术平台、一体化的大数据技术平台、统一的数据仓库和公共数据服务。公共技术平台提供了统一的计算引擎、统一的存储和统一的数据开发平台。阿里巴巴的大数据技术平台包括DW、...

    马云在阿里巴巴十周年的演讲

    【马云在阿里巴巴十周年的演讲】中,马云回顾了阿里巴巴从初创到十年发展的历程,强调了公司的核心价值和驱动力。演讲中,马云首先表达了对所有参与者和阿里巴巴团队的深深感谢,尤其是最初的17位创始人和每一位员工...

    阿里巴巴前端开发规范.docx

    在项目命名方面,阿里巴巴前端开发规范要求项目命名应该是有意义的、简洁的和唯一的。目录命名也应该遵循同样的原则。在文件命名方面,阿里巴巴前端开发规范要求JS、CSS、SCSS、HTML、PNG 文件命名应该遵循统一的...

    阿里巴巴全域建设方案.pdf

    阿里巴巴作为全球领先的电商平台之一,在面对海量数据处理的同时,也在积极探索如何通过构建一个高效、灵活的数据中台来支持其庞大的业务体系。全域数据建设方案旨在通过整合阿里巴巴集团内部各个业务单元的数据资源...

    阿里大数据之路:阿里巴巴大数据实践-339页.zip

    《阿里大数据之路:阿里巴巴大数据实践》是一本深入探讨阿里巴巴集团在大数据领域实践经验的书籍,共计339页,全面展示了阿里巴巴在大数据领域的技术积累和创新应用。这本书籍旨在分享阿里巴巴如何利用大数据技术来...

    阿里巴巴 大数据之路

    阿里巴巴,作为距离大数据最近的公司之一,近几年对大数据却鲜有...《大数据之路:阿里巴巴大数据实践》就是在这个过程中,由阿里巴巴数据技术及产品部沉淀下来的大数据知识与实践,值得每一位与大数据相关的人阅读。

    阿里巴巴组件库

    阿里巴巴组件库是一个专门为原型设计者打造的资源集合,它整合了阿里巴巴集团在UI设计和交互设计方面的最佳实践,旨在提高设计师的工作效率,确保产品的设计质量和一致性。这个组件库特别适用于使用Axure作为原型...

Global site tag (gtag.js) - Google Analytics