我正在探索将WSO2 API Manager用于我们的遗留API,该API目前基于SOAP.在IDeally,我想向我们的客户公开RESTful接口,并让API Manager将其转换为传递给我们遗留系统的SOAP请求.搜索WSO2站点,我发现使用XSLT转换有一些方法可以做到这一点,但仅限于使用WSo2 ESB产品时.
有没有办法在API Manager中处理这种转换?怎么样?如果没有,我可以以某种方式利用ESB产品并将其与API Manager产品结合使用吗?或者那有点矫枉过正?
谢谢!
我是API管理工具的新手.安装WSO2后,我尝试了样品,但我无法登录发布商和商店.我刚收到一条错误消息:
登录失败.权限不足.
控制台给我以下输出:
[2014-06-10 15:44:41,196] WARN - CarbonAuthenticationUtil Failed Administrator login attempt 'admin[-1234]' at [2014-06-10 15:44:41,195+0200]
[2014-06-10 15:44:41,196] WARN - AuthenticationHandler Illegal access attempt at [2014-06-10 15:44:41,0196] from IP address 10þ.109.63.143 while trying to authenticate access to service RemoteAuthorizationManagerService
[2014-06-10 15:44:41,197] ERROR - AUDIT_LOG Illegal access attempt at [2014-06-10 15:44:41,0196] from IP address 10.109.63.143 while trying to authenticate access to service RemoteAuthorizationManagerService
[2014-06-10 15:44:41,212] WARN - CarbonAuthenticationUtil Failed Administrator login attempt 'admin[-1234]' at [2014-06-10 15:44:41,212+0200]
[2014-06-10 15:44:41,213] WARN - AuthenticationHandler …Run Code Online (Sandbox Code Playgroud) 我们正在与WSO2业务活动监视器2.5.0(WSO2 BAM)一起评估WSO2 API Manager 1.8.0(WSO2 AM).从我们的支持合作伙伴Yenlo,我们得到WSO2建议使用WSO2 BAM 3.0进行新安装,因为从BAM 2.5.0到BAM 3.0.0的变化是巨大的.
BAM 3.0尚未发布(请参阅JIRA中的发布计划).但里程碑4应该可用.
但我唯一能找到的是BAM的里程碑3和DAS(Data Analytics Server)的里程碑4,如本电子邮件中所述.此外,DAS的更改日志指向BAM的JIRA问题.
DAS是BAM的新名称吗?
我正在集群中设置API Manager,并且具有一个版本的商店和一个版本的发布者,这些版本是集群的,因此它们会在更改时相互更新.我还在主集群和工作集群中设置了网关.所有这一切我都发现了如何在wso2网站上做.问题是我想集中密钥管理器以获得更高的负载但我找不到任何关于如何集中管理密钥管理器的文档.我认为这不仅仅是在负载均衡器后面运行多个的情况,因为他们需要知道令牌等何时发生了变化?
任何帮助,将不胜感激
我们有一些服务(用WSO2 API Manager公开).我们想为消费者进行计费.
遗憾的是,我们的结算规则需要一些仅在已实施服务中可用的详细信息.我可以看到两种方法来处理它:
我的问题是,如果有一种方法如何在响应(传输层中的标头)中向API管理器提供一些额外的服务元数据,以及它是否可以通过API管理器传递给BAM进行监控,计费分析等...
我想在我的WSO2 API Manager实例上为所有端点启用CORS.我已经阅读了文档(这很棒)并建议更改repository/conf/api-manager.xml文件,因为其中有一个CORS配置节点(如下).
<!--Configuration to enable/disable sending CORS headers in the Gateway response
and define the Access-Control-Allow-Origin header value.-->
<CORSConfiguration>
<!--Configuration to enable/disable sending CORS headers from the Gateway-->
<Enabled>true</Enabled>
<!--The value of the Access-Control-Allow-Origin header. Default values are
API Store addresses, which is needed for swagger to function.-->
<Access-Control-Allow-Origin>*</Access-Control-Allow-Origin>
<!--Configure Access-Control-Allow-Methods-->
<Access-Control-Allow-Methods>GET,PUT,POST,DELETE,PATCH,OPTIONS</Access-Control-Allow-Methods>
<!--Configure Access-Control-Allow-Headers-->
<Access-Control-Allow-Headers>authorization,Access-Control-Allow-Origin,Content-Type</Access-Control-Allow-Headers>
<!--Configure Access-Control-Allow-Credentials-->
<!-- Specifying this header to true means that the server allows cookies (or other user credentials) to be included on …Run Code Online (Sandbox Code Playgroud) 我已使用以下链接将wso2身份服务器配置为wso2 api管理器的密钥管理器。1个
我已经通过wso2 api管理器发布者创建了api,并且已将auth类型指定为Application&Application user。
当我通过应用程序令牌调用api时很好。但是当我使用用户令牌时,这给了我这个错误。
<ams:fault xmlns:ams="http://wso2.org/apimanager/security"><ams:code>900908</ams:code>
<ams:message>Resource forbidden </ams:message>
<ams:description>Access failure for API: /t/dev-peakhealth.com/dev-api/1.0, version: 1.0</ams:description>
</ams:fault>
Run Code Online (Sandbox Code Playgroud)
API管理器日志:
TID: [3] [] [2016-06-13 19:18:07,074] @dev-peakhealth.com [3] [AM]DEBUG {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - Call to API gateway : API call failed reason=API_authentication_failure userName=test@dev-peakhealth.com transactionId=urn:uuid:63675ed0-1b95-4a06-9b2c-b3f7ad3daa18 with userAgent=curl/7.35.0 with accessToken=Bearer ca8569957cf1fb5d58f5b70d9649d982 for requestURI=/t/dev-peakhealth.com/dev-api/1.0/careplans at time=Mon Jun 13 19:18:07 IST 2016 from clientIP=192.168.4.31, elapsedTimeInMilliseconds=0 {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler}
TID: [3] [] [2016-06-13 19:18:07,074] @dev-peakhealth.com [3] [AM] WARN {org.wso2.carbon.apimgt.gateway.handlers.security.APIAuthenticationHandler} - API authentication failure due to Resource forbidden …Run Code Online (Sandbox Code Playgroud) 我已经设置了一个API Manager 1.10集群,每个组件都在一个单独的VM中,前面是一个nginx代理.
每当我尝试生成密钥时,我在商店中收到以下错误(来自商店的日志):
ERROR - AMDefaultKeyManagerImpl Error while creating tokens - Connection timed out
java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:668)
...
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
[2016-12-14 16:25:03,376] ERROR - APIConsumerImpl Error while re-generating AccessToken
org.wso2.carbon.apimgt.api.APIManagementException: Error while creating tokens - Connection timed out
at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.handleException(AMDefaultKeyManagerImpl.java:592)
at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.getNewApplicationAccessToken(AMDefaultKeyManagerImpl.java:369)
at org.wso2.carbon.apimgt.impl.APIConsumerImpl.renewAccessToken(APIConsumerImpl.java:659)
at org.wso2.carbon.apimgt.impl.UserAwareAPIConsumer.renewAccessToken(UserAwareAPIConsumer.java:36)
at …Run Code Online (Sandbox Code Playgroud) 需要在wso2 api-manager中传递多个参数,我查看了这个博客,http: //vvratha.blogspot.in/2015/01/adding-url-parameters-in-wso2-apimanager.html .作者已经提到了如何做到这一点,但她提到要创建一个新的序列,而不是在哪里(我的意思是,需要创建文件的路径)和文件的名称.
注意:我只使用api-manager而不是开发人员工具.
我使用 WSO2 Identity Server 作为密钥服务器和 API Manager 的组合来针对角色进行 API 授权。我的要求是为业务用户提供一个 UI,他们可以在其中添加用户、角色,并且这应该反映在 WSO2 中。我正在使用默认用户存储。我怎样才能以编程方式做到这一点?有我可以使用的 REST 服务吗?