You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSO2微集成器报错:无法从URL推断传输信息的原因排查

问题:WSO2 Micro Integrator发送请求时无法推断传输信息错误

错误信息

Unexpected error during sending message out org.apache.axis2.AxisFault: The system cannot infer the transport information from the 10.184.18.142:31258/api/v1/niPush URL.

处理流程代码

<payloadFactory media-type="json">
                <format>{   "executeBatch": {   "sessionID": "$1",  "commands": [   {   "event": "Accepted",    "eventParameters": [    {   "name": "App_Text", "valueAsString": "$2",  "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Offer_Account_Data",   "valueAsString": "$3",  "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Offer_Account_SMS",    "valueAsString": "$4",  "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Offer_Account_Voice",  "valueAsString": "$5",  "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Offer_Allocation_Data",    "valueAsString": "$6",  "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Offer_Allocation_SMS", "valueAsString": "$7",  "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Offer_Allocation_Voice",   "valueAsString": "$8",  "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Offer_Duration_Data",  "valueAsString": "$9",  "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Offer_Duration_SMS",   "valueAsString": "$10", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Offer_Duration_Voice", "valueAsString": "$11", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "offer_price",  "valueAsString": "$12", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Payment_Method",   "valueAsString": "Airtime,MPESA,Bonga,Okoa",    "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Provisioning_Type",    "valueAsString": "7.0", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "SMS_Text", "valueAsString": "$13", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "customer_profile", "valueAsString": "1",   "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "customer_cell_id", "valueAsString": "63902457739896",  "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "selected_payment_method",  "valueAsString": "",    "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "msisdn",   "valueAsString": "$14", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "offerCode",    "valueAsString": "$15", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "offerName",    "valueAsString": "$2",  "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "UACIOfferTrackingCode",    "valueAsString": "$16", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "mpesa_correl_id",  "valueDataType": "string",  "valueAsString": "",    "valueAsNumeric": 0.0   },  {   "name": "mpesa_tunukiwa_callback_url",  "valueAsString": "https://172.29.134.86:21013/rest/tunukiwa/MPESA_Fuliza_Callback", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "unica_accept_callback_url",    "valueAsString": "https://172.29.134.86:21002/rest/RESTInteractWrapper/executeBatch",   "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "accountType",  "valueAsString": "$17", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "Duration_Category",    "valueAsString": "$20", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "expiry",   "valueAsString": "$18", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "expiryUnit",   "valueAsString": "$19", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "expiryUnitType",   "valueAsString": "$20", "valueDataType": "string",  "valueAsNumeric": 0.0   },  {   "name": "resourceAmount",   "valueAsString": "$21", "valueDataType": "string",  "valueAsNumeric": 0.0   }   ],  "methodIdentifier": "ob_postEvent"  },  {   "methodIdentifier": "endSession"    }   ]   } }</format>
                <args>
                    <arg evaluator="xml" expression="$ctx:ID"/>
                    <arg evaluator="xml" expression="$ctx:OFFER_NAME"/>
                    <arg evaluator="xml" expression="$ctx:ACCOUNT_TYPE_DATA_ID"/>
                    <arg evaluator="xml" expression="$ctx:ACCOUNT_TYPE_SMS_ID"/>
                    <arg evaluator="xml" expression="$ctx:ACCOUNT_TYPE_VOICE_ID"/>
                    <arg evaluator="xml" expression="$ctx:ACCOUNT_TYPE_DATA_QUANTITY"/>
                    <arg evaluator="xml" expression="$ctx:ACCOUNT_TYPE_SMS_QUANTITY"/>
                    <arg evaluator="xml" expression="$ctx:ACCOUNT_TYPE_VOICE_QUANTITY"/>
                    <arg evaluator="xml" expression="$ctx:ACCOUNT_TYPE_DATA_EXPIRY"/>
                    <arg evaluator="xml" expression="$ctx:ACCOUNT_TYPE_SMS_EXPIRY"/>
                    <arg evaluator="xml" expression="$ctx:ACCOUNT_TYPE_VOICE_EXPIRY"/>
                    <arg evaluator="xml" expression="$ctx:PRICE"/>
                    <arg evaluator="xml" expression="$ctx:SUCCESS_NOTIFICATION"/>
                    <arg evaluator="xml" expression="$ctx:MSISDN"/>
                    <arg evaluator="xml" expression="$ctx:OFFER_CODE"/>
                    <arg evaluator="xml" expression="$ctx:TREATMENT_CODE"/>
                    <arg evaluator="xml" expression="$ctx:ACCOUNT_TYPE"/>
                    <arg evaluator="xml" expression="$ctx:EXPIRY_UNIT"/>
                    <arg evaluator="xml" expression="$ctx:EXPIRY"/>
                    <arg evaluator="xml" expression="$ctx:EXPIRY_UNIT_TYPE"/>
                    <arg evaluator="xml" expression="$ctx:QUANTITY"/>
                </args>
            </payloadFactory>
            <log level="full">
                <property expression="$ctx:Msisdn" name="Msisdn"/>
                <property name="Before calling" value="Ni Push EP"/>
            </log>
            <property name="HTTP_METHOD" scope="axis2" type="STRING" value="POST"/>
            <property action="remove" name="NO_ENTITY_BODY" scope="axis2"/>
            <property action="remove" name="REST_URL_POSTFIX" scope="axis2"/>
            <property name="FORCE_POST_PUT_NOBODY" scope="axis2" type="BOOLEAN" value="true"/>
            <property name="messageType" scope="axis2" type="STRING" value="application/json"/>
            <header name="accept" scope="transport" value="application/json"/>
            <property name="ContentType" scope="axis2" type="STRING" value="application/json"/>
            <call>
                <endpoint key="NiPush_EP"/>
            </call>

端点配置代码

<?xml version="1.0" encoding="UTF-8"?>
<endpoint name="NiPush_EP" xmlns="http://ws.apache.org/ns/synapse">
    <http method="post" uri-template="10.184.18.142:31258/api/v1/niPush">
        <timeout>
            <duration>5000</duration>
            <responseAction>fault</responseAction>
        </timeout>
        <suspendOnFailure>
            <errorCodes>-1</errorCodes>
            <initialDuration>0</initialDuration>
            <progressionFactor>1.0</progressionFactor>
            <maximumDuration>0</maximumDuration>
        </suspendOnFailure>
        <markForSuspension>
            <errorCodes>-1</errorCodes>
            <retriesBeforeSuspension>0</retriesBeforeSuspension>
        </markForSuspension>
    </http>
</endpoint>

问题原因及解决方法

原因

报错的核心是端点URL缺少传输协议(http://或https://)。WSO2 Micro Integrator需要明确的协议来确定使用HTTP还是HTTPS发送请求,没有协议的URL无法让系统推断传输方式,因此抛出该错误。

Postman能正常工作是因为Postman会自动为缺少协议的URL补全默认协议(通常是http://),或者你在Postman中实际输入时包含了协议。

解决方法

修改端点配置中的uri-template,在IP地址前添加http://或https://(根据实际服务的协议选择):

<http method="post" uri-template="http://10.184.18.142:31258/api/v1/niPush">

修改后,WSO2就能明确传输协议,正常发送请求。

内容的提问来源于stack exchange,提问作者Wajih Haider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 15:44:50