WSO2消息处理器错误:系统无法从端点URL推断传输信息
我是WSO2的新手。我创建了一个代理服务,它接收消息,然后将它们存储在WSO2 message Broker中的jms消息队列中。然后,消息处理器从消息队列中提取消息,并将其转发到后端服务进行处理。所有配置都是按照WSO2在 消息成功地存储在消息队列中,我可以从MessageBroker管理控制台看到它。但是当消息处理器读取消息并将其发送到后端进行处理时,我得到以下错误 错误-客户端Utils。系统无法从services/test.testHttpSoap12Endpoint URL推断传输信息 我已经搜索了好几天了,但无法解决这个问题 以下是我的配置 ` ` 端点配置 ` 在wso2 esb DSS中由创建的后端服务 ` ` **后端数据服务WSDL** `WSO2消息处理器错误:系统无法从端点URL推断传输信息,wso2,Wso2,我是WSO2的新手。我创建了一个代理服务,它接收消息,然后将它们存储在WSO2 message Broker中的jms消息队列中。然后,消息处理器从消息队列中提取消息,并将其转发到后端服务进行处理。所有配置都是按照WSO2在 消息成功地存储在消息队列中,我可以从MessageBroker管理控制台看到它。但是当消息处理器读取消息并将其发送到后端进行处理时,我得到以下错误 错误-客户端Utils。系统无法从services/test.testHttpSoap12Endpoint URL推断传输信息
`分析错误,这似乎是在调用synapse工件中未定义的端点
ERROR- Client Utils. The system cannot infer the the system cannot infer the transport information from the services/test.testHttpSoap12Endpoint URL
这可能是由于在将消息添加到消息存储时附加了上下文。为了删除上下文,请确保在将消息添加到消息存储之前添加以下属性
<property name="REST_URL_POSTFIX" scope="axis2" action="remove"/>
此外,由于您正在调用SOAP后端,请确保在internet上尝试所有可能的解决方案后,在将消息添加到消息存储时添加相应的SOAP操作。我用计算机解决了这个问题 通过执行以下操作 1有些传输属性没有被提取,所以我用API端点替换了wsdl端点 2我缺少的另一件事是,我没有在处理来自后端服务的响应的消息处理器中编写应答序列 在做了这些改变后,它就像一个魅力
<messageProcessor name="Mb_MsgProcessor" class="org.apache.synapse.message.processor.impl.forwarder.ScheduledMessageForwardingProcessor" targetEndpoint="GetDataDSS" messageStore="testingstore" xmlns="http://ws.apache.org/ns/synapse">
<parameter name="interval">1000</parameter>
<parameter name="client.retry.interval">1000</parameter>
<parameter name="max.delivery.attempts">1</parameter>
<parameter name="max.store.connection.attempts">-1</parameter>
<parameter name="store.connection.retry.interval">1000</parameter>
<parameter name="message.processor.failMessagesStore">testingstore</parameter>
<parameter name="is.active">true</parameter>
<parameter name="max.delivery.drop">Disabled</parameter>
<parameter name="member.count">1</parameter>
</messageProcessor>
<endpoint xmlns="http://ws.apache.org/ns/synapse" name="GetDataDSS">
<wsdl uri="http://10.100.32.65:8280/services/GetDataDSS?wsdl" service="GetDataDSS" port="SOAP11Endpoint">
<suspendOnFailure>
<progressionFactor>1.0</progressionFactor>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
<retryDelay>0</retryDelay>
</markForSuspension>
</wsdl>
</endpoint>
`
<data enableBatchRequests="true" name="GetDataDSS" transports="http https">
<config enableOData="false" id="Testing">
<property name="driverClassName">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="url">jdbc:sqlserver://10.XXXX.XX.57:1433;databaseName=Test</property>
<property name="username">XXXXXXXX</property>
<property name="password">XXXXXXXX</property>
</config>
<query id="GetDataForDSS" useConfig="Testing">
<sql>SELECT UserID,UserName,Password,AdminCode
FROM [Test].[dbo].[tbl_User]</sql>
<result element="Entries" rowName="Entry">
<element column="UserID" name="UserID" xsdType="string"/>
<element column="UserName" name="UserName" xsdType="string"/>
<element column="Password" name="Password" xsdType="string"/>
<element column="AdminCode" name="AdminCode" xsdType="string"/>
</result>
</query>
<operation name="GetData">
<call-query href="GetDataForDSS"/>
</operation>
</data>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ns0="http://ws.wso2.org/dataservice" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://ws.wso2.org/dataservice">
<wsdl:documentation/>
<wsdl:types>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ws.wso2.org/dataservice">
<xs:element name="DataServiceFault">
<xs:complexType>
<xs:sequence>
<xs:element name="current_params" type="xs:string"/>
<xs:element name="current_request_name" type="xs:string"/>
<xs:element name="nested_exception" type="xs:string"/>
<xs:element name="source_data_service">
<xs:complexType>
<xs:sequence>
<xs:element name="location" type="xs:string"/>
<xs:element name="default_namespace" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
<xs:element name="data_service_name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ds_code" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="REQUEST_STATUS" type="xs:string"/>
<xs:element name="DATA_SERVICE_RESPONSE">
<xs:complexType>
<xs:sequence>
<xs:any minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="GetData">
<xs:complexType>
<xs:sequence/>
</xs:complexType>
</xs:element>
<xs:element name="Entries" type="ns0:Entries"/>
<xs:complexType name="Entries">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="Entry" type="ns0:Entry"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Entry">
<xs:sequence>
<xs:element name="UserID" nillable="true" type="xs:string"/>
<xs:element name="UserName" nillable="true" type="xs:string"/>
<xs:element name="Password" nillable="true" type="xs:string"/>
<xs:element name="AdminCode" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="GetDataRequest">
<wsdl:part name="parameters" element="ns0:GetData"/>
</wsdl:message>
<wsdl:message name="GetDataResponse">
<wsdl:part name="parameters" element="ns0:Entries"/>
</wsdl:message>
<wsdl:message name="DataServiceFault">
<wsdl:part name="parameters" element="ns0:DataServiceFault"/>
</wsdl:message>
<wsdl:portType name="GetDataDSSPortType">
<wsdl:operation name="GetData">
<wsdl:documentation/>
<wsdl:input message="ns0:GetDataRequest" wsaw:Action="urn:GetData"/>
<wsdl:output message="ns0:GetDataResponse" wsaw:Action="urn:GetDataResponse"/>
<wsdl:fault message="ns0:DataServiceFault" name="DataServiceFault" wsaw:Action="urn:GetDataDataServiceFault"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="GetDataDSSSOAP11Binding" type="ns0:GetDataDSSPortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="GetData">
<soap:operation soapAction="urn:GetData" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="DataServiceFault">
<soap:fault use="literal" name="DataServiceFault"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="GetDataDSSSOAP12Binding" type="ns0:GetDataDSSPortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="GetData">
<soap12:operation soapAction="urn:GetData" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
<wsdl:fault name="DataServiceFault">
<soap12:fault use="literal" name="DataServiceFault"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="GetDataDSSHttpBinding" type="ns0:GetDataDSSPortType">
<http:binding verb="POST"/>
<wsdl:operation name="GetData">
<http:operation location="GetData"/>
<wsdl:input>
<mime:content type="text/xml" part="parameters"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="parameters"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="GetDataDSS">
<wsdl:port name="SecureSOAP11Endpoint" binding="ns0:GetDataDSSSOAP11Binding">
<soap:address location="https://XXXXXX:8243/services/GetDataDSS.SecureSOAP11Endpoint"/>
</wsdl:port>
<wsdl:port name="SOAP11Endpoint" binding="ns0:GetDataDSSSOAP11Binding">
<soap:address location="http://XXXXXX:8280/services/GetDataDSS.SOAP11Endpoint"/>
</wsdl:port>
<wsdl:port name="SecureSOAP12Endpoint" binding="ns0:GetDataDSSSOAP12Binding">
<soap12:address location="https://XXXXXX:8243/services/GetDataDSS.SecureSOAP12Endpoint"/>
</wsdl:port>
<wsdl:port name="SOAP12Endpoint" binding="ns0:GetDataDSSSOAP12Binding">
<soap12:address location="http://XXXXXX:8280/services/GetDataDSS.SOAP12Endpoint"/>
</wsdl:port>
<wsdl:port name="SecureHTTPEndpoint" binding="ns0:GetDataDSSHttpBinding">
<http:address location="https://XXXXXX:8243/services/GetDataDSS.SecureHTTPEndpoint"/>
</wsdl:port>
<wsdl:port name="HTTPEndpoint" binding="ns0:GetDataDSSHttpBinding">
<http:address location="http://XXXXXX:8280/services/GetDataDSS.HTTPEndpoint"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
ERROR- Client Utils. The system cannot infer the the system cannot infer the transport information from the services/test.testHttpSoap12Endpoint URL
<property name="REST_URL_POSTFIX" scope="axis2" action="remove"/>