WWW-Salesforce

 view release on metacpan or  search on metacpan

lib/WWW/Salesforce.pm  view on Meta::CPAN

        die("A query is needed for the query() method.");
    }
    if (!defined $in{'limit'} || $in{'limit'} !~ m/^\d+$/) {
        $in{'limit'} = 500;
    }
    if ($in{'limit'} < 1 || $in{'limit'} > 2000) {
        die("A query's limit cannot exceed 2000. 500 is default.");
    }

    my $limit
        = SOAP::Header->name(
        'QueryOptions' => \SOAP::Header->name('batchSize' => $in{'limit'}))
        ->prefix($SF_PREFIX)->uri($SF_URI);
    my $client = $self->_get_client();
    my $r      = $client->query(SOAP::Data->type('string' => $in{'query'}),
        $limit, $self->_get_session_header());

    unless ($r) {
        die "could not query " . $in{'query'};
    }
    if ($r->fault()) {
        die($r->faultstring());

lib/WWW/Salesforce.pm  view on Meta::CPAN

    if ( !defined $in{'query'} || !length $in{'query'} ) {
        die("A query is needed for the query() method.");
    }
    if ( !defined $in{'limit'} || $in{'limit'} !~ m/^\d+$/ ) {
        $in{'limit'} = 500;
    }
    if ( $in{'limit'} < 1 || $in{'limit'} > 2000 ) {
        die("A query's limit cannot exceed 2000. 500 is default.");
    }

    my $limit = SOAP::Header->name(
        'QueryOptions' => \SOAP::Header->name( 'batchSize' => $in{'limit'} ) )
      ->prefix($SF_PREFIX)->uri($SF_URI);
    my $client = $self->_get_client();
    my $r = $client->queryAll( SOAP::Data->name( 'queryString' => $in{'query'} ),
        $limit, $self->_get_session_header() );

    unless ($r) {
        die "could not query " . $in{'query'};
    }
    if ( $r->fault() ) {
        die( $r->faultstring() );

lib/WWW/Salesforce.pm  view on Meta::CPAN

    my (%in) = @_;
    if ( !defined $in{'queryLocator'} || !length $in{'queryLocator'} ) {
        die("A hash expected with key 'queryLocator'");
    }
    $in{'limit'} = 500
      if ( !defined $in{'limit'} || $in{'limit'} !~ m/^\d+$/ );
    if ( $in{'limit'} < 1 || $in{'limit'} > 2000 ) {
        die("A query's limit cannot exceed 2000. 500 is default.");
    }

    my $limit = SOAP::Header->name(
        'QueryOptions' => \SOAP::Header->name( 'batchSize' => $in{'limit'} ) )
      ->prefix($SF_PREFIX)->uri($SF_URI);
    my $client = $self->_get_client();
    my $r      = $client->queryMore(
        SOAP::Data->name( 'queryLocator' => $in{'queryLocator'} ),
        $limit, $self->_get_session_header() );

    unless ($r) {
        die "could not queryMore " . $in{'queryLocator'};
    }

lib/WWW/Salesforce.pm  view on Meta::CPAN

        = SOAP::Lite->readable($readable)
        ->deserializer(WWW::Salesforce::Deserializer->new)
        ->serializer(WWW::Salesforce::Serializer->new)
        ->on_action(sub { return '""' })->uri($SF_URI)->multirefinplace(1)
        ->proxy($self->{'sf_metadataServerUrl'})->soapversion('1.1');
    return $client;
}

sub _get_session_header {
    my ($self) = @_;
    return SOAP::Header->name('SessionHeader' =>
            \SOAP::Header->name('sessionId' => $self->{'sf_sid'}))
        ->uri($SF_URI)->prefix($SF_PREFIX);
}

sub _get_session_header_meta {
    my ($self) = @_;
    return SOAP::Header->name( 'SessionHeader' =>
            \SOAP::Header->name( 'sessionId' => $self->{'sf_sid'} ) )
        ->uri($SF_URIM)->prefix($SF_PREFIX);
}


1;
__END__


=head1 EXAMPLES



( run in 0.646 second using v1.01-cache-2.11-cpan-454fe037f31 )