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.400 second using v1.01-cache-2.11-cpan-8d75d55dd25 )