Hi Eric

This is an extract from my code :

use Google::Adwords::AdService;
use SOAP::Lite +trace => [qw/ debug method fault /]; #global debug for
SOAP calls
#
# charge config for connect to web services
#
$main::_CONFIG->{root}= '' if ( !defined $main::_CONFIG->{root});
my $rh_ad_service = Google::Adwords::AdService->new();
my $path =  $main::_CONFIG->root().'tools/google/bid_managments/'.
$ADS_PROVIDER.'-adwords.yml';
# init $rh_ad_service with info $path, $APPLI_ENV, $CLIENT_CONNECT :
this works good
google_service_init($rh_ad_service, $path, $APPLI_ENV,
$CLIENT_CONNECT);

# I find the adgroup id and stock it in var $adgroup_id

my @rh_ads_response = {};
ev...@rh_ads_response = $rh_ad_service->getAllAds( [$adgroup_id] );};


the request sends to Google with SOAP :

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:namesp1="http://namespaces.soaplite.com/perl";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
 <soap:Header>
  <email>em...@weborama.com</email>
  <password>PASSWORD</password>
  <useragent>USERAGENT</useragent>
  <developerToken>DEVEL_TOKEN</developerToken>
  <applicationToken>APPLI_TOKEN</applicationToken>
  <clientEmail />
  <clientCustomerId>883858XXXX</clientCustomerId>
 </soap:Header>
 <soap:Body>
  <getAllAds>
   <adGroupIds soapenc:arrayType="xsd:int[1]" xsi:type="namesp1">
    <item xsi:type="xsd:int">107158XXXX</item>
   </adGroupIds>
  </getAllAds>
 </soap:Body>
</soap:Envelope>


Response from google :

SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal
Server Error
Cache-Control: private, max-age=0
Connection: close
Date: Mon, 26 Oct 2009 10:05:17 GMT
Server: GFE/2.0
Content-Type: text/xml; charset=utf-8
Expires: Mon, 26 Oct 2009 10:05:17 GMT
Client-Date: Mon, 26 Oct 2009 10:05:17 GMT
Client-Peer: 209.85.229.112:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /C=US/O=Equifax/OU=Equifax Secure Certificate
Authority
Client-SSL-Cert-Subject: /C=US/ST=California/L=Mountain View/O=Google
Inc./CN=adwords.google.com
Client-SSL-Cipher: RC4-SHA
Client-SSL-Warning: Peer certificate not verified
Client-Transfer-Encoding: chunked
X-Content-Type-Options: nosniff
X-XSS-Protection: 0

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/
envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
 <soapenv:Header>
  <responseTime soapenv:actor="http://schemas.xmlsoap.org/soap/actor/
next" soapenv:mustUnderstand="0" xmlns="https://adwords.google.com/api/
adwords/v13">67</responseTime>
  <operations soapenv:actor="http://schemas.xmlsoap.org/soap/actor/
next" soapenv:mustUnderstand="0" xmlns="https://adwords.google.com/api/
adwords/v13">0</operations>
  <units soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next";
soapenv:mustUnderstand="0" xmlns="https://adwords.google.com/api/
adwords/v13">0</units>
  <requestId soapenv:actor="http://schemas.xmlsoap.org/soap/actor/
next" soapenv:mustUnderstand="0" xmlns="https://adwords.google.com/api/
adwords/v13">8136a85e38416632c81103a48fe63382</requestId>
 </soapenv:Header>
 <soapenv:Body>
  <soapenv:Fault>
     <faultcode>Server.userException</faultcode>
     <faultstring>No such operation 'getAllAds'</faultstring>
     <detail>
      <ns1:stackTrace xmlns:ns1="http://xml.apache.org/axis/";>No such
operation 'getAllAds'
        at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:
286)
        at org.apache.axis.message.RPCElement.getParams(RPCElement.java:342)
        at org.apache.axis.providers.java.RPCProvider.processMessage
(RPCProvider.java:146)
        at com.google.ads.netapi.config.AdWordsApiProvider.processMessage
