簡體   English   中英

WSO2 DSS錯誤:javax.xml.stream.XMLStreamException:無效的凝視元素

[英]WSO2 DSS error: javax.xml.stream.XMLStreamException: Invalid Staring element

我是WSO2 DSS和REST體系結構的新手,並且正在測試使用Microsoft SQL Server的數據源通過DSS創建的服務。 我在下面創建了一個查詢,該查詢將獲取員工信息

SELECT e.employee_id[Employee_Id],
  e.employee_code[Employee_Code],
  e.name_eng[Employee_Name_Eng],
  e.name_arb[Employee_Name_Arb],
  o.description_arb[Organization_Unit_Arb],
  o.description_eng[Organization_Unit_Eng],
  g.description_arb[Grade_Arb],
  g.description_eng[Grade_Eng],
  d.description_arb[Designation_Arb],
  d.description_eng[Designation_Eng],
  e.email[Email],
  r.role_name[Role]
FROM employee_master e
LEFT OUTER JOIN organizations o
ON o.organization_id = e.organization_id
LEFT OUTER JOIN grades g
ON g.grade_id = e.grade_id
LEFT OUTER JOIN designations d
ON d.designation_id = e.designation_id
LEFT OUTER JOIN sec_users u
ON e.employee_id = u.employee_id
LEFT OUTER JOIN sec_user_roles ur
ON ur.user_id = u.user_id,
LEFT OUTER JOIN sec_roles r
ON ur.role_id   = r.role_id
WHERE r.role_id =
  (SELECT MAX(role_id) FROM sec_user_roles WHERE user_id = u.user_id)
AND u.login    =  ?

並分配給資源用戶/ {login}。 但是我總是出錯

[ec2-user@ip-172-31-37-209 ~]$ curl -i -H "Accept: application/json" -X GET http://54.76.120.61:9764/services/FTE/user/103
HTTP/1.1 500 Internal Server Error
Transfer-Encoding: chunked
Date: Tue, 19 Aug 2014 07:42:31 GMT
Connection: close
Server: WSO2 Carbon Server

{"Fault":{"faultcode":"soapenv:Server","faultstring":"Error while writing to the output stream using JsonWriter","detail":""}}

該查詢工作正常,我已經創建了類似的測試,其中簡單的get將以JSON格式返回結果。 檢查日志后出現錯誤提示

Caused by: DS Fault Message: Error in 'SQLQuery.processNormalQuery'
DS Code: DATABASE_ERROR
Source Data Service:-
Name: FTE
Location: /FTE.dbs
Description: N/A
Default Namespace: http://ws.wso2.org/dataservice
Current Request Name: _getuser_login
Current Params: {login=103}
Nested Exception:-
DS Fault Message: Error in XML generation at StaticOutputElement.execute
DS Code: UNKNOWN_ERROR
Nested Exception:-
javax.xml.stream.XMLStreamException: Invalid Staring element


        at org.wso2.carbon.dataservices.core.description.query.SQLQuery.processNormalQuery(SQLQuery.java:864)
        at org.wso2.carbon.dataservices.core.description.query.SQLQuery.runQuery(SQLQuery.java:2290)
        at org.wso2.carbon.dataservices.core.description.query.Query.execute(Query.java:282)
        at org.wso2.carbon.dataservices.core.engine.CallQuery.executeElement(CallQuery.java:179)
        at org.wso2.carbon.dataservices.core.engine.CallQueryGroup.executeElement(CallQueryGroup.java:111)
        at org.wso2.carbon.dataservices.core.engine.OutputElement.execute(OutputElement.java:89)
        at org.wso2.carbon.dataservices.core.description.resource.Resource.execute(Resource.java:67)
        at org.wso2.carbon.dataservices.core.engine.DataService.invoke(DataService.java:462)
        at org.wso2.carbon.dataservices.core.engine.DSOMDataSource.execute(DSOMDataSource.java:96)
        ... 46 more
Caused by: DS Fault Message: Error in XML generation at StaticOutputElement.execute
DS Code: UNKNOWN_ERROR
Nested Exception:-
javax.xml.stream.XMLStreamException: Invalid Staring element

        at org.wso2.carbon.dataservices.core.engine.StaticOutputElement.executeElement(StaticOutputElement.java:258)
        at org.wso2.carbon.dataservices.core.engine.OutputElement.execute(OutputElement.java:89)
        at org.wso2.carbon.dataservices.core.engine.OutputElementGroup.executeElement(OutputElementGroup.java:106)
        at org.wso2.carbon.dataservices.core.engine.OutputElement.execute(OutputElement.java:89)
        at org.wso2.carbon.dataservices.core.description.query.Query.writeResultEntry(Query.java:396)
        at org.wso2.carbon.dataservices.core.description.query.SQLQuery.processNormalQuery(SQLQuery.java:857)
        ... 54 more
Caused by: javax.xml.stream.XMLStreamException: Invalid Staring element
        at org.apache.axis2.json.gson.GsonXMLStreamWriter.writeStartElement(GsonXMLStreamWriter.java:239)
        at org.wso2.carbon.dataservices.core.engine.XMLWriterHelper.writeResultElement(XMLWriterHelper.java:144)
        at org.wso2.carbon.dataservices.core.engine.StaticOutputElement.executeElement(StaticOutputElement.java:250)
        ... 59 more

不幸的是,我無法理解錯誤,並且在網上搜索會產生我並不十分熟悉的不同答案。 我希望有人能對此有所啟發,因為我只做了2個月。

非常感謝你。

作為附加信息,可以在DSS的定義中找到轉義的不可打印字符。

對於手動編輯DSS的用戶,您可以將屬性escapeNonPrintableChar添加到標簽結果中,如下所示

<result element="MyList" rowName="myRow" escapeNonPrintableChar="true">

我得到了一個答案,數據庫上有不可打印的字符,但是它是數據的一部分,我無法嘗試清除或刪除它們,因為它們是數據的一部分。 不允許在Web服務上檢索它們,因為沒有數據表示,這就是為什么我收到錯誤“無效的凝視元素”來解決此問題的原因,我必須啟用轉義不可打印的字符,這是WSO2 DSS引入的功能3.1.0及更高版本,可以使用WSO2 DSS UI打開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM