1

I would like to send a JMS message using ReadyAPI using the "Fire and forget" principle.

So the JMS request URL I use is readyjms://ems::mydestination, but when I send the request, I get an ERROR:

Wed Nov 28 11:47:29 CET 2018: INFO: Creating JmsConnection using manual configuration #ManualJmsConfiguration properties#Wed Nov 28 11:47:29 CET 2018 connectionFactoryJndiName=ConnectionFactory receiveDestinationJndiName=- password= sendDestinationJndiName=manualdestinationurl providerUrl=tcp\://localhost\:7222 initialContextFactoryClass=com.tibco.tibjms.naming.TibjmsInitialContextFactory userName=admin connectorLabel=EMS, additional properties: {}
Wed Nov 28 11:47:29 CET 2018: ERROR: An error occurred [Name not found: '-'], see error log for details
Wed Nov 28 11:47:29 CET 2018: ERROR: An error occurred [The JNDI name was not found: Name not found: '-'. Make sure the specified name is correct and additional JNDI properties are specified.], see error log for details
Wed Nov 28 11:47:29 CET 2018: INFO: Error getting response for [EmsBaseServiceBinding.emsBase:JMS Request]; null

And when I do provide a response url like this readyjms://ems::mydestination::mydestination, I do receive the message I send.

I also didn't define a response in the WSDL

<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="EmsBase_v1_0" targetNamespace="http://www.mycompany.com/bw/wsdl/EmsBase/1" xmlns:jms="http://www.tibco.com/namespaces/ws/2004/soap/binding/JMS" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.mycompany.com/bw/wsdl/EmsBase/1" xmlns:tns0="http://www.mycompany.com/bw/wsdl/EmsBase/1.0" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <wsdl:types>
    <xsd:schema targetNamespace="http://www.mycompany.com/bw/wsdl/EmsBase/1.0" xmlns="http://www.brabantia.com/bw/wsdl/EmsBase/1.0">
      <xsd:element name="emsBase">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="base" type="xsd:string"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="emsBase">
    <wsdl:part element="tns0:emsBase" name="parameters"/>
  </wsdl:message>
  <wsdl:portType name="EmsBase_v1_0">
    <wsdl:operation name="emsBase">
      <wsdl:input message="tns:emsBase" name="emsBase"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="EmsBaseServiceBinding" type="tns:EmsBase_v1_0">
    <soap:binding style="document" transport="http://www.tibco.com/namespaces/ws/2004/soap/binding/JMS"/>
    <jms:binding messageFormat="bytes"/>
    <wsdl:operation name="emsBase">
      <soap:operation soapAction="emsBase" style="document"/>
      <wsdl:input>
        <soap:body parts="parameters" use="literal"/>
      </wsdl:input>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="EmsBase_v1_0">
    <wsdl:port binding="tns:EmsBaseServiceBinding" name="EmsBase_v1_0SOAP">
      <soap:address location=""/>
      <jms:connectionFactory/>
      <jms:targetAddress destination="queue">dev.1.ps.q.test.app_in</jms:targetAddress>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>

So how can I send a JMS message without expecting a response?

Johan Vergeer
  • 5,208
  • 10
  • 48
  • 105

0 Answers0