digisic / digitalbank-gen-one

A Sample Online Banking Application
https://digisic.github.io/digitalbank-gen-one
MIT License
43 stars 68 forks source link

Unrecognized field "bank_routings" #31

Closed Maxr79 closed 2 years ago

Maxr79 commented 2 years ago

Getting error on UI when user travels to Home --> External --> Link External Accounts as "Error There are no banking providers available."

Log Trace shows below error - io.digisic.bank.service.ObpService : Unrecognized field "bank_routings" (class io.digisic.bank.model.obp.Bank), not marked as ignorable (6 known properties: "bank_routing", "id", "short_name", "full_name", "logo", "website"])

at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: java.util.ArrayList[0]->io.digisic.bank.model.obp.Bank["bank_routings"])

asburymr commented 2 years ago

The Link External Account functionality requires a mock service to be running to provide responses back to the Digital Bank application. This capability is to utilize a virtualized service to show a down stream integration. If there is not a valid service for the configuration to use, then the error response shown will be presented in the UI.

Can you provide more details on the virtual service configuration you used?

Maxr79 commented 2 years ago

Apologies @asburymr, but there is no documentation for virtual service configuration. If you could provide me a link or hint. I will configure and continue my test.

asburymr commented 2 years ago

There are several ways you can do this. One of the quickest ways is to use Mockoon (https://mockoon.com/) and the JSON file that defines the mock services needed which I provide in the repo @ https://github.com/digisic/digitalbank-gen-one/blob/master/bank/src/test/resources/spec/openbanking/mockoon/Open%20Banking%20Integration.json

Once you have your mock service running in Mockoon, you can configure application.properties in Digital Bank to point the OBP configuration to the host and port where the mock service is running and the restart Digital Bank to pick up the new configuration changes. If you are using the Docker deployment then just pass the configuration as environment variables.