File Coverage

blib/lib/AXL/Client/Simple/Role/SOAP.pm
Criterion Covered Total %
statement 4 6 66.6
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 6 8 75.0


line stmt bran cond sub pod time code
1             package AXL::Client::Simple::Role::SOAP;
2 1     1   469 use Moose::Role;
  1         2  
  1         6  
3              
4 1     1   3876 use XML::Compile::WSDL11;
  0            
  0            
5             use XML::Compile::SOAP11;
6             use XML::Compile::Transport::SOAPHTTP;
7             use File::ShareDir ();
8              
9             has transporter => (
10             is => 'ro',
11             isa => 'XML::Compile::Transport::SOAPHTTP',
12             lazy_build => 1,
13             );
14              
15             sub _build_transporter {
16             my $self = shift;
17             return XML::Compile::Transport::SOAPHTTP->new(
18             address => (sprintf 'https://%s:%s@%s:8443/axl/',
19             $self->username, $self->password, $self->server),
20             keep_alive => 0,
21             );
22             }
23              
24             has wsdl => (
25             is => 'ro',
26             isa => 'XML::Compile::WSDL11',
27             lazy_build => 1,
28             );
29              
30             sub _build_wsdl {
31             my $self = shift;
32              
33             XML::Compile->addSchemaDirs( $self->schema_path );
34             my $wsdl = XML::Compile::WSDL11->new('AXLAPI.wsdl');
35             $wsdl->importDefinitions('AXLSoap.xsd');
36              
37             return $wsdl;
38             }
39              
40             has schema_path => (
41             is => 'ro',
42             isa => 'Str',
43             lazy_build => 1,
44             );
45              
46             sub _build_schema_path {
47             my $self = shift;
48             return File::ShareDir::dist_dir('AXL-Client-Simple');
49             }
50              
51             no Moose::Role;
52             1;
53