Salesforce
view release on metacpan or search on metacpan
lib/Salesforce.pm view on Meta::CPAN
bless {
"style" => 'document',
"transport" => 'http://schemas.xmlsoap.org/soap/http',
"address" => $params{'address'},
"encoding" => $params{'encoding'}
}, $class;
}
sub get_session_header {
my $self = shift;
return SOAP::Header->name( 'SessionHeader' =>
\SOAP::Header->name( 'sessionId' => $self->{'sessionId'} ) );
}
sub login {
my $self = shift;
my (%in) = @_;
my $client =
SOAP::Lite->deserializer( Salesforce::Deserializer->new )
->on_action( sub { return '""' } )->uri('urn:partner.soap.sforce.com')
->proxy( $self->{address} );
lib/Salesforce.pm view on Meta::CPAN
my (%in) = @_;
my $client =
SOAP::Lite->deserializer( Salesforce::Deserializer->new )
->on_action( sub { return '""' } )->uri('urn:partner.soap.sforce.com')
->proxy( $self->{address} );
my $r = $client->query(
$self->get_session_header(),
SOAP::Data->name( 'query' => $in{'query'} ),
SOAP::Header->name(
'QueryOptions' => \SOAP::Header->name( 'batchSize' => $in{'limit'} )
)
);
return $r;
}
sub queryMore {
my $self = shift;
my (%in) = @_;
my $client =
SOAP::Lite->deserializer( Salesforce::Deserializer->new )
->on_action( sub { return '""' } )->uri('urn:partner.soap.sforce.com')
->proxy( $self->{address} );
my $r = $client->queryMore(
$self->get_session_header(),
SOAP::Data->name( 'queryLocator' => $in{'queryLocator'} ),
SOAP::Header->name(
'QueryOptions' => \SOAP::Header->name( 'batchSize' => $in{'limit'} )
)
);
return $r;
}
sub xml_encode {
my ( $self, $string ) = @_;
if ( defined $self->{'encoding'} and length( $self->{'encoding'} ) > 0 ) {
my @array = split( //, Encode::decode( $self->{'encoding'}, $string ) );
( run in 0.336 second using v1.01-cache-2.11-cpan-454fe037f31 )