apache / dubbo-admin

The ops and reference implementation for Apache Dubbo
https://dubbo.apache.org
Apache License 2.0
4k stars 2.17k forks source link

System Error, please try again later! Message:java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $ #456

Closed zpLiuHH closed 5 years ago

zpLiuHH commented 5 years ago

dubbo version:2.7.1 zookeeper version:3.5.5 启动dubbo-admin和dubbo-demo服务后在服务查询页面可以查询到dubbo-demo提供的服务,点击详情后在页面底部会出现以下错误:System Error, please try again later! Message:java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $

详细页面只有基础信息,服务信息无内容。 元数据相关配置如下: dubbo.configcenter="zookeeper://127.0.0.1:2181" dubbo.metadata-report.address=zookeeper://127.0.0.1:2181 显示无元数据

aworker commented 5 years ago

把dubbo.configcenter 后面的 双引号去掉

zpLiuHH commented 5 years ago

@aworker 我使用的是xml配置形式,另外,我用properties配置文件形式测试过了,加上双引号和去掉双引号效果一样,无法解决问题。

zpLiuHH commented 5 years ago

重新把最新的代码clone到本地,然后在dubbo-demo-xml和dubbo-demo-annotation的pom文件中加入了 <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-metadata-report-zookeeper</artifactId> <version>${project.parent.version}</version> </dependency>

在dubbo-provider.xml和dubbo-provider.properties中分别加入了如下配置:dubbo.configcenter=zookeeper://127.0.0.1:2181 dubbo.metadata-report.address=zookeeper://127.0.0.1:2181 然后成功运行,并在dubbo-admin的管理界面及服务的详细页面元数据部分能正常显示。 总结来说应该还是配置和pom的原因。

charlieli2005 commented 5 years ago

我使用的是 spring boot 2, dubbo 相关的依赖都是2.7.3 以上, 上述问题一样存在。。。

https://github.com/apache/dubbo-admin/commit/419c7d35c29482c024123628995e3855eab72f19#diff-faafa5ff0a309cfcdba8a5ca4f18954eL72

回滚 如下代码后正常。

private final static String METADATA_NODE_NAME = "service.data"; return toRootDir() + metadataIdentifier.getUniqueKey(MetadataIdentifier.KeyTypeEnum.PATH) + Constants.PATH_SEPARATOR + METADATA_NODE_NAME;