起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 148|回复: 6

[处理中3] baas中调用远程服务

[复制链接]

62

主题

231

帖子

1033

积分

金牌会员

Rank: 6Rank: 6

积分
1033
QQ
发表于 2019-11-22 00:54:45 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
在baas中发送了一个远程的post请求,报错如下2019-11-22 00:38:47 Action[CDJC_CRM/CDJC_message/insertUnreadMessage]执行失败,getInputStream() has already been called for this requestjava.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.justep.baas.action.Engine.execAction(Unknown Source)
        at com.justep.baas.action.Engine.execAction(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.execService(Unknown Source)
        at com.justep.baas.servlet.BaasServlet.service(Unknown Source)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: getInputStream() has already been called for this request
        at org.apache.catalina.connector.Request.getReader(Request.java:1191)
        at org.apache.catalina.connector.RequestFacade.getReader(RequestFacade.java:470)
        at Serializer_1.write1(Unknown Source)
        at Serializer_1.write(Unknown Source)
        at com.alibaba.fastjson.serializer.MapSerializer.write(MapSerializer.java:169)
        at com.alibaba.fastjson.serializer.JSONSerializer.write(JSONSerializer.java:367)
        at com.alibaba.fastjson.JSON.toJSONString(JSON.java:556)
        at CDJC_CRM.CDJC_Message.pushWechatMessage(CDJC_Message.java:178)
        at CDJC_CRM.CDJC_Message.UserFollowCommentAction(CDJC_Message.java:123)
        at CDJC_CRM.CDJC_Message.insertUnreadMessage(CDJC_Message.java:407)
        at CDJC_CRM.CDJC_message__do.insertUnreadMessage(CDJC_message__do.java:235)
        ... 20 more


901

主题

3976

帖子

8958

积分

论坛元老

Rank: 8Rank: 8

积分
8958
QQ
发表于 2019-11-22 06:47:03 | 显示全部楼层
request的getReader()和getInputStream()只能调用一次
孤舟蓑笠翁,独钓寒江雪。
x5Demo:www.ecoolper.com
X5牛刀交流民间第一群:30057529
提供有偿服务,联系QQ:18332024
回复 支持 反对

使用道具 举报

62

主题

231

帖子

1033

积分

金牌会员

Rank: 6Rank: 6

积分
1033
QQ
 楼主| 发表于 2019-11-22 11:00:54 | 显示全部楼层
ecoolper 发表于 2019-11-22 06:47
request的getReader()和getInputStream()只能调用一次

baas默认会自己读取一次吗?我需要在baas里发送post请求并且要在请求体中带参数
回复 支持 反对

使用道具 举报

89

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
31903
发表于 2019-11-22 14:53:47 | 显示全部楼层
BeX5中为什么用baas去操作?在biz层的action中可以用HttpClient去操作

baas中的也可以自己用HttpClient看一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

62

主题

231

帖子

1033

积分

金牌会员

Rank: 6Rank: 6

积分
1033
QQ
 楼主| 发表于 2019-11-22 15:16:37 | 显示全部楼层
jishuang 发表于 2019-11-22 14:53
BeX5中为什么用baas去操作?在biz层的action中可以用HttpClient去操作

baas中的也可以自己用HttpClient看 ...

biz用httpclient可以的,baas用就会报这个错, biz太慢了啊,baas快多了
回复 支持 反对

使用道具 举报

62

主题

231

帖子

1033

积分

金牌会员

Rank: 6Rank: 6

积分
1033
QQ
 楼主| 发表于 2019-11-22 15:18:54 | 显示全部楼层
jishuang 发表于 2019-11-22 14:53
BeX5中为什么用baas去操作?在biz层的action中可以用HttpClient去操作

baas中的也可以自己用HttpClient看 ...

所以就想请教一下是不是因为baas会默认读取一次请求体内容,导致我在baas发post请求会报错!
回复 支持 反对

使用道具 举报

89

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
31903
发表于 2019-11-22 17:03:04 | 显示全部楼层
baas都具体的源码都已经提供的,需要自己跟踪看看,或者就不要用baas提供的方法,自己完全定义

biz和baas一样都是去查数据查数据,如果默认确认是不是biz的分页没设置http://docs.wex5.com/bex5-deploy-question-list-10027/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2020-10-26 03:21 , Processed in 0.062268 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表