api-gateway
api-gateway copied to clipboard
API gateway for REST, OpenAPI, GraphQL and SOAP written in Java.
use SOAP Service at predic8.de for https://membrane-api.io/tutorials/soap/index.html
Make sure that all the fields of response and request can be used in SpEL expressions.
``` ------------------------------------------------------------------------------- Test set: com.predic8.membrane.examples.ConfigSerializationTest ------------------------------------------------------------------------------- Tests run: 55, Failures: 1, Errors: 1, Skipped: 0, Time elapsed: 8.823 s
Running `mvn verify` in the parent module leads to ``` ------------------------------------------------------------------------------- Test set: com.predic8.membrane.core.OpenApiRewriteIntegrationTest ------------------------------------------------------------------------------- Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.749 s
https://github.com/membrane/api-gateway/blob/a9d873d85f97c81a85b21dd7c3cdd8dcb0e0aa6d/core/src/main/java/com/predic8/membrane/core/openapi/serviceproxy/ApiDocsInterceptor.java#L48 is not "thread-safe publication"
``` java.lang.RuntimeException: java.lang.NullPointerException: Cannot invoke "com.fasterxml.jackson.databind.JsonNode.asText()" because the return value of "com.fasterxml.jackson.databind.JsonNode.get(String)" is null at com.predic8.membrane.core.transport.ssl.acme.AcmeAzureTableApiStorageEngine.provisionDns(AcmeAzureTableApiStorageEngine.java:245) at com.predic8.membrane.core.transport.ssl.acme.AcmeClient.provisionDns(AcmeClient.java:298) at com.predic8.membrane.core.transport.ssl.acme.AcmeClient.provision(AcmeClient.java:285) at com.predic8.membrane.core.transport.ssl.acme.AcmeRenewal.fulfillChallenges(AcmeRenewal.java:165) at com.predic8.membrane.core.transport.ssl.acme.AcmeRenewal.makeOrderValid(AcmeRenewal.java:122) at com.predic8.membrane.core.transport.ssl.acme.AcmeRenewal.tryGetCertificate(AcmeRenewal.java:97) at com.predic8.membrane.core.transport.ssl.acme.AcmeRenewal.lambda$doWork$0(AcmeRenewal.java:61) at com.predic8.membrane.core.transport.ssl.acme.AcmeRenewal.lambda$withMasterLease$8(AcmeRenewal.java:292)...
Browser reports ``` Could not parse query: code=h88315fe2p4iftjr0e1qqs50n7&state=security_token=jbcvji764c02t05nk2qcn99sg0&url=/oauth2callback?code=br0li8ffdtvhhimhiidf5v7d7g&state=security_token=mi3rf4heqetlum51akf3idm2d&url=/ ```
The README suggests to use ``` ``` and then open http://localhost:2000/ in a web browser. If you do that and click "Try it out"+"Execute request", a request will be issued...