我的cron.xml:
<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
<cron>
<url>/myURL</url>
<description>Backup data 02 times per day</description>
<schedule>every 12 hours</schedule>
<timezone>America/New_York</timezone>
<target>ah-builtin-python-bundle</target>
</cron>
</cronentries>
当我将应用程序上传到gae时,收到错误消息:
在“将应用程序部署到Google”期间发生内部错误。 XML 错误验证 /Users/Aptos/Documents/workspace/App/war/WEB-INF/cron.xml反对 /Users/Aptos/appengine-java-sdk-1.7.0/docs/cron.xsd
cron.xsd文件:
http://code.google.com/p/googleappengine/source/browse/trunk/java/docs/cron.xsd?r=109
解决方案:如果url元素包含特殊的XML字符&amp;,&lt;,&gt;,'或“,则应该将它们转义。
非常感谢
答案 0 :(得分:1)
您有一个额外的标签:target(最后一个标签),此标签不会出现在XSD中。
答案 1 :(得分:1)
至少在链接到的文件中,cron元素中没有目标元素 看起来你有一个旧的xsd文件,最新的xsd看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="cronentries" type="cronentries-Type"/>
<xs:complexType name="cronentries-Type">
<xs:sequence>
<xs:element type="cron-Type" name="cron" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="cron-Type">
<xs:all>
<xs:element type="xs:string" name="url"/>
<xs:element type="xs:string" name="description" minOccurs="0"/>
<xs:element type="xs:string" name="schedule"/>
<xs:element type="xs:string" name="timezone" minOccurs="0"/>
<xs:element type="target-Type" name="target" minOccurs="0"/>
</xs:all>
</xs:complexType>
<xs:simpleType name="target-Type">
<xs:restriction base="xs:string">
<xs:pattern value="[a-z\d\-]{1,100}"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
答案 2 :(得分:0)
这些AppEngine配置文件的XSD是“无命名空间”(即没有targetNamespace与appengine-web.xsd的xs:schema比较),因此您必须将其声明为:
<?xml version="1.0" encoding="UTF-8"?>
<cronentries xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://googleappengine.googlecode.com/svn-history/r109/trunk/java/docs/cron.xsd">
<cron>
<url>/myURL</url>
<description>Backup data 02 times per day</description>
<schedule>every 12 hours</schedule>
<timezone>America/New_York</timezone>
<target>ah-builtin-python-bundle</target>
</cron>
</cronentries>
另请注意,您必须使用文件的原始版本:
https://googleappengine.googlecode.com/svn-history/r109/trunk/java/docs/cron.xsd
而不是浏览器版本:
https://code.google.com/p/googleappengine/source/browse/trunk/java/docs/cron.xsd?r=109