Error: unexpected message type received - expected BytesMessage - While 
invoking the client program.
----------------------------------------------------------------------------------------------------

                 Key: AMQ-1924
                 URL: https://issues.apache.org/activemq/browse/AMQ-1924
             Project: ActiveMQ
          Issue Type: Bug
          Components: JMS client
         Environment: SOAP Server used: AXIS2
JMS server: apache-activemq-5.0.0
OS: windows
Java 1.4


            Reporter: REJI R S
         Attachments: ActiveMQAxisClient.java, AXISJMS.ZIP

i am trying to invoke a webservice using JMS transport. (SOAP over JMS). i have 
configured Axis2.xml properly, added following entry 
http://ws.apache.org/axis2/1_1/jms-transport.html followed this url for adding 
these entry.

 <transportReceiver name="jms" 
class="org.apache.axis2.transport.jms.JMSListener">
       <parameter name="myTopicConnectionFactory">
                <parameter 
name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
                <parameter 
name="java.naming.provider.url">tcp://localhost:61616</parameter>
                <parameter 
name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter>
        </parameter>

        <parameter name="myQueueConnectionFactory">
                <parameter 
name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
                <parameter 
name="java.naming.provider.url">tcp://localhost:61616</parameter>
                <parameter 
name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
        </parameter>
        
        <parameter name="default">
                <parameter 
name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
                <parameter 
name="java.naming.provider.url">tcp://localhost:61616</parameter>
                <parameter 
name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
        </parameter>
    </transportReceiver>

i am able to deploy the webservice in Axis2 and wsdl was also generated 
properly. Using ActiveMQAxisClient.java program invoking the webservice. The 
webserice is getting invoked and seeing loggers added in the webservice method. 
But the method is not getting properly and getting the below exception,

log4j:WARN No appenders could be found for logger (org.apache.axis.AxisEngine).
log4j:WARN Please initialize the log4j system properly.
before invoke
Exception in thread "main" AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
 faultSubcode: 
 faultString: Failed in GetTAddressImpl(); nested exception is: 
        failedSend; nested exception is: 
        org.apache.axis.transport.jms.InvokeException: Error: unexpected 
message type received - expected BytesMessage
 faultActor: 
 faultNode: 
 faultDetail: 
        {http://xml.apache.org/axis/}hostname:chn705087

Failed in GetTAddressImpl(); nested exception is: 
        failedSend; nested exception is: 
        org.apache.axis.transport.jms.InvokeException: Error: unexpected 
message type received - expected BytesMessage
        at 
sample.addressbook.rpcclient.ActiveMQAxisClient.getTAddress(ActiveMQAxisClient.java:78)
        at 
sample.addressbook.rpcclient.ActiveMQAxisClient.main(ActiveMQAxisClient.java:42)
Caused by: failedSend; nested exception is: 
        org.apache.axis.transport.jms.InvokeException: Error: unexpected 
message type received - expected BytesMessage
        at org.apache.axis.transport.jms.JMSSender.invoke(JMSSender.java:107)
        at 
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:2443)
        at org.apache.axis.client.Call.invoke(Call.java:2366)
        at org.apache.axis.client.Call.invoke(Call.java:1812)
        at 
sample.addressbook.rpcclient.ActiveMQAxisClient.getTAddress(ActiveMQAxisClient.java:71)
        ... 1 more
Caused by: org.apache.axis.transport.jms.InvokeException: Error: unexpected 
message type received - expected BytesMessage
        at 
org.apache.axis.transport.jms.JMSConnector$SyncConnection$SendSession.call(JMSConnector.java:693)
        at 
org.apache.axis.transport.jms.JMSConnector$SyncConnection.call(JMSConnector.java:485)
        at org.apache.axis.transport.jms.JMSEndpoint.call(JMSEndpoint.java:71)
        at org.apache.axis.transport.jms.JMSSender.invoke(JMSSender.java:96)
        ... 11 more

Can anybody suggest me a solution for this. Is this a bug in ActiveMQ. i 
believe ActiveMQ is returning ActiveMQTextMessage, and the reciever is 
expecting ByteMessage. is there any solution available for this.

Thanks in advance,

Regards,
Reji


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to