Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. info
SourceUnavailable
Hata kodu
steps.xml2json.SourceUnavailable
Hata yanıtı gövdesi
{ "fault": { "faultstring": "XMLToJSON[policy_name]: Source [source_variable] is not available", "detail": { "errorcode": "steps.xmltojson.SourceUnavailable" } } }
Örnek Hata Mesajı
{
"fault": {
"faultstring": "XMLToJSON[Convert-XMLToJSON]: Source response is not available",
"detail": {
"errorcode": "steps.xml2json.SourceUnavailable"
}
}
}
Neden
Bu hata, XML'den JSON'ye politikasının <Source>
öğesinde belirtilen mesaj veya dize değişkeni şunlardan biri olduğunda ortaya çıkar:
- Kapsam dışında (politikanın yürütüldüğü belirli akışta kullanılamaz) veya
- çözülemez (tanımlanmamıştır)
Örneğin, XML'den JSON'a politikanın istek akışında yürütülmesi gerekiyorsa ancak <Source>
öğesi, istek akışında bulunmayan response
değişkenine ayarlanmışsa bu hata meydana gelir.
Teşhis
Hatanın oluştuğu XML - JSON politikasını ve mevcut olmayan değişkenin adını tanımlayın. Bu öğelerin ikisini de hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
politikasında politika adıConvert-XMLToJSON
, değişken iseresponse
şeklindedir:"faultstring": "XMLToJSON[Convert-XMLToJSON]: Source response is not available"
Başarısız XML'den JSON'ye politika XML'inde,
<Source>
öğesinde ayarlanan değişken adının, hata dizesinde tanımlanan değişken adıyla (yukarıdaki 1. adım) eşleştiğini doğrulayın. Örneğin, aşağıdaki XML - JSON politikası,<Source>
öğesinde,faultstring
öğesindekiyle eşleşenresponse
adlı bir değişkeni belirtir:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON"> <DisplayName>Convert-XMLToJSON</DisplayName> <Properties/> <Format>google</Format> <OutputVariable>response</OutputVariable> <Source>response</Source> </XMLToJSON>
<Source>
öğesinde kullanılan değişkenin tanımlı olup olmadığını ve JSON'dan JSON politikasının yürütüldüğü akışta kullanılabilir olup olmadığını belirleyin.Değişken şunlardan biriyse:
- kapsam dışında (politikanın yürütüldüğü belirli akışta kullanılamaz) veya
- çözülemiyor (tanımlanmamış)
hatanın nedeni budur.
Örneğin, yukarıda gösterilen XML'den JSON'a politikanın istekte akışında çalıştırılması gerektiğini varsayalım.
response
değişkeninin, XML'den JSON politikasının<Source>
öğesinde kullanıldığını unutmayın. Yanıt değişkeni yalnızca yanıt akışında kullanılabilir.Yanıt değişkeni istek akışında bulunmadığından şu hata kodunu alırsınız:
steps.xml2json.SourceUnavailable
Çözünürlük
Başarısız XML'den JSON'a politikanın <Source>
öğesinde ayarlanan değişkenin, politikanın yürütüldüğü akışta tanımlandığından ve bulunduğundan emin olun.
Örnek XML'yi yukarıda gösterilen JSON'a dönüştürmek için <Source>
öğesini, request
değişkenini istek akışında var olduğu şekilde kullanacak şekilde değiştirebilirsiniz:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON">
<DisplayName>Convert-XMLToJSON</DisplayName>
<Properties/>
<Format>google</Format>
<OutputVariable>response</OutputVariable>
<Source>request</Source>
</XMLToJSON>
ExecutionFailed
Hata kodu
steps.xml2json.ExecutionFailed
Hata yanıtı gövdesi
{ "fault": { "faultstring": "XMLToJSON[policy_name]: Execution failed. reason: Premature end of document while parsing at line [line_number](possibly around char [character_number])", "detail": { "errorcode": "steps.xml2json.ExecutionFailed" } } }
Olası nedenler
Bu hatanın olası nedenleri şunlardır:
Neden | Açıklama |
Giriş yükü eksik | Giriş yükü (XML) boş. |
Geçersiz veya Yanlış Biçimlendirilmiş Giriş | XML'den JSON'a politikasına iletilen giriş (XML) geçersiz veya bozuk. |
Neden: Giriş yükü eksik
XML'den JSON'a politikasında, <Source>
öğesinde belirtilen değişkenin içeriği (yükü) boşsa bu hata meydana gelir.
Örneğin, XML'den JSON'a politikasındaki <Source>
öğesi request
veya response
değişkeni olarak ayarlanmışsa ve XML yükünü içermesi gerekiyorsa yük boşsa bu hata meydana gelir.
Teşhis
Hatanın oluştuğu XML - JSON politikasını belirleyin. Bu bilgileri, hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
'te politika adıConvert-XMLToJSON
'dur:"faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 1(possibly around char 0)"
Başarısız XML'den JSON'a politika XML'sindeki
<Source>
öğesini inceleyin ve belirtilen değişkeni belirleyin. Örneğin, aşağıdaki XML'den JSON'a politika,<Source>
öğesini istek olarak ayarladı:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON"> <DisplayName>Convert-XMLToJSON</DisplayName> <Properties/> <Options> <RecognizeNumber>true</RecognizeNumber> <RecognizeBoolean>true</RecognizeBoolean> <RecognizeNull>true</RecognizeNull> </Options> <OutputVariable>request</OutputVariable> <Source>request</Source> </XMLToJSON>
XMLToJSON politikasında
<Source>
öğesi için belirtilen değişkenin boş olup olmadığını kontrol edin. Boşsa hatanın nedeni budur.Yukarıda gösterilen XML'den JSON'a politika örneğinde, istemci tarafından gönderilen istek yükü (ör. istek gövdesi) boştu.
Örneğin:
curl -v "http://<org>-<env>.apigee.net/v1/testxmltojson" -H "Content-Type: application/xml"
XML istek yükü boş olduğu için şu hata kodunu alırsınız:
steps.xml2json.ExecutionFailed
Bu hata,
<Source>
öğesi yanıt verecek şekilde ayarlandığı halde arka uç sunucusu tarafından boş bir yük iletildiğinde de ortaya çıkabilir.
Çözünürlük
<Source>
öğesi aracılığıyla XML'den JSON'a politikasına iletilen girişin geçerli bir XML yükü olduğundan ve boş olmadığından emin olun.
Örnek XML'den JSON'ye politikayla ilgili sorunu düzeltmek için geçerli bir XML yükü iletin. Örneğin:
Aşağıdaki içeriğe sahip City.xml adlı bir dosya oluşturun:
<?xml version="1.0" encoding="UTF-8"?> <root> <City>Bengaluru</City> <Name>Apigee</Name> <Pincode>560016</Pincode> </root>
Aşağıdaki gibi bir cURL komutu kullanarak API çağrısı yapın:
curl -v "http://<org>-<env>.apigee.net/v1/testxmltojson" -H "Content-Type: application/xml" -X POST -d @company.xml
Neden: Geçersiz veya Bozuk Giriş
XML'den JSON'a politika geçersiz veya hatalı girişleri ayrıştırırsa bu hatayı alırsınız.
Örneğin, XML'den JSON'a politikasına giriş olarak aşağıdaki geçersiz XML sağlanırsa:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<City>Bengaluru</City>
<Name>Apigee</Name>
<Pincode>560016</Pincode>
şu hatayı alırsınız:
"faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 6(possibly around char 0)"
Teşhis
Hatanın oluştuğu XML - JSON politikasını belirleyin. Bu bilgileri, hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
politikasında politika adıConvert-XMLToJSON
şeklindedir:"faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 6(possibly around char 0)"
XML'den JSON'a dönüştürme işleminin başarısız olduğu XML'de belirtilen
<Source>
öğesini inceleyin. Örneğin, aşağıdaki XML'den JSON'a politika,<Source>
öğesinirequest
değişkenine ayarlar:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON"> <DisplayName>Convert-XMLToJSON</DisplayName> <Properties/> <Options> <RecognizeNumber>true</RecognizeNumber> <RecognizeBoolean>true</RecognizeBoolean> <RecognizeNull>true</RecognizeNull> </Options> <OutputVariable>request</OutputVariable> <Source>request</Source> </XMLToJSON>
XML-JSON politikası için
<Source>
öğesinde belirtilen girişin geçerli bir XML yükü olup olmadığını doğrulayın. Giriş geçersizse veya hatalı biçimlendirilmişse hata bununla ilgilidir.Yukarıda gösterilen örnek XML - JSON politikasında, aşağıdaki geçersiz XML, Değişkenleri Ayıklama politikasına
city.xml
dosyası üzerinden iletilmiştir:<?xml version="1.0" encoding="UTF-8"?> <root> <City>Bengaluru</City> <Name>Apigee</Name> <Pincode>560016</Pincode>
İsteğin nasıl iletildiğini gösteren örnek API çağrısını burada bulabilirsiniz:
curl -v "http://<org>-<env>.apigee.net/v1/testxmltpjson" -H "Content-Type: application/xml" -X POST -d @city.xml
XML'de
<root>
öğesi için bitiş etiketi bulunmadığından API'ye iletilen XML yükü geçersiz. Bu nedenle şu hata kodunu alırsınız:steps.xml2json.ExecutionFailed
<Source>
öğesi yanıt verecek şekilde ayarlandığı halde arka uç sunucusundan alınan XML yanıt yükü geçersizse veya hatalı biçimlendirilmişse de bu hata oluşabilir.
Çözünürlük
<Source>
öğesi aracılığıyla XML'den JSON'a politikasına iletilen girişin geçerli olduğundan ve hatalı biçimlendirilmediğinden emin olun.
Yukarıda açıklanan örnek XML'den JSON'ye politikayla ilgili sorunu düzeltmek için aşağıdaki gibi geçerli bir XML yük isteği iletin:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<City>Bengaluru</City>
<Name>Apigee</Name>
<Pincode>560016</Pincode>
</root>
OutputVariableIsNotAvailable
Hata kodu
steps.xml2json.OutputVariableIsNotAvailable
Hata yanıtı gövdesi
{ "fault": { "faultstring": "XMLToJSON[policy_name]: Output variable is not available.", "detail": { "errorcode": "steps.xml2json.OutputVariableIsNotAvailable" } } }
Örnek Hata Mesajı
{
"fault": {
"faultstring": "XMLToJSON[Convert-XMLToJSON]: Output variable is not available.",
"detail": {
"errorcode": "steps.xml2json.OutputVariableIsNotAvailable"
}
}
}
Neden
Bu hata, XML - JSON politikasının <Source>
öğesinde belirtilen değişken dize türündeyse ve <OutputVariable>
öğesi tanımlanmamışsa ortaya çıkar. <Source>
öğesinde tanımlanan değişken string
türüne sahip olduğunda <OutputVariable>
öğesi zorunludur.
Teşhis
Hatanın oluştuğu XML - JSON Politikası'nı belirleyin. Bu bilgiyi hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
politikasında politika adıConvert-XMLToJSON
şeklindedir:"faultstring": "XMLToJSON[Convert-XMLToJSON]: Output variable is not available."
Başarısız JSON'dan JSON Politikası'na,
<OutputVariable>
öğesinin eksik olup olmadığını doğrulayın.<OutputVariable>
öğesinin eksik olduğu JSON politikasından örnek bir XML dosyasını burada bulabilirsiniz.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON"> <DisplayName>Convert-XMLToJSON</DisplayName> <Properties/> <Format>google</Format> <Source>TrackingNumber</Source> </XMLToJSON>
<Source>
öğesinde belirtilen değişkenin türünü belirleyin:- Değişkenin ilk olarak tanımlandığı API Proxy paketi içinde kodu bulun.
- Değişkenin ilk olarak tanımlandığı ve doldurulduğu politikayı belirledikten sonra, bu değişkenin türünü aşağıdaki gibi belirlemeniz gerekir:
- Tür özelliğinin değerini (varsa) kontrol edin.
- Tür özelliği yoksa değişken bir dize olarak kabul edilir.
- Değişkenin türü
string
ise hatanın nedeni budur. Sık kullanılan değişkenler ve türleri hakkında bilgi edinmek için Değişkenler referansı başlıklı makaleyi inceleyin.
Örneğin, yukarıdaki XML'den JSON'a politikadaki TrackingNumber değişkenine bakın. Bu, dize türündedir. Şimdi, aşağıda gösterildiği gibi
TrackingNumber
adlı bir değişkene değer ayarlamak için kullanılan bir Mesaj Ata politikası düşünün:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AssignMessage async="false" continueOnError="false" enabled="true" name="Assign_TrackingNumber"> <DisplayName>Assign_TrackingNumber</DisplayName> <Properties/> <AssignVariable> <Name>TrackingNumber</Name> <Value><![CDATA[<Code>560075393539898</Code>]]></Value> <Ref/> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
<AssignVariable>
aracılığıyla ayarlanan değişken türünün dize olduğunu unutmayın. YaniTrackingNumber
değişkeni dize türündedir.Şimdi,
TrackingNumber
değişkeninin XML'den JSON'a politikasının<Source>
öğesinde kullanıldığını hatırlayın:<Source>TrackingNumber</Source>
TrackingNumber
dize türüne sahip olduğundan ve<OutputVariable>
politikada eksik olduğundan şu hata kodunu alırsınız:steps.xml2json.OutputVariableIsNotAvailable
Çözünürlük
XMLToJSON Politikası'nın <Source>
öğesinde belirtilen değişken dize türüne sahipse bu durumda <OutputVariable>
öğesinin zorunlu olduğundan emin olun.
Yukarıda bahsedilen XML'den JSON'a Politikası'nı düzeltmek için aşağıda gösterildiği gibi <OutputVariable>
öğesini ekleyin.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON">
<DisplayName>Convert-XMLToJSON</DisplayName>
<Properties/>
<Format>google</Format>
<OutputVariable>response</OutputVariable>
<Source>TrackingNumber</Source>
</XMLToJSON>
InCompatibleTypes
Hata kodu
steps.xml2json.InCompatibleTypes
Hata yanıtı gövdesi
{ "fault": { "faultstring": "XMLToJSON[policy_name]: String can not be assigned to message type.", "detail": { "errorcode": "steps.xml2json.InCompatibleTypes" } } }
Örnek Hata Mesajı
{
"fault": {
"faultstring": "XMLToJSON[XMLToJSON_CheckType]: String can not be assigned to message type.",
"detail": {
"errorcode": "steps.xml2json.InCompatibleTypes"
}
}
}
Neden
Bu hata, <Source>
öğesinde tanımlanan değişkenin türü ile <OutputVariable>
öğesinde aynı olmadığında ortaya çıkar. <Source>
öğesinde ve <OutputVariable>
öğesinde bulunan değişkenlerin türünün eşleşmesi zorunludur.
The valid types are message and string.
Teşhis
Hatanın oluştuğu XML'den JSON'a Dönüştürme Politikası'nı belirleyin. Bu bilgiyi, hata yanıtının
faultstring
öğesinde bulabilirsiniz. Örneğin, aşağıdakifaultstring
'te politika adıXMLToJSON_CheckType
'dur:"faultstring": "XMLToJSON[XMLToJSON_CheckType]: String can not be assigned to message type."
Başarısız XML - JSON Politikası'nda,
<OutputVariable>
politikasında belirtilen değerleri not edin.Aşağıda,
<OutputVariable>
öğesinin eksik olduğu örnek bir XMLToJSON politikası verilmiştir.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON_CheckType"> <DisplayName>XMLToJSON_CheckType</DisplayName> <Properties/> <Format>google</Format> <OutputVariable>request</OutputVariable> <Source>TrackingNumber</Source> </XMLToJSON>
<Source>
ve<OutputVariable>
öğelerinde belirtilen değişken türünü belirleyin:- Bu değişkenlerin her birinin ilk kez tanımlandığı API Proxy paketindeki kodu bulun.
- Değişkenin tanımlandığı ve doldurulduğu politikayı belirledikten sonra, o değişkenin türünü aşağıdaki şekilde belirlemeniz gerekir:
- Tür özelliğinin değerini (varsa) kontrol edin.
- Tür özelliği yoksa değişken bir dize olarak kabul edilir.
<Source>
içinde belirtilen değişken türüstring
iken<OutputVariable>
türü iletiyse (veya tam tersi) hatanın nedeni budur. Sık kullanılan değişkenler ve türleri hakkında bilgi edinmek için Değişkenler referansı başlıklı makaleyi inceleyin.
Örneğin, aşağıda gösterildiği gibi
TrackingNumber
adlı bir değişkene değer ayarlamak için kullanılan bir Mesaj Ata politikası düşünün:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AssignMessage async="false" continueOnError="false" enabled="true" name="Assign_TrackingNumber"> <DisplayName>Assign_TrackingNumber</DisplayName> <Properties/> <AssignVariable> <Name>TrackingNumber</Name> <Value><![CDATA[<Code>560075393539898</Code>]]></Value> <Ref/> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>
<AssignVariable>
aracılığıyla ayarlanan değişken türünün dize olduğunu unutmayın. DolayısıylaTrackingNumber
değişkeni dize türündedir.Şimdi,
TrackingNumber
değişkeninin XMLToJSON politikasının<Source>
öğesinde kullanıldığını hatırlayın:<Source>TrackingNumber</Source>
Benzer şekilde,
request
değişkeninin XML'den JSON'a politikasının<OutputVariable>
öğesinde kullanıldığını unutmayın:<OutputVariable>request</OutputVariable>
TrackingNumber
,string
türünde,response
değişkeni isemessage
türünde olduğu için bu değişkenler uyumsuz türler olduğundan hata kodunu alırsınız:steps.xml2json.InCompatibleTypes
Yukarıdaki hata,
<Source>
öğesindeki değişkenmessage
türüne sahipken<OutputVariable>
öğesindeki değişken dize türüne sahipse de oluşabilir.
Çözünürlük
<Source>
öğesinde ve <OutputVariable>
öğesinde tanımlanan değişkenin türünün her zaman aynı olduğundan emin olun. <Source>
öğesinde ve <OutputVariable>
öğesinde bulunan değişkenlerin türünün eşleşmesi zorunludur.
Yukarıda açıklanan XML'den JSON Politikası'na yönelik sorunu düzeltmek için, Mesaj Atama Politikası'nı kullanarak string
türünde başka bir TrackingNumber_output
değişkeni bildirebilir ve JSON'a XML Politikası'nın <OutputVariable>
öğesinde bu değişkeni kullanabilirsiniz.
İleti Atama Politikası değiştirildi:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign_TrackingNumber">
<DisplayName>Assign_TrackingNumber</DisplayName>
<Properties/>
<AssignVariable>
<Name>TrackingNumber</Name>
<Value><![CDATA[<Code>560098</Code>]]></Value>
<Ref/>
</AssignVariable>
<AssignVariable>
<Name>TrackingNumber_output</Name>
<Ref/>
</AssignVariable>
<IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
<AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>
Değiştirilmiş XMLToJSON politikası:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON_CheckType">
<DisplayName>XMLToJSON_CheckType</DisplayName>
<Properties/>
<Format>google</Format>
<OutputVariable>TrackingNumber_output</OutputVariable>
<Source>TrackingNumber</Source>
</XMLToJSON>
InvalidSourceType
Hata kodu
steps.xml2json.InvalidSourceType
Hata yanıtı gövdesi
{ "fault": { "faultstring": "XMLToJSON[class invalid_class]: Invalid source type class invalid_class. Valid source types are [message, string].", "detail": { "errorcode": "steps.xml2json.InvalidSourceType" } } }
Örnek Hata Mesajı
{
"fault": {
"faultstring": "XMLToJSON[class java.lang.Integer]: Invalid source type class java.lang.Integer. Valid source types are [message, string].",
"detail": {
"errorcode": "steps.xml2json.InvalidSourceType"
}
}
}
Neden
Bu hata, <Source>
öğesini tanımlamak için kullanılan değişken türü geçersizse ortaya çıkar.Geçerli değişken türleri message
ve string
'dir.
Teşhis
XML'den JSON'a politikasında kullanılan geçersiz kaynak türünü belirleyin. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada geçersiz tür tam sayı.
"faultstring": "XMLToJSON[class java.lang.Integer]: Invalid source type class java.lang.Integer. Valid source types are [message, string]."
Hatanın oluştuğu belirli API proxy'sindeki tüm XML'den JSON'a politikalarını inceleyin. XML'den JSON'a dönüştürme politikasında başarısız olan
<Source>
bölümünde belirtilen değişkenin adını not edin.<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON_CheckType"> <DisplayName>XMLToJSON_CheckType</DisplayName> <Properties/> <Format>google</Format> <OutputVariable>response</OutputVariable> <Source>BookCode</Source> </XMLToJSON>
<Source>
öğesinde belirtilen değişken türünü belirleyin:- Bu değişkenin ilk kez tanımlandığı API Proxy paketindeki kodu bulun.
- Değişkenin ilk olarak tanımlandığı ve doldurulduğu politikayı belirledikten sonra, bu değişkenin türünü aşağıdaki gibi belirlemeniz gerekir:
- Tür özelliğinin değerini (varsa) kontrol edin.
- type özelliği yoksa değişkenin dize olduğu kabul edilir.
<Source>
öğesinde belirtilen değişken türümessage
veyastring
türünde değilse hatanın nedeni budur. Değişkenler referansı bölümünde, sık kullanılan değişkenler ve türleri hakkında bilgi edinebilirsiniz.
Örneğin, bir XML yükünden değer ayıklamak için kullanılan ve değeri
BookCode
değişkenineinteger
türünde ayarlayan bir ExtractVariables politikasını aşağıda gösterildiği gibi ele alalım:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract_BookCode"> <DisplayName>Extract_BookCode</DisplayName> <Properties/> <Source>request</Source> <XMLPayload stopPayloadProcessing="false"> <Variable name="BookCode" type="integer"> <XPath>/root/BookCode</XPath> </Variable> </XMLPayload> </ExtractVariables>
Şimdi,
BookCode
değişkeninin XML'den JSON'a politikasının<Source>
öğesinde kullanıldığını hatırlayın:<Source>BookCode</Source>
Bu değişkenin türü geçerli bir
<Source>
türü olmayanInteger
olduğu için API Proxy'si şu hatayı vererek başarısız olur:steps.xml2json.InvalidSourceType
Çözünürlük
<Source>
öğesini belirtmek için kullanılan değişkenin türünün geçerli olduğundan emin olun. Geçerli <Source>
türleri şunlardır: message
ve string
.
XML'den JSON'a politikasıyla ilgili yukarıdaki hatayı önlemek için message
türündeki request
değişkenini veya geçerli bir XML yükü olan başka bir dize kullanabilirsiniz.