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 -~----------~----~----~----~------~----~------~--~---