访K3Cloud的webapi出错
金蝶云社区-伟哥
伟哥
1人赞赏了该文章 1,870次浏览 未经作者许可,禁止转载编辑于2018年01月08日 11:34:33

我在本地搭建了一个K3Cloud,开启了webservice,我现在想做一个测试,通过api,得到物料的数据。我用java开发,引入了金蝶的jar包。做了一个Test,
@Test
public void testsearch() throws Exception {
K3CloudApiClient k3CloudApiClient = new K3CloudApiClient([i]KingdeeURL[/i]);
String dbid = "5a2e23934b7cc5";[i]//帐套ID
[/i]
[i] [/i]String username="administrator";[i]//用户名
[/i]
[i] [/i]String password = "888888";[i]//密码
[/i]
[i] [/i]String formId="BD_MATERIAL";[i]//物料的表单Id
[/i]
[i] [/i]Boolean result = k3CloudApiClient.login(dbid,username,password,2052);
if (result){
Map map = new HashMap();
map.put("FormId",formId);[i]//表单Id
[/i]
[i] [/i]map.put("TopRowCount", "0");
map.put("Limit", "200");[i]//每页的允许数,最大不超过2000
[/i]
[i] [/i]map.put("StartRow", "0");
map.put("FieldKeys", "");

String json = JSON.[i]toJSONString[/i](map).replaceAll("\"","\\\\\"");
[i]logger[/i].info(json);
List> sResult = k3CloudApiClient.executeBillQuery(json);
[i]logger[/i].info("result="+ JSON.[i]toJSONString[/i](sResult));

}else {
[i]logger[/i].info("登录失败!");
}

}

运行后就报错:
com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'response_error': was expecting ('true', 'false' or 'null')
at [Source: (String)"response_error:Code(-2147467259);{"InnerExWrapper":{"IsEmpty":false,"Data":{},"HelpLink":null,"Message":"调用的目标发生了异常。","Source":null,"StackTrace":" 在 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)\r\n 在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)\r\n 在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFla[org.jeecgframework.test.TestKingdee]result=null
gs invokeAttr, Binder binder, Object[] paramete"[truncated 2591 chars]; line: 1, column: 15]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1798)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:673)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._reportInvalidToken(ReaderBasedJsonParser.java:2835)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1889)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:747)
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4129)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3988)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2992)
at kingdee.bos.webapi.client.JsonSerializerProxy.Deserialize(JsonSerializerProxy.java:38)
at kingdee.bos.webapi.client.SerializerProxy.Deserialize(SerializerProxy.java:48)
at kingdee.bos.webapi.client.ApiHttpClient.Send(ApiHttpClient.java:16)
at kingdee.bos.webapi.client.ApiClient.execute(ApiClient.java:24)
at kingdee.bos.webapi.client.K3CloudApiClient.executeBillQuery(K3CloudApiClient.java:86)
at org.jeecgframework.test.TestKingdee.testsearch(TestKingdee.java:55)
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:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68)

这是什么情况?登录能正常通过。