api - 无法通过 WSO2 API 管理器中自定义中介流中的 Call Mediator

标签 api rest wso2 wso2-api-manager mediator

在 WSO2 AM 1.10 中创建自定义中介流以实现 API 链接。作为测试的第一步,我创建了这个流程,它调用 REST 服务以生成 token 并将响应返回给客户端。

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="ppayload" trace="enable" xmlns="http://ws.apache.org/ns/synapse">
  <property action="remove" name="REST_URL_POSTFIX" scope="axis2"/>
  <property name="uri.var.x" scope="default" type="STRING" value="5"/>
  <property name="uri.var.y" scope="default" type="STRING" value="5"/>
  <log level="custom" separator=",">
    <property expression="get-property('uri.var.y')" name="y"/>
    <property expression="get-property('uri.var.x')" name="x"/>
  </log>
  <call>
    <endpoint>
      <http method="get" trace="enable" uri-template="https://192.88.65.18:9443/am/sample/calculator/v1/api/add?x={uri.var.x}&amp;y={uri.var.y}"/>
    </endpoint>
  </call>
  <respond/>
</sequence>

但是,在超时之后,客户端会收到“服务器无响应”。但在日志中,我看到 API 网关收到了正确的响应,只是没有将其转发给客户端。

另外,我尝试在调用调解器之后添加日志调解器以记录响应,但没有执行序列中调用调解器之后的任何内容。

