0

私の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 にアップロードすると、次のエラー メッセージが表示されます。

"Deploying App to Google" 中に内部エラーが発生しました。/Users/Aptos/Documents/workspace/App/war/WEB-INF/cron.xml を /Users/Aptos/appengine-java-sdk-1.7.0/docs/cron.xsd に対して検証する XML エラー


cron.xsd ファイル:

http://code.google.com/p/googleappengine/source/browse/trunk/java/docs/cron.xsd?r=109

解決策: url 要素に特殊な XML 文字 &、<、>、'、または " が含まれている場合は、それらをエスケープする必要があります。
どうもありがとうございました。

4

3 に答える 3

1

At least in the file you link to there is no target element in the cron element.
It looks like you have an old xsd file the latest xsd look like this:

<?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>
于 2012-07-10T08:34:30.993 に答える
1

追加のタグ :target (最後のタグ) があります。このタグは XSD には表示されません。

于 2012-07-10T08:31:48.180 に答える
0

これらの AppEngine 構成ファイルの XSD は「名前空間なし」(つまり、appengine-web.xsd の xs:schema と比較して targetNamespace がない) であるため、次のように宣言する必要があります。

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

于 2013-08-26T23:40:08.630 に答える