Client Error (400)

400 views
Skip to first unread message

ASFA

unread,
Jun 10, 2011, 4:49:29 PM6/10/11
to Google App Engine
I'm trying to upload an new app, but got the following error :

Reading application configuration data...
Jun 10, 2011 4:44:30 PM
com.google.apphosting.utils.config.AppEngineWebXmlReader
readAppEngineWebXml
INFO: Successfully processed C:/ASFA-Web/build/web\WEB-INF/appengine-
web.xml
Jun 10, 2011 4:44:30 PM
com.google.apphosting.utils.config.AbstractConfigXmlReader
readConfigXml
INFO: Successfully processed C:/ASFA-Web/build/web\WEB-INF/web.xml
Beginning server interaction for ASFA-Web...
0% Created staging directory at: 'C:\Users\Fni\AppData\Local\Temp
\appcfg3439629916490394595.tmp'
5% Scanning for jsp files.
20% Scanning files on local disk.
25% Initiating update.

java.io.IOException: Error posting to URL:
https://appengine.google.com/api/appversion/create?app_id=ASFA-Web&version=1&
400 Bad Request

Client Error (400)
The request is invalid for an unspecified reason.

Unable to update app: Error posting to URL:
https://appengine.google.com/api/appversion/create?app_id=ASFA-Web&version=1&
400 Bad Request

Client Error (400)
The request is invalid for an unspecified reason.

Please see the logs [C:\Users\Fni\AppData\Local\Temp
\appcfg5321460932094640081.log] for further information.

=========================================================================
How to fix it ?

Frank

Adam Presley

unread,
Jun 11, 2011, 10:00:45 AM6/11/11
to google-a...@googlegroups.com
I am also having this issue. Below is the stack dump and error.

Unable to update:
java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/deploy?app_id=adammaryannewedding&version=4&

400 Bad Request
Client Error (400)
The request is invalid for an unspecified reason.
at com.google.appengine.tools.admin.AbstractServerConnection.send(AbstractServerConnection.java:245)
at com.google.appengine.tools.admin.AbstractServerConnection.post(AbstractServerConnection.java:207)
at com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.java:638)
at com.google.appengine.tools.admin.AppVersionUpload.deploy(AppVersionUpload.java:595)
at com.google.appengine.tools.admin.AppVersionUpload.commit(AppVersionUpload.java:556)
at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:154)
at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:259)
at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:47)
at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:572)
at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:144)
at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:65)
at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:61)
com.google.appengine.tools.admin.AdminException: Unable to update app: Error posting to URL: https://appengine.google.com/api/appversion/deploy?app_id=adammaryannewedding&version=4&

400 Bad Request
Client Error (400)
The request is invalid for an unspecified reason.
at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:264)
at com.google.appengine.tools.admin.AppAdminImpl.update(AppAdminImpl.java:47)
at com.google.appengine.tools.admin.AppCfg$UpdateAction.execute(AppCfg.java:572)
at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:144)
at com.google.appengine.tools.admin.AppCfg.<init>(AppCfg.java:65)
at com.google.appengine.tools.admin.AppCfg.main(AppCfg.java:61)
Caused by: java.io.IOException: Error posting to URL: https://appengine.google.com/api/appversion/deploy?app_id=adammaryannewedding&version=4&

400 Bad Request
Client Error (400)
The request is invalid for an unspecified reason.
at com.google.appengine.tools.admin.AbstractServerConnection.send(AbstractServerConnection.java:245)
at com.google.appengine.tools.admin.AbstractServerConnection.post(AbstractServerConnection.java:207)
at com.google.appengine.tools.admin.AppVersionUpload.send(AppVersionUpload.java:638)
at com.google.appengine.tools.admin.AppVersionUpload.deploy(AppVersionUpload.java:595)
at com.google.appengine.tools.admin.AppVersionUpload.commit(AppVersionUpload.java:556)
at com.google.appengine.tools.admin.AppVersionUpload.doUpload(AppVersionUpload.java:154)
at com.google.appengine.tools.admin.AppAdminImpl.doUpdate(AppAdminImpl.java:259)
... 5 more

My appengine-web.xml file looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <application>adammaryannewedding</application>
    
    <version>4</version>
    <!-- Enable concurrent requests by default to serve requests in parallel -->
    <threadsafe>true</threadsafe>
    <!-- If all your templates and groovlets are encoding in UTF-8 -->
    <!-- Please specify the settings below, otherwise weird characters may appear in your templates -->
    <system-properties>
        <property name="file.encoding" value="UTF-8"/>
        <property name="groovy.source.encoding" value="UTF-8"/>
        <property name="java.util.logging.config.file" value="WEB-INF/logging.properties" />
    </system-properties>
    <!-- It it advised to keep this parameter to true -->
    <!-- as per the release of SDK 1.2.8, -->
    <!-- this should speed up cold startups of applications by 10% -->
    <precompilation-enabled>true</precompilation-enabled>
    
    <static-files>
        <exclude path="/WEB-INF/**.groovy" />
        <exclude path="**.gtpl" />
    </static-files>
</appengine-web-app>

And finally my web.xml

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
    <listener>
        <listener-class>groovyx.gaelyk.GaelykServletContextListener</listener-class>
    </listener>
    
<security-constraint>
<web-resource-collection>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
 
    <servlet>
        <servlet-name>GroovletServlet</servlet-name>
        <servlet-class>groovyx.gaelyk.GaelykServlet</servlet-class>
        <init-param>
            <param-name>verbose</param-name>
            <!-- Set it to true for more details -->
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>TemplateServlet</servlet-name>
        <servlet-class>groovyx.gaelyk.GaelykTemplateServlet</servlet-class>
        <init-param>
            <!-- Remove the default "generated by" messages from the templates -->
            <param-name>generated.by</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>verbose</param-name>
            <!-- Output generation time in the HTML, see source page -->
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <filter>
        <filter-name>RoutesFilter</filter-name>
        <filter-class>groovyx.gaelyk.routes.RoutesFilter</filter-class>
    </filter>
    <servlet-mapping>
        <servlet-name>GroovletServlet</servlet-name>
        <url-pattern>*.groovy</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>TemplateServlet</servlet-name>
        <url-pattern>*.gtpl</url-pattern>
    </servlet-mapping>
    <filter-mapping>
        <filter-name>RoutesFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <welcome-file-list>
        <welcome-file>index.gtpl</welcome-file>
    </welcome-file-list>
</web-app>


Adam Presley

unread,
Jun 11, 2011, 5:34:23 PM6/11/11
to google-a...@googlegroups.com
And the answer comes from some old archived forum entries.  1,000 files is the limit.  If I exceed that limit I get the nasty 400 unspecified error.  Although I'm not agreeing with the 1,000 file limit, a little help in the exception report would go a long way.  Hope this helps anyone else experiencing this.

Robert Kluin

unread,
Jun 12, 2011, 9:22:06 PM6/12/11
to google-a...@googlegroups.com
The limit is 3,000 files.

http://code.google.com/appengine/docs/java/runtime.html#Quotas_and_Limits
http://code.google.com/appengine/docs/python/runtime.html#Quotas_and_Limits

For Python apps, you can use zipimport to get around the limit.
http://code.google.com/appengine/docs/python/tools/libraries.html#zipimport


Robert

> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/7IfJUwLDhI8J.
> To post to this group, send email to google-a...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengi...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>

Reply all
Reply to author
Forward
0 new messages