Невозможно вызвать метод "заголовки" для неопределенного значения в C:/Perl/site/lib/Net/Stomp. вечера строка 122

Я пытаюсь отправить сообщение EMS из Perl в очередь на сервере EMS. Я использую модуль STOMP для подключения к очереди EMS для отправки сообщения. Вот мой код -

JMSQUEUE.pl:

use Net::Stomp;
use Net::Stomp::Frame;
my $stomp = Net::Stomp->new( { hostname => 'localhost', port => '7222' } );
$stomp->connect( { login => 'admin', passcode => '' } );
$stomp->send( { destination => '/queue/pradeepexp', body => 'test message' } );
$stomp->disconnect;

а в моем модуле - STOMP.PM:

sub connect {
    my ( $self, $conf ) = @_;

    my $frame =
      Net::Stomp::Frame->new( { command => 'CONNECT', headers => $conf } );
    $self->send_frame($frame);
    $frame = $self->receive_frame;

    # Setting initial values for session id, as given from
    # the stomp server
    $self->session_id( $frame->headers->{session} );
    $self->_connect_headers($conf);

    return $frame;
}

Какие-либо настройки мне нужно сделать перед звонком?

2 ответа

У меня была такая же проблема с отправкой сообщений из Perl в ApacheMQ. (Perl + Net-Stomp-0.45 + apache-activemq-5.8)

Это была просто маленькая ошибка. В этом файле важно установить правильные transportConnectors harddisk \ apache-activemq-5.8 \ conf \ activemq.xml.

<transportConnectors>
   <transportConnector name="stomp" uri="stomp://localhost:61616"/>
</transportConnectors>

После этого он работает нормально:D Для получения дополнительной информации: http://activemq.apache.org/stomp.html

Возможно, есть похожие файлы в EMS.

Это происходит потому, что библиотека Stomp получает неверный (или нет) ответ от посредника сообщений.

Попробуйте связаться с брокером сообщений и посмотреть, говорит ли он вообще Stomp.

Другие вопросы по тегам