XML to JSON 정책 배포 오류 문제 해결

ApigeeApigee Hybrid 문서입니다.
Apigee Edge 문서 보기

EitherOptionOrFormat

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision [revision_number]
XMLToJSON[{0}]: Either Options or Format must be specified.

오류 예시

Error Saving Revision 1
XMLToJSON[{0}]: Either Options or Format must be specified.

예시 스크린샷

옵션 또는 형식에 오류 메시지를 지정해야 합니다.

원인

<Options> 또는 <Format> 요소 중 하나가 XML to JSON 정책에 선언되지 않으면 API 프록시 배포에 실패합니다.

<Format>을 사용하지 않는 경우 <Options>이 필요합니다.

<Format> 요소 또는 <Options> 요소 그룹을 사용하세요. <Format><Options>을 둘 다 사용할 수는 없습니다. 사전 정의된 형식에는 xml.com, yahoo, google, badgerFish가 있습니다.

진단

  1. 실패가 발생한 특정 API 프록시에서 모든 XML to JSON 정책을 조사합니다. <Options> 또는 <Format> 요소가 선언되지 않은 XML to JSON 정책이 있는 경우 그것이 오류의 원인입니다.

    예를 들어 다음 정책에는 선언된 요소가 없습니다.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON">
        <DisplayName>XMLToJSON</DisplayName>
        <Properties/>
        <OutputVariable>response</OutputVariable>
        <Source>response</Source>
    </XMLToJSON>
    

해결 방법

XML to JSON 정책의 XML에 <Options> 또는 <Format> 요소 중 하나가 선언되었는지 확인합니다.

예시 1:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON">
    <DisplayName>XMLToJSON</DisplayName>
    <Properties/>
    <Format>google</Format>
    <OutputVariable>response</OutputVariable>
    <Source>response</Source>
</XMLToJSON>

예시 2:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON">
    <DisplayName>XMLToJSON</DisplayName>
    <Properties/>
    <Options>
        <RecognizeNumber>true</RecognizeNumber>
        <RecognizeBoolean>true</RecognizeBoolean>
        <RecognizeNull>true</RecognizeNull>
    </Options>
    <OutputVariable>response</OutputVariable>
    <Source>response</Source>
</XMLToJSON>

UnknownFormat

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Saving Revision [revision_number]
XMLToJSON[policy_name]: Unknown Format [unknown_format].

오류 예시

Error Saving Revision 1
XMLToJSON[WithFormat]: Unknown Format google.com.

예시 스크린샷

알 수 없는 형식의 오류 메시지입니다.

원인

XML to JSON 정책의 <Format> 요소에 알 수 없는 형식이 정의되어 있으면 API 프록시 배포에 실패합니다.

사전 정의된 형식에는 xml.com, yahoo, google, badgerFish가 있습니다.

진단

  1. 오류가 발생했고 알 수 없는 형식의 XML to JSON 정책을 식별합니다. 이 정보는 오류 메시지에서 확인할 수 있습니다. 예를 들어 다음 오류에서 정책 이름은 WithFormat이고 알 수 없는 형식은 google.com입니다.

    Error Saving Revision 1
    XMLToJSON[WithFormat]: Unknown Format google.com.
    
  2. 실패한 XML to JSON 정책에 지정된 알 수 없는 형식이 오류 메시지에서 식별된 값과 일치하는지 확인합니다(위의 1단계). 예를 들어 다음 정책에서는 오류 메시지의 내용과 일치하는 google.com으로 형식을 지정합니다.

    <XMLToJSON async="false" continueOnError="false" enabled="true" name="WithFormat">
      <DisplayName>WithFormat</DisplayName>
      <Properties/>
      <Format>google.com</Format>
      <OutputVariable>response</OutputVariable>
      <Source>response</Source>
    </XMLToJSON>
    
  3. 지정된 형식이 사전 정의된 형식 xml.com, yahoo, google 또는 badgerFish 중 하나가 아닌 경우 그것이 오류의 원인입니다.

    위에 표시된 XML to JSON 정책 예시에서 형식은 google.com이며 유효하지 않습니다. 따라서 API 프록시 배포에 실패하고 오류가 발생합니다.

    XMLToJSON[WithFormat]: Unknown Format google.com.
    

해결 방법

XML to JSON으로 정책의 <Format> 요소에 지정된 형식이 올바른지 확인합니다. 예를 들면 다음과 같습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="WithFormat">
  <DisplayName>WithFormat</DisplayName>
  <Properties/>
  <Format>google</Format>
  <OutputVariable>response</OutputVariable>
  <Source>response</Source>
</XMLToJSON>