[2016-07-20 12:13:42,195] DEBUG - wire >> "GET /c/1.0.0 HTTP/1.1[\r][\n]"
[2016-07-20 12:13:42,195] DEBUG - wire >> "Authorization: Bearer c5836f1cb43350b803cb39c706c1c7ce[\r][\n]"
[2016-07-20 12:13:42,195] DEBUG - wire >> "Accept: application/json[\r][\n]"
[2016-07-20 12:13:42,195] DEBUG - wire >> "Referer: https://192.88.65.18:9443/store/apis/info?name=C&version=1.0.0&provider=admin[\r][\n]"
[2016-07-20 12:13:42,195] DEBUG - wire >> "Accept-Language: fr-FR[\r][\n]"
[2016-07-20 12:13:42,195] DEBUG - wire >> "Accept-Encoding: gzip, deflate[\r][\n]"
[2016-07-20 12:13:42,195] DEBUG - wire >> "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko[\r][\n]"
[2016-07-20 12:13:42,195] DEBUG - wire >> "Host: 192.88.65.18:8243[\r][\n]"
[2016-07-20 12:13:42,195] DEBUG - wire >> "Connection: Keep-Alive[\r][\n]"
[2016-07-20 12:13:42,195] DEBUG - wire >> "Cookie: JSESSIONID=4308DDC996DAAE6B65F183E65931DE14; requestedURI="../../carbon/mediation-tracer/index.jsp?region=region4&item=mediation_tracer_menu"; region1_configure_menu=none; region5_tools_menu=none; i18next=fr-FR; selectedTab=view; current-breadcrumb=monitor_menu%2Cmediation_tracer_menu%23; MSG14682483937790.7211503494363702=true; MSG14683265253540.54003207439675=true; MSG14683266178700.10747833380176508=true; MSG14688271624980.9002550537769108=true; MSG14688272096380.869345530960711=true; MSG14688276939770.25641217913473224=true; MSG14688285230820.7837411368495956=true; MSG14688303649840.057579581328428775=true; MSG14688354130800.8363238567475415=true; MSG14688444175760.4841881764888184=true; region4_monitor_menu=visible; region3_registry_menu=visible; csrftoken=rg0quh61dsudlg02rvus1qs491; menuPanel=visible; menuPanelType=monitor[\r][\n]"
[2016-07-20 12:13:42,195] DEBUG - wire >> "[\r][\n]"
[2016-07-20 12:13:42,200]  INFO - LogMediator y = 5,x = 5
[2016-07-20 12:13:42,204] DEBUG - wire << "GET /am/sample/calculator/v1/api/add?x=5&y=5 HTTP/1.1[\r][\n]"
[2016-07-20 12:13:42,204] DEBUG - wire << "Cookie: JSESSIONID=4308DDC996DAAE6B65F183E65931DE14; requestedURI="../../carbon/mediation-tracer/index.jsp?region=region4&item=mediation_tracer_menu"; region1_configure_menu=none; region5_tools_menu=none; i18next=fr-FR; selectedTab=view; current-breadcrumb=monitor_menu%2Cmediation_tracer_menu%23; MSG14682483937790.7211503494363702=true; MSG14683265253540.54003207439675=true; MSG14683266178700.10747833380176508=true; MSG14688271624980.9002550537769108=true; MSG14688272096380.869345530960711=true; MSG14688276939770.25641217913473224=true; MSG14688285230820.7837411368495956=true; MSG14688303649840.057579581328428775=true; MSG14688354130800.8363238567475415=true; MSG14688444175760.4841881764888184=true; region4_monitor_menu=visible; region3_registry_menu=visible; csrftoken=rg0quh61dsudlg02rvus1qs491; menuPanel=visible; menuPanelType=monitor[\r][\n]"
[2016-07-20 12:13:42,204] DEBUG - wire << "Accept: application/json[\r][\n]"
[2016-07-20 12:13:42,204] DEBUG - wire << "Referer: https://192.88.65.18:9443/store/apis/info?name=C&version=1.0.0&provider=admin[\r][\n]"
[2016-07-20 12:13:42,204] DEBUG - wire << "Accept-Encoding: gzip, deflate[\r][\n]"
[2016-07-20 12:13:42,204] DEBUG - wire << "Accept-Language: fr-FR[\r][\n]"
[2016-07-20 12:13:42,204] DEBUG - wire << "Host: 192.88.65.18:9443[\r][\n]"
[2016-07-20 12:13:42,204] DEBUG - wire << "Connection: Keep-Alive[\r][\n]"
[2016-07-20 12:13:42,204] DEBUG - wire << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]"
[2016-07-20 12:13:42,204] DEBUG - wire << "[\r][\n]"
[2016-07-20 12:13:42,205] DEBUG - wire >> "HTTP/1.1 200 OK[\r][\n]"
[2016-07-20 12:13:42,206] DEBUG - wire >> "Date: Wed, 20 Jul 2016 10:13:42 GMT[\r][\n]"
[2016-07-20 12:13:42,206] DEBUG - wire >> "Content-Type: application/json[\r][\n]"
[2016-07-20 12:13:42,206] DEBUG - wire >> "Content-Length: 18[\r][\n]"
[2016-07-20 12:13:42,206] DEBUG - wire >> "Server: WSO2 Carbon Server[\r][\n]"
[2016-07-20 12:13:42,206] DEBUG - wire >> "[\r][\n]"
[2016-07-20 12:13:42,206] DEBUG - wire >> "{"answer": "10.0"}"
[2016-07-20 12:13:42,208] ERROR - ContinuationStackManager Resource : null not found
[2016-07-20 12:13:42,214] ERROR - SynapseCallbackReceiver Synapse encountered an exception, No error handlers found - [Message Dropped]
Resource : null not found
[2016-07-20 12:13:54,738]  INFO - CarbonAuthenticationUtil 'admin@carbon.super [-1234]' logged in at [2016-07-20 12:13:54,738+0200]
[2016-07-20 12:14:24,850]  WARN - SourceHandler Connection time out after request is read: http-incoming-43
[2016-07-20 12:14:42,259]  WARN - SourceHandler Connection time out after request is read: http-incoming-44

任何人都可以指出我的配置有什么问题。谢谢。

最佳答案

看起来像是一个已经修复的错误(参见 here ),带有 this犯罪。也许你可以手动修补它,因为在你获得下一个版本之前它是一个小修复。 1.10 版本的来源是 here .

关于api - 无法通过 WSO2 API 管理器中自定义中介流中的 Call Mediator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38478657/

相关文章:

Java API修改

java - 解码时找不到类 : android. support.v7.widget.Toolbar$SavedState

api - JWT 使用 WSO2-AM 处理

javascript - 使用自定义页面 Auth0 进行身份验证

wso2 - 在 WSO2 ESB 中介期间修改配置注册表资源内容

soap - 在wso2 IS,RESTful api中获取详细的用户信息

javascript - 带函数的 for 循环

javascript - 如何在我的 React Native 应用程序中获得与 postman GET 中相同的内容?

HTTP 协议(protocol)外的 RESTful

ssl - Siddhi http-sink 忽略 ssl 证书错误