WSO2 API 经理:PizzaShackAPI
WSO2 API Manager: PizzaShackAPI
我已经在 WSO2 API 管理器中部署了 PizzaShackAPI 示例。当我尝试通过商店调用它时,API 管理器命令提示符出现错误:
命令提示符错误:
ERROR - SourceHandler I/O error: Unrecognized SSL message, plaintext connection?
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
at sun.security.ssl.EngineInputRecord.bytesInCompletePacket(EngineInputRecord.java:156)
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:868)
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781)
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doUnwrap(SSLIOSession.java:245)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:280)
at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:410)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:119)
at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:159)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:586)
at java.lang.Thread.run(Thread.java:745)
API 存储错误:
{
"error": "no response from server"
}
我的配置:
JDK - 1.8,WSO - 2.0
有人可以帮忙并提供一些指导吗?
您的要求URL是错误的。应该是
https://localhost:8243/pizzashack/1.0.0/menu
您似乎错误地更改了 api-manager.xml 的以下部分。
<GatewayEndpoint>http://${carbon.local.ip}:${http.nio.port},https://${carbon.local.ip}:${https.nio.port}</GatewayEndpoint>
您使用了错误的端口,您必须使用以下任一具有相关协议的端口。
要通过 HTTPS 访问 API,请使用以下内容
https://localhost:8243/pizzashack/1.0.0/menu
要通过 HTTP 访问 API,请使用以下内容
http://localhost:8280/pizzashack/1.0.0/menu
尝试从您的终端执行以下 curl 命令。这应该会向您发送正确的回复
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer <Key>' 'https://localhost:8243/pizzashack/1.0.0/menu'
如其他答案中所述,网关端点在您的配置中指向了错误的 url。这在新包装中非常有效。
编辑
为了解决证书问题,请在命令后附加'-k'。
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer <Key>' 'https://localhost:8243/pizzashack/1.0.0/menu -k'
我已经在 WSO2 API 管理器中部署了 PizzaShackAPI 示例。当我尝试通过商店调用它时,API 管理器命令提示符出现错误:
命令提示符错误:
ERROR - SourceHandler I/O error: Unrecognized SSL message, plaintext connection?
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
at sun.security.ssl.EngineInputRecord.bytesInCompletePacket(EngineInputRecord.java:156)
at sun.security.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:868)
at sun.security.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:781)
at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:624)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doUnwrap(SSLIOSession.java:245)
at org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:280)
at org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:410)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:119)
at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:159)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:586)
at java.lang.Thread.run(Thread.java:745)
API 存储错误:
{
"error": "no response from server"
}
我的配置:
JDK - 1.8,WSO - 2.0
有人可以帮忙并提供一些指导吗?
您的要求URL是错误的。应该是
https://localhost:8243/pizzashack/1.0.0/menu
您似乎错误地更改了 api-manager.xml 的以下部分。
<GatewayEndpoint>http://${carbon.local.ip}:${http.nio.port},https://${carbon.local.ip}:${https.nio.port}</GatewayEndpoint>
您使用了错误的端口,您必须使用以下任一具有相关协议的端口。
要通过 HTTPS 访问 API,请使用以下内容
https://localhost:8243/pizzashack/1.0.0/menu
要通过 HTTP 访问 API,请使用以下内容
http://localhost:8280/pizzashack/1.0.0/menu
尝试从您的终端执行以下 curl 命令。这应该会向您发送正确的回复
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer <Key>' 'https://localhost:8243/pizzashack/1.0.0/menu'
如其他答案中所述,网关端点在您的配置中指向了错误的 url。这在新包装中非常有效。
编辑
为了解决证书问题,请在命令后附加'-k'。
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer <Key>' 'https://localhost:8243/pizzashack/1.0.0/menu -k'