(AdWordsApiProvider.java:62)
        at org.apache.axis.providers.java.JavaProvider.invoke
(JavaProvider.java:319)
        at org.apache.axis.strategies.InvocationStrategy.visit
(InvocationStrategy.java:32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:
450)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:
637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at org.apache.axis.transport.http.AxisServletBase.service
(AxisServletBase.java:301)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at com.google.gse.FilteredServlet$ChainEnd.doFilter
(FilteredServlet.java:172)
        at com.google.inject.servlet.DefaultFilterPipeline.dispatch
(DefaultFilterPipeline.java:43)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:
110)
        at com.google.gse.FilteredServlet$Chain.doFilter(FilteredServlet.java:
149)
        at com.google.soap.base.LoggingFilter.doFilter(LoggingFilter.java:
142)
        at com.google.gse.FilteredServlet$Chain.doFilter(FilteredServlet.java:
149)
        at
com.google.servlet.balancing.LoadBalancingFilter.processRequestLocally
(LoadBalancingFilter.java:425)
        at com.google.servlet.balancing.LoadBalancingFilter.loadBalanceRequest
(LoadBalancingFilter.java:228)
        at com.google.servlet.balancing.LoadBalancingFilter.doFilter
(LoadBalancingFilter.java:169)
        at com.google.gse.FilteredServlet$Chain.doFilter(FilteredServlet.java:
149)
        at com.google.gse.FilteredServlet.service(FilteredServlet.java:120)
        at com.google.gse.HttpConnection.runServletFromWithinSpan
(HttpConnection.java:904)
        at com.google.gse.HttpConnection.access$000(HttpConnection.java:65)
        at com.google.gse.HttpConnection$1.runServletFromWithinSpan
(HttpConnection.java:832)
        at com.google.gse.GSETraceHelper$TraceableServletRunnable$2.run
(GSETraceHelper.java:468)
        at com.google.tracing.LocalTraceSpanRunnable.run
(LocalTraceSpanRunnable.java:56)
        at com.google.tracing.LocalTraceSpanBuilder.run
(LocalTraceSpanBuilder.java:486)
        at com.google.gse.GSETraceHelper
$TraceableServletRunnable.beginNewTrace(GSETraceHelper.java:412)
        at com.google.gse.GSETraceHelper
$TraceableServletRunnable.runWithTracingEnabled(GSETraceHelper.java:
359)
        at com.google.gse.GSETraceHelper$TraceableServletRunnable.run
(GSETraceHelper.java:340)
        at com.google.gse.HttpConnection.runServlet(HttpConnection.java:828)
        at com.google.gse.HttpConnection.run(HttpConnection.java:795)
        at com.google.gse.DispatchQueue$WorkerThread.run(DispatchQueue.java:
378)
</ns1:stackTrace>
   </detail>
  </soapenv:Fault>
 </soapenv:Body>
</soapenv:Envelope>

The similary code to getAllCriteria or getAllAdgroups works good. I
have this problem only in production for functions getAllAds and
getActiveAds. this is really strange.

Thank you again for your help.
Nicolas


On Oct 23, 3:31 pm, AdWords API Advisor <adwordsapiadvi...@google.com>
wrote:
> Hi Nicolas,
>
> Can you post some of the code you are using and perhaps more
> information from the SOAP fault?
>
> Thanks,
> - Eric Koleda, AdWords API Team
>
> On Oct 22, 11:36 am, kolok <noud...@weborama.com> wrote:
>
> > Hello,
>
> > My name is Nicolas from France. I developed a web services software
> > which use adwords API in perl.
>
> > When i use getActiveAds and getAllAds from Google::Adwords::AdService.
> > it works on the sandbox but SOAP Fault is returned when I use them in
> > production environment.
>
> > The full error is :
> > Fault Code: Server.userException
> > Fault Description: No such operation 'getActiveAds'
>
> > Thank you very much for your help.
>
> > Best regards,
> > Nicolas
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to 
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/adwords-api?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to