I am new to WSO2. I have created a proxy service which receives messages and then stores them in a jms message queue in WSO2 Message Broker. The messages from the message queue are then picked up by the message processor, which forwards them to the backend service for processing. All the configuration is done following the documentation provided by WSO2 at https://docs.wso2.com/display/ESB481/Store+and+Forward+Using+JMS+Message+Stores
The message is being successfuly stored in the message queue and i can see it from the message broker management console. But when the message processor reads the message to send it to the backend for processing i get the following error
ERROR- Client Utils. The system cannot infer the the system cannot infer the transport information from the services/test.testHttpSoap12Endpoint URL
I have been searching for days an could not get this resolved.
The following are my configurations.
`
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="abdtest"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<property name="OUT_ONLY" value="false"/>
<property name="FORCE_SC_ACCEPTED" scope="axis2" value="true"/>
<store messageStore="testingstore"/>
</inSequence>
</target>
<publishWSDL preservePolicy="true"
uri="http://10.100.32.65:8280/services/GetDataDSS?wsdl"/>
<description/>
</proxy>
`
Message Store Settings `
<messageStore name="testingstore" class="org.apache.synapse.message.store.impl.jms.JmsStore" xmlns="http://ws.apache.org/ns/synapse">
<parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
<parameter name="java.naming.provider.url">conf/jndi.properties</parameter>
<parameter name="store.jms.destination">testingstore</parameter>
<parameter name="store.jms.JMSSpecVersion">1.1</parameter>
<parameter name="store.producer.guaranteed.delivery.enable">false</parameter>
<parameter name="store.failover.message.store.name">testingstore</parameter>
</messageStore>
**Message Processor Settings**
<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 Configuration `
<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>
`
Backend Serivce Created by In wso2 esb DSS `
<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>
`
** Backend dataservice WSDL** `
<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>
`