You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "zhanghongfeng (GitHub)" <gi...@apache.org> on 2018/12/26 09:27:59 UTC

[GitHub] [incubator-dubbo] zhanghongfeng opened issue #3063: dubbo泛化调用,入参为泛型:(T extend WxMessage)时,POJO转化失败

**接口信息**
dubbo接口类:.service.WechatFacade
方法:Result<Void> sendMessage(WechatMessage message);
WechatMessage 类型:request.wechat.WechatMessage

**方法入参信息**
WechatMessage属性:
agentId | String | 必填 | 微信应用ID
message | T extend WxMessage | 必填 | 发送内容

**message具体消息对象如下**:
1) 文本消息:TextMessage
request.wechat.TextMessage(只有1个属性:content)
content | String | 必填 | 发送内容

2) 图文消息:NewsMessage
request.wechat.NewsMessage(属性:description , url , picUrl)

description | String | 必填 | 描述
url | String | 必填 | 点击内容跳转链接
picUrl | String | 必填 | 图片URL

**采用dubbo泛化,或者 telnet invoke命令报错**:
invoke service.WechatFacade.sendMessage({"agentId":"1000002","message":{"content":"hahha"}})

**报错信息如下:**
ailed to invoke method sendMessage, cause: java.lang.RuntimeException
java.lang.RuntimeException
	at com.alibaba.dubbo.common.utils.PojoUtils.newInstance(PojoUtils.java:531)
	at com.alibaba.dubbo.common.utils.PojoUtils.realize0(PojoUtils.java:431)
	at com.alibaba.dubbo.common.utils.PojoUtils.realize0(PojoUtils.java:445)
	at com.alibaba.dubbo.common.utils.PojoUtils.realize(PojoUtils.java:200)
	at com.alibaba.dubbo.common.utils.PojoUtils.realize(PojoUtils.java:79)
	at com.alibaba.dubbo.rpc.protocol.dubbo.telnet.InvokeTelnetHandler.telnet(InvokeTelnetHandler.java:95)
	at com.alibaba.dubbo.remoting.telnet.support.TelnetHandlerAdapter.telnet(TelnetHandlerAdapter.java:54)
	at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:183)
	at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52)
	at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.InstantiationException
	at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at com.alibaba.dubbo.common.utils.PojoUtils.newInstance(PojoUtils.java:529)
	... 12 more


[ Full content available at: https://github.com/apache/incubator-dubbo/issues/3063 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org

[GitHub] [incubator-dubbo] zonghaishang commented on issue #3063: dubbo泛化调用,入参POJO的某个属性为泛型:(T extend WxMessage)时,POJO转化失败

Posted by "zonghaishang (GitHub)" <gi...@apache.org>.
@zhanghongfeng try pass argument: 

if content equals TextMessage:
```
{"agentId":"1000002","message":{"content":"hahha", "class": "TextMessage"}, "class":"WechatMessage" }
```

if content equals NewsMessage:

```
{"agentId":"1000002","message":{"content":"hahha", "class": "NewsMessage"}, "class":"WechatMessage" }
```


[ Full content available at: https://github.com/apache/incubator-dubbo/issues/3063 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org


[GitHub] [incubator-dubbo] CrazyHZM commented on issue #3063: dubbo泛化调用,入参POJO的某个属性为泛型:(T extend WxMessage)时,POJO转化失败

Posted by "CrazyHZM (GitHub)" <gi...@apache.org>.
Can you tell me which version you are using?

[ Full content available at: https://github.com/apache/incubator-dubbo/issues/3063 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org