WSO2 AM不';t将RESTAPI调用传递给SOAP后端服务
我创建了一个JSON REST API来调用后端SOAP服务。我的问题是API将请求转发为HTTP GET,并且不考虑PayLoad工厂建立的SOAP消息。< /P> 以下是API配置:WSO2 AM不';t将RESTAPI调用传递给SOAP后端服务,wso2,wso2-am,Wso2,Wso2 Am,我创建了一个JSON REST API来调用后端SOAP服务。我的问题是API将请求转发为HTTP GET,并且不考虑PayLoad工厂建立的SOAP消息。< /P> 以下是API配置: <metadata xmlns="http://www.wso2.org/governance/metadata"> <overview> <redirectURL/> <sandboxURL/> <e
<metadata xmlns="http://www.wso2.org/governance/metadata">
<overview>
<redirectURL/>
<sandboxURL/>
<environments>Production and Sandbox</environments>
<contextTemplate>/bmc/{version}</contextTemplate>
<description/>
<productionTps/>
<visibleRoles/>
<technicalOwner/>
<faultSequence/>
<wsdl/>
<subscriptionAvailability/>
<isLatest>true</isLatest>
<tier>Unlimited</tier>
<provider>admin</provider>
<endpointConfig>{"production_endpoints":{"url":"https://server1.domain.se:8080/arsys/services/ARService?server=server1&webService=SEB:CMDB_BaseElement","config":null},"sandbox_endpoints":{"url":"https://server1.domain.se:8080/arsys/services/ARService?server=server1&webService=SEB:CMDB_BaseElement","config":null},"implementation_status":"managed","endpoint_type":"http"}</endpointConfig>
<endpointURL/>
<inSequence>BMCSystemJsonToSoapSeq</inSequence>
<context>/bmc/1.0</context>
<sandboxTps/>
<endpointSecured>false</endpointSecured>
<versionType>context</versionType>
<endpointAuthDigest>false</endpointAuthDigest>
<tenants/>
<thumbnail/>
<endpointPpassword/>
<advertiseOnly>false</advertiseOnly>
<visibility>public</visibility>
<wadl/>
<technicalOwnerEmail/>
<implementation>ENDPOINT</implementation>
<outSequence>BMCSystemJsonToSoapSeq</outSequence>
<businessOwnerEmail/>
<version>1.0</version>
<apiOwner/>
<transports>http,https</transports>
<visibleTenants/>
<cacheTimeout>300</cacheTimeout>
<isDefaultVersion>false</isDefaultVersion>
<name>BMC</name>
<destinationStatsEnabled>Disabled</destinationStatsEnabled>
<endpointUsername/>
<responseCaching>Disabled</responseCaching>
<businessOwner/>
<status>PUBLISHED</status>
</overview>
<URITemplate>
<authType0>Any</authType0>
<urlPattern0>/system/{name}</urlPattern0>
<httpVerb0>GET</httpVerb0>
</URITemplate>
</metadata>
因此,出于某种原因,API请求后端服务为:
https://server1.domain.se:8080/arsys/services/ARService?server=server1&webService=SEB:CMDB_BaseElement/system/191
第二期
由于某些原因,无法访问我的API请求参数:
TID: [-1234] [] [2016-03-31 13:56:33,464] ERROR {org.apache.synapse.util.xpath.SynapseJsonPath} - #stringValueOf. Error evaluating JSON Path <$.get-property('uri.var.name')>. Returning empty result. Error>>> invalid path {org.apache.synapse.util.xpath.SynapseJsonPath}
TID:[-1234][[2016-03-31 13:56:33464]错误{org.apache.synapse.util.xpath.SynapseJsonPath}-#stringValueOf。计算JSON路径时出错。返回空结果。错误>>>无效路径{org.apache.synapse.util.xpath.SynapseJsonPath}
有什么想法吗?将HTTP端点更改为地址端点,并且成功了
curl -X GET --header "Accept: application/xml" --header "Authorization: Bearer TOKEN" "https://172.28.210.192:8243/bmc/1.0/system/191"
https://server1.domain.se:8080/arsys/services/ARService?server=server1&webService=SEB:CMDB_BaseElement/system/191
TID: [-1234] [] [2016-03-31 13:56:33,464] ERROR {org.apache.synapse.util.xpath.SynapseJsonPath} - #stringValueOf. Error evaluating JSON Path <$.get-property('uri.var.name')>. Returning empty result. Error>>> invalid path {org.apache.synapse.util.xpath.SynapseJsonPath}