Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về
Apigee X. thông tin
SourceUnavailable
Mã lỗi
steps.xml2json.SourceUnavailable
Nội dung phản hồi lỗi
{ "fault": { "faultstring": "XMLToJSON[policy_name]: Source [source_variable] is not available", "detail": { "errorcode": "steps.xmltojson.SourceUnavailable" } } }
Thông báo lỗi mẫu
{
"fault": {
"faultstring": "XMLToJSON[Convert-XMLToJSON]: Source response is not available",
"detail": {
"errorcode": "steps.xml2json.SourceUnavailable"
}
}
}
Nguyên nhân
Lỗi này xảy ra nếu biến thông báo hoặc biến chuỗi được chỉ định trong phần tử <Source>
của chính sách XML sang JSON:
- ngoài phạm vi (không có trong quy trình cụ thể đang thực thi chính sách) hoặc
- không thể phân giải (không xác định)
Ví dụ: lỗi này xảy ra nếu bạn định thực thi chính sách XML sang JSON được thực thi trong luồng yêu cầu, nhưng phần tử <Source>
được đặt thành biến response
không tồn tại trong luồng yêu cầu.
Chẩn đoán
Xác định chính sách XML sang JSON nơi xảy ra lỗi và tên của biến không có sẵn. Bạn có thể tìm thấy cả hai mục này trong phần tử
faultstring
của phản hồi lỗi. Ví dụ: trongfaultstring
sau đây, tên chính sách làConvert-XMLToJSON
và biến làresponse
:"faultstring": "XMLToJSON[Convert-XMLToJSON]: Source response is not available"
Trong tệp XML của chính sách XML sang JSON không thành công, hãy xác minh rằng tên của biến được đặt trong phần tử
<Source>
khớp với tên biến được xác định trong chuỗi lỗi (bước #1 ở trên). Ví dụ: Chính sách XML sang JSON sau đây chỉ định một biến có tênresponse
trong phần tử<Source>
và biến này khớp với biến trongfaultstring
:<?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>
Xác định xem biến dùng trong phần tử
<Source>
có được xác định và có sẵn trong quy trình thực thi chính sách XML sang JSON hay không.Nếu biến đó là:
- ngoài phạm vi (không có trong quy trình cụ thể đang thực thi chính sách) hoặc
- không thể phân giải (không xác định)
thì đó chính là nguyên nhân gây ra lỗi.
Ví dụ: giả sử chính sách XML sang JSON được hiển thị ở trên dự kiến được thực thi trong quy trình yêu cầu. Hãy nhớ rằng biến
response
được dùng trong phần tử<Source>
của chính sách XML về JSON. Biến phản hồi chỉ có trong quy trình phản hồi.Do biến phản hồi không tồn tại trong quy trình yêu cầu nên bạn sẽ nhận được mã lỗi:
steps.xml2json.SourceUnavailable
Độ phân giải
Đảm bảo biến được đặt trong phần tử <Source>
của chính sách XML thành JSON không thành công đã được định nghĩa và tồn tại trong luồng mà chính sách thực thi.
Để chỉnh sửa chính sách XML thành JSON mẫu trình bày ở trên, bạn có thể sửa đổi phần tử <Source>
để dùng biến request
vì phần tử này tồn tại trong quy trình yêu cầu:
<?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
Mã lỗi
steps.xml2json.ExecutionFailed
Nội dung phản hồi lỗi
{ "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" } } }
Các nguyên nhân có thể
Nguyên nhân có thể dẫn đến lỗi này là:
Nguyên nhân | Mô tả |
Thiếu tải trọng đầu vào | Tải trọng đầu vào (XML) trống. |
Thông tin đầu vào không hợp lệ hoặc không đúng định dạng | Dữ liệu đầu vào (XML) được chuyển từ XML sang chính sách JSON không hợp lệ hoặc không đúng định dạng. |
Nguyên nhân: Thiếu tải trọng đầu vào
Trong chính sách XML sang JSON nếu nội dung (trọng tải) của biến được chỉ định trong phần tử <Source>
bị trống, thì lỗi này sẽ xảy ra.
Ví dụ: nếu phần tử <Source>
trong chính sách XML thành JSON được đặt thành biến request
hoặc response
và phần tử này phải chứa tải trọng XML, thì lỗi này sẽ xảy ra nếu tải trọng trống.
Chẩn đoán
Xác định chính sách XML sang JSON nơi xảy ra lỗi. Bạn có thể tìm thấy thông tin này trong phần tử
faultstring
của phản hồi lỗi. Ví dụ: trongfaultstring
sau đây, tên chính sách làConvert-XMLToJSON
:"faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 1(possibly around char 0)"
Kiểm tra phần tử
<Source>
trong XML của chính sách XML sang JSON không thành công và xác định biến được chỉ định. Ví dụ: chính sách XML sang JSON sau đây có phần tử<Source>
được đặt thành yêu cầu:<?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>
Kiểm tra xem biến được chỉ định cho phần tử
<Source>
trong chính sách XMLToJSON có trống hay không. Nếu phần này trống, thì đó chính là nguyên nhân gây ra lỗi.Trong ví dụ về chính sách XML sang JSON minh hoạ ở trên, tải trọng yêu cầu (tức là nội dung yêu cầu) mà ứng dụng gửi đang trống.
Ví dụ:
curl -v "http://<org>-<env>.apigee.net/v1/testxmltojson" -H "Content-Type: application/xml"
Vì tải trọng yêu cầu XML trống nên bạn sẽ nhận được mã lỗi:
steps.xml2json.ExecutionFailed
Lỗi này cũng có thể xảy ra nếu phần tử
<Source>
được đặt thành phản hồi, nhưng máy chủ phụ trợ lại chuyển sang tải trọng trống.
Độ phân giải
Đảm bảo rằng dữ liệu đầu vào được truyền từ chính sách XML sang JSON thông qua phần tử <Source>
là một tải trọng XML hợp lệ và không trống.
Để khắc phục vấn đề với chính sách XML mẫu sang JSON, hãy chuyển một tải trọng XML hợp lệ. Ví dụ:
Tạo một tệp có tên là city.xml với nội dung sau:
<?xml version="1.0" encoding="UTF-8"?> <root> <City>Bengaluru</City> <Name>Apigee</Name> <Pincode>560016</Pincode> </root>
Thực hiện lệnh gọi API bằng lệnh cURL như sau:
curl -v "http://<org>-<env>.apigee.net/v1/testxmltojson" -H "Content-Type: application/xml" -X POST -d @company.xml
Nguyên nhân: Thông tin đầu vào không hợp lệ hoặc không đúng định dạng
Nếu chính sách XML sang JSON phân tích cú pháp dữ liệu đầu vào không hợp lệ hoặc sai định dạng, thì bạn sẽ gặp lỗi này.
Ví dụ: nếu bạn cung cấp XML không hợp lệ sau đây làm dữ liệu đầu vào cho chính sách XML sang JSON,
<?xml version="1.0" encoding="UTF-8"?>
<root>
<City>Bengaluru</City>
<Name>Apigee</Name>
<Pincode>560016</Pincode>
bạn sẽ gặp lỗi:
"faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 6(possibly around char 0)"
Chẩn đoán
Xác định chính sách XML sang JSON nơi xảy ra lỗi. Bạn có thể tìm thấy thông tin này trong phần tử
faultstring
của phản hồi lỗi. Ví dụ: trongfaultstring
sau đây, tên chính sách làConvert-XMLToJSON
:"faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 6(possibly around char 0)"
Kiểm tra phần tử
<Source>
được chỉ định trong tệp XML của chính sách XML sang JSON không thành công. Ví dụ: chính sách XML sang JSON sau đây có phần tử<Source>
được đặt thành biếnrequest
:<?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>
Xác thực xem dữ liệu đầu vào được chỉ định trong phần tử
<Source>
cho chính sách XML sang JSON có phải là một tải trọng XML hợp lệ hay không. Nếu dữ liệu nhập không hợp lệ hoặc sai định dạng thì đó chính là nguyên nhân gây ra lỗi.Trong ví dụ về chính sách XML sang JSON trình bày ở trên, mã XML không hợp lệ sau đây đã được chuyển tới chính sách Trích xuất biến thông qua tệp
city.xml
:<?xml version="1.0" encoding="UTF-8"?> <root> <City>Bengaluru</City> <Name>Apigee</Name> <Pincode>560016</Pincode>
Dưới đây là lệnh gọi API mẫu cho thấy cách chuyển yêu cầu:
curl -v "http://<org>-<env>.apigee.net/v1/testxmltpjson" -H "Content-Type: application/xml" -X POST -d @city.xml
Tải trọng XML được truyền đến API không hợp lệ vì XML không có thẻ đóng cho phần tử
<root>
. Vì vậy, bạn sẽ nhận được mã lỗi:steps.xml2json.ExecutionFailed
Lỗi này cũng có thể xảy ra nếu phần tử
<Source>
được đặt thành phản hồi nhưng tải trọng phản hồi XML từ máy chủ phụ trợ không hợp lệ hoặc không đúng định dạng.
Độ phân giải
Đảm bảo rằng dữ liệu đầu vào được truyền từ XML sang chính sách JSON thông qua phần tử <Source>
là hợp lệ và không đúng định dạng.
Để khắc phục vấn đề với chính sách XML mẫu sang JSON được thảo luận ở trên, hãy truyền một yêu cầu tải trọng XML hợp lệ như sau:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<City>Bengaluru</City>
<Name>Apigee</Name>
<Pincode>560016</Pincode>
</root>
OutputVariableIsNotAvailable
Mã lỗi
steps.xml2json.OutputVariableIsNotAvailable
Nội dung phản hồi lỗi
{ "fault": { "faultstring": "XMLToJSON[policy_name]: Output variable is not available.", "detail": { "errorcode": "steps.xml2json.OutputVariableIsNotAvailable" } } }
Thông báo lỗi mẫu
{
"fault": {
"faultstring": "XMLToJSON[Convert-XMLToJSON]: Output variable is not available.",
"detail": {
"errorcode": "steps.xml2json.OutputVariableIsNotAvailable"
}
}
}
Nguyên nhân
Lỗi này xảy ra nếu biến được chỉ định trong phần tử <Source>
của chính sách XML sang JSON thuộc loại chuỗi và phần tử <OutputVariable>
không được xác định. Phần tử <OutputVariable>
là bắt buộc khi biến được xác định trong phần tử <Source>
thuộc loại string
.
Chẩn đoán
Xác định chính sách XML sang JSON nơi xảy ra lỗi. Bạn có thể tìm thấy thông tin này trong phần tử
faultstring
của phản hồi lỗi. Ví dụ: trongfaultstring
sau đây, tên chính sách làConvert-XMLToJSON
:"faultstring": "XMLToJSON[Convert-XMLToJSON]: Output variable is not available."
Trong Chính sách XML sang JSON không thành công, hãy xác thực xem
<OutputVariable>
có bị thiếu hay không.Dưới đây là một Chính sách XML sang JSON mẫu bị thiếu phần tử
<OutputVariable>
.<?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>
Xác định loại biến được chỉ định trong phần tử
<Source>
:- Tìm mã trong Gói Proxy API, nơi biến được xác định trước.
- Sau khi tìm hiểu chính sách mà biến được định nghĩa và điền trước, bạn cần xác định loại biến đó như sau:
- Kiểm tra giá trị của thuộc tính loại (nếu có).
- Nếu không có thuộc tính loại thì biến được coi là một chuỗi.
- Nếu loại biến là
string
, thì đó chính là nguyên nhân gây ra lỗi. Bạn có thể tìm hiểu về các biến phổ biến và loại biến trong Tài liệu tham khảo về biến.
Ví dụ: xem biến TrackingNumber trong chính sách XML sang JSON ở trên. Thuộc tính này thuộc loại chuỗi. Bây giờ, hãy xem xét chính sách Chỉ định tin nhắn dùng để đặt giá trị cho biến tên là
TrackingNumber
như minh hoạ dưới đây:<?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>
Lưu ý rằng loại biến được đặt thông qua
<AssignVariable>
là loại chuỗi. Do đó, biếnTrackingNumber
thuộc kiểu chuỗi.Bây giờ, hãy nhớ lại biến
TrackingNumber
được dùng trong phần tử<Source>
của chính sách XML sang JSON:<Source>TrackingNumber</Source>
Vì
TrackingNumber
thuộc loại chuỗi và thiếu<OutputVariable>
trong chính sách, nên bạn sẽ nhận được mã lỗi:steps.xml2json.OutputVariableIsNotAvailable
Độ phân giải
Đảm bảo rằng nếu biến được chỉ định trong phần tử <Source>
của Chính sách XMLToJSON thuộc loại chuỗi, thì trong trường hợp này, phần tử <OutputVariable>
là bắt buộc.
Để sửa Chính sách XML sang JSON đã thảo luận ở trên, hãy thêm phần tử <OutputVariable>
như minh hoạ dưới đây.
<?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
Mã lỗi
steps.xml2json.InCompatibleTypes
Nội dung phản hồi lỗi
{ "fault": { "faultstring": "XMLToJSON[policy_name]: String can not be assigned to message type.", "detail": { "errorcode": "steps.xml2json.InCompatibleTypes" } } }
Thông báo lỗi mẫu
{
"fault": {
"faultstring": "XMLToJSON[XMLToJSON_CheckType]: String can not be assigned to message type.",
"detail": {
"errorcode": "steps.xml2json.InCompatibleTypes"
}
}
}
Nguyên nhân
Lỗi này xảy ra nếu loại biến được xác định trong phần tử <Source>
và phần tử <OutputVariable>
không giống nhau. Bắt buộc kiểu của các biến chứa trong phần tử <Source>
và phần tử <OutputVariable>
phải khớp với nhau.
The valid types are message and string.
Chẩn đoán
Xác định chính sách XML sang JSON nơi xảy ra lỗi. Bạn có thể tìm thấy thông tin này trong phần tử
faultstring
của phản hồi lỗi. Ví dụ: trongfaultstring
sau đây, tên chính sách làXMLToJSON_CheckType
:"faultstring": "XMLToJSON[XMLToJSON_CheckType]: String can not be assigned to message type."
Trong Chính sách XML sang JSON không thành công, hãy lưu ý các giá trị được chỉ định trong
<OutputVariable>
.Dưới đây là một chính sách mẫu XMLToJSON bị thiếu phần tử
<OutputVariable>
<?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>
Xác định loại biến được chỉ định trong các phần tử
<Source>
và<OutputVariable>
:- Tìm mã trong Gói proxy API, nơi mỗi biến trong số này được xác định trước.
- Sau khi tìm hiểu chính sách mà biến được định nghĩa và điền trước, bạn cần xác định loại biến đó như sau:
- Kiểm tra giá trị của thuộc tính loại (nếu có).
- Nếu không có thuộc tính loại thì biến được coi là một chuỗi.
- Nếu loại biến được chỉ định trong
<Source>
làstring
trong khi loại<OutputVariable>
là thông báo hoặc ngược lại, thì đó chính là nguyên nhân gây ra lỗi. Bạn có thể tìm hiểu về các biến phổ biến và loại biến trong Tài liệu tham khảo về biến.
Ví dụ: hãy xem xét chính sách Chỉ định tin nhắn được dùng để đặt giá trị cho biến tên là
TrackingNumber
như minh hoạ bên dưới:<?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>
Lưu ý rằng loại biến được đặt thông qua
<AssignVariable>
là loại chuỗi. Do đó, biếnTrackingNumber
thuộc kiểu chuỗi.Bây giờ, hãy nhớ lại biến
TrackingNumber
được dùng trong phần tử<Source>
của chính sách XMLToJSON:<Source>TrackingNumber</Source>
Tương tự, hãy nhớ lại biến
request
được dùng trong phần tử<OutputVariable>
của chính sách XML sang JSON:<OutputVariable>request</OutputVariable>
Vì
TrackingNumber
thuộc loạistring
trong khi biếnresponse
thuộc loạimessage
, nên chúng không phải là các loại không tương thích nên bạn sẽ nhận được mã lỗi:steps.xml2json.InCompatibleTypes
Lỗi trên cũng có thể xảy ra nếu biến trong phần tử
<Source>
thuộc loạimessage
nhưng biến trong phần tử<OutputVariable>
thuộc loại chuỗi.
Độ phân giải
Đảm bảo rằng loại biến được xác định trong phần tử <Source>
và phần tử <OutputVariable>
luôn giống nhau. Bắt buộc kiểu của các biến chứa trong phần tử <Source>
và phần tử <OutputVariable>
phải khớp với nhau.
Để sửa Chính sách XML sang JSON được thảo luận ở trên, bạn có thể khai báo một biến khác TrackingNumber_output
thuộc loại string
bằng cách sử dụng Chính sách chỉ định thông báo và sử dụng biến này trong phần tử <OutputVariable>
của Chính sách XML sang JSON.
Chính sách chỉ định tin nhắn đã sửa đổi:
<?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>
Sửa đổi chính sách XMLToJSON:
<?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
Mã lỗi
steps.xml2json.InvalidSourceType
Nội dung phản hồi lỗi
{ "fault": { "faultstring": "XMLToJSON[class invalid_class]: Invalid source type class invalid_class. Valid source types are [message, string].", "detail": { "errorcode": "steps.xml2json.InvalidSourceType" } } }
Thông báo lỗi mẫu
{
"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"
}
}
}
Nguyên nhân
Lỗi này xảy ra nếu loại biến dùng để xác định phần tử <Source>
không hợp lệ.Các loại biến hợp lệ là message
và string
.
Chẩn đoán
Xác định loại nguồn không hợp lệ dùng trong chính sách XML sang JSON. Bạn có thể tìm thấy thông tin này trong thông báo lỗi. Ví dụ: trong lỗi sau đây, loại không hợp lệ là số nguyên.
"faultstring": "XMLToJSON[class java.lang.Integer]: Invalid source type class java.lang.Integer. Valid source types are [message, string]."
Kiểm tra tất cả các chính sách XML đến JSON trong Proxy API cụ thể nơi xảy ra lỗi. Trong Chính sách XML sang JSON không thành công, hãy lưu ý tên của biến được chỉ định trong
<Source>
.<?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>
Xác định loại biến được chỉ định trong phần tử
<Source>
:- Tìm mã trong Gói proxy API, nơi biến này được xác định trước.
- Sau khi tìm hiểu chính sách mà biến được định nghĩa và điền trước, bạn cần xác định loại biến đó như sau:
- Kiểm tra giá trị của thuộc tính loại (nếu có).
- Nếu không có thuộc tính loại thì biến được coi là một chuỗi.
- Nếu loại biến được chỉ định trong
<Source>
không phải là loạimessage
hoặcstring
, thì đó là nguyên nhân gây ra lỗi. Bạn có thể tìm hiểu về các biến phổ biến và loại biến trong Tài liệu tham khảo về biến.
Ví dụ: hãy xem xét một chính sách ExtractVariables dùng để trích xuất giá trị từ tải trọng XML và đặt giá trị cho biến
BookCode
thành loạiinteger
như minh hoạ dưới đây:<?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>
Bây giờ, hãy nhớ lại biến
BookCode
được dùng trong phần tử<Source>
của chính sách XML sang JSON:<Source>BookCode</Source>
Vì loại biến này là
Integer
và không phải là loại<Source>
hợp lệ, nên Proxy API sẽ gặp lỗi:steps.xml2json.InvalidSourceType
Độ phân giải
Đảm bảo rằng loại biến dùng để chỉ định phần tử <Source>
là hợp lệ. Loại <Source>
hợp lệ là message
và string
.
Để tránh lỗi nêu trên trong chính sách XML sang JSON, bạn có thể sử dụng biến request
thuộc loại message
hoặc bất kỳ chuỗi nào khác là tải trọng XML hợp lệ.