繁体   English   中英

如何为 wso2 api 管理器正确编写 curl 请求

[英]How to compose a curl request correctly for wso2 api manager

描述:
我已经配置了一个 API (http://localhost:8280/GPNAPI2/1.0.0),它具有生产和沙盒端点 ( http://sparkgatetest.interfax.ru/iFaxWebService/iFaxWebService.asmx )。 我只需要向 http://localhost:8280/GPNAPI2/1.0.0 发送 curl 请求,但会收到来自http://sparkgatetest.interfax.ru/iFaxWebService/iFaxWebService.asmx的响应。 据我了解,为此需要 wso2 am,以便可以将多个外部 API 连接到一个网关。 我还为 http://localhost:8280/GPNAPI2/1.0.0 创建了订阅。

重现步骤:我将 GET 请求传递给 http://localhost:8280/GPNAPI2/1.0.0 并在请求中传递安全令牌,例如:

curl -X GET "http://localhost:8280/GPNAPI2/1.0.0" -H "accept: */ *" -H "Authorization: Bearer eyJ4NXQiOiJNell4TW1Ga09HWXdNV0kwWldObU5EY3hOR1l3WW1NNBelpUQTR"

一切进行得都很顺利。 但我不知道如何在一个请求中将数据传输到端点: http : //sparkgatetest.interfax.ru/iFaxWebService/iFaxWebService.asmx这种类型的请求:

curl -c cookies.txt -i -X ​​--location --request POST 'http://sparkgatetest.interfax.ru/iFaxWebService/iFaxWebService.asmx'
--header 'Content-Type: text / xml'
--header 'SOAPAction: http://interfax.ru/ifax/Authmethod'
--data '
<soap: Envelope xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns: xsd = "http://www.w3.org/2001/XMLSchema" xmlns: soap = "http : //schemas.xmlsoap.org/soap/envelope/ ">
<soap: Body>

******
*****

</ soap: Body>
</ soap: Envelope> '

我想了解如何将这两个请求合二为一,以及是否需要完成。 毕竟,我的任务,在访问 http://localhost:8280/GPNAPI2/1.0.0 时,实际上是在使用http://sparkgatetest.interfax.ru/iFaxWebService/iFaxWebService.asmx

受影响的产品版本:
wso2 apim 3.2.0(我们需要这个特定版本,因为客户正在使用它,并且出于我不明白的原因,不想切换到版本 4.0.0)。

环境详细信息(带版本):windows 8

请帮我解决我的问题。

您可以按照文档使用 API Manager 3.2.0 将 SOAP 服务公开为 REST API。

基本上,您必须在第一步中提供您的 WSDL url(例如, http://sparkgatetest.interfax.ru/iFaxWebService/iFaxWebService.asmx?wsdl ),然后按照文档中所述继续。

如果您转到发布者门户中的资源部分,您将能够看到定义了SOAPAction标头和SOAPRequest主体参数。 此外,在发布者的 WSDL 定义部分下,您将能够看到 SOAP 服务的完整 WSDL 定义。 如果您按照其余步骤操作,您将能够通过 APIM devloper 门户提供必要的标头和正文参数来调用 API。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM