SOAP-Transport-JABBER
view release on metacpan or search on metacpan
lib/SOAP/Transport/JABBER.pm view on Meta::CPAN
return $self->SUPER::endpoint unless @_;
my $endpoint = shift;
# nothing to do if new endpoint is the same as current one
return $self
if $self->SUPER::endpoint && $self->SUPER::endpoint eq $endpoint;
my $uri = URI->new($endpoint);
my ( $undef, $to, $resource ) = split m!/!, $uri->path, 3;
$self->Connect(
hostname => $uri->host,
port => $uri->port,
) or Carp::croak "Can't connect to @{[$uri->host_port]}: $!";
my @result = $self->AuthSend(
username => $uri->user,
password => $uri->password,
resource => 'soapliteClient',
);
lib/SOAP/Transport/JABBER.pm view on Meta::CPAN
$self->SUPER::endpoint($endpoint);
}
sub send_receive {
my ( $self, %parameters ) = @_;
my ( $envelope, $endpoint, $encoding ) =
@parameters{qw(envelope endpoint encoding)};
$self->endpoint( $endpoint ||= $self->endpoint );
my ( $undef, $to, $resource ) = split m!/!, URI->new($endpoint)->path, 3;
# Create a Jabber info/query message
my $iq = new Net::Jabber::IQ();
$iq->SetIQ(
type => 'set',
to => join '/',
$to => $resource || 'soapliteServer',
);
my $query = $iq->NewQuery($NAMESPACE);
$query->SetPayload($envelope);
lib/SOAP/Transport/JABBER.pm view on Meta::CPAN
my $class = ref($self) || $self;
my $uri = URI->new(shift);
$self = $class->SUPER::new(@_);
$self->{_jabberserver} = Net::Jabber::Client->new;
$self->{_jabberserver}->Connect(
hostname => $uri->host,
port => $uri->port,
) or Carp::croak "Can't connect to @{[$uri->host_port]}: $!";
my ( $undef, $resource ) = split m!/!, $uri->path, 2;
my @result = $self->AuthSend(
username => $uri->user,
password => $uri->password,
resource => $resource || 'soapliteServer',
);
$result[0] eq "ok"
or Carp::croak
"Can't authenticate to @{[$uri->host_port]}: @result";
$self->{_jabberserver}->SetCallBacks(
( run in 1.385 second using v1.01-cache-2.11-cpan-71847e10f99 )