【问题标题】:Error 404 while connecting to cordapp using rpc使用 rpc 连接到 cordapp 时出现错误 404
【发布时间】:2018-09-03 07:00:14
【问题描述】:

我正在尝试制作一个简单的 Cordapp,并尝试通过 Spring Boot 应用程序使用 rpc 连接到它。 Cordapp 和 Spring Boot 应用程序都可以正常工作,没有任何错误,但是在通过邮递员发出请求时显示,错误 404。我不知道我做错了什么。有人可以帮我解决这个问题吗?

我的 Spring Boot 应用程序的 application.properties 文件:

server.contextPath=/Chubb-Insurance

server.port=7090

node.PartyA.rpc.hostport=localhost:50004

db.connection=jdbc:h2:tcp://localhost:2005/node
nodename=insurer
logging.level.org.springframework.web=DEBUG


cron.expression=0 0 0 01 * ?

debit.point.qry.gt.200=100
debit.point.qry.gt.30

我的控制器:

我的 cordapp 的 build.graddle 文件:

task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
directory "./build/nodes"
node {
    name "O=Notary,L=London,C=GB"
    notary = [validating: true]
    rpcSettings {
        address("localhost:10008")
        adminAddress("localhost:10048")
    }
    p2pPort 10006
    cordapps = ["$corda_release_group:corda-finance:$corda_release_version"]
}
node {
    name "O=PartyA,L=London,C=GB"
    p2pPort 10007
    rpcSettings {
        address("localhost:50004")
        adminAddress("localhost:50005")
    }
    //webPort 10009
    h2Port 59001
    cordapps = ["$corda_release_group:corda-finance:$corda_release_version"]
    rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}
node {
    name "O=PartyB,L=New York,C=US"
    p2pPort 10010
    rpcSettings {
        address("localhost:50006")
        adminAddress("localhost:50007")
    }
    //webPort 10012
    h2Port 59002
    cordapps = ["$corda_release_group:corda-finance:$corda_release_version"]
    rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}
node {
    name "O=PartyC,L=Sydney,C=AU"
    p2pPort 10013
    rpcSettings {
        address("localhost:50008")
        adminAddress("localhost:50009")
    }
    // webPort 10015
    h2Port 59003
    cordapps = ["$corda_release_group:corda-finance:$corda_release_version"]
    rpcUsers = [[user: "user1", "password": "test", "permissions": ["ALL"]]]
}


}

【问题讨论】:

  • 您访问哪个 URL 以获取 404 错误? 404 表示“未找到”。如果是 CorDapp 问题,您会看到 500 错误代码。

标签: spring-boot block rpc blockchain corda


【解决方案1】:

您似乎尚未将自己的 cordapps 添加到 build.gradle 中节点的 cordapps 属性中。在那里添加它们,它应该可以工作。

【讨论】:

  • 我猜我的 cordapp 工作正常。主要问题是通过 rpc 将其连接到 Spring Boot 应用程序
  • 所以您确定添加了您的 cordapp?我很确定如果它因无法连接到 rpc 而失败,它应该在日志文件中输出一个错误,让你说这就是原因。你的 rpc 连接看起来像这样吗? init { val rpcAddress = NetworkHostAndPort(host, rpcPort) val rpcClient = CordaRPCClient(rpcAddress) rpcConnection = rpcClient.start(username, password) proxy = rpcConnection.proxy }
  • 不,它没有在 Cordapp 端显示任何日志。当我尝试向 Spring Boot 公开的 api 发出请求时,它只是显示 404
  • Spring 应用程序中没有日志,而是生成警告。 stackoverflow.com/questions/52146450/…
  • 查看该链接中的代码,我同意它的答案。只需使用@Controller,如果可能,请使用@RestController
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-04
  • 2012-05-31
  • 1970-01-01
  • 2020-08-22
  • 2019-06-21
相关资源
最近更新 更多