一直在尋找對谷歌/各種其他網站有一段時間了......AXIS2/C:錯誤的元素類型或空節點(om_element.c)
梗概: 無法序列化/反序列化對象,錯元素類型或空節點(om_element.c)。
生成的代碼:
xsi_type_attri = axiom_attribute_create (env, "type", "LocomotiveInformationTransaction", xsi_ns);
//The following line results in ERROR:
axiom_element_add_attribute (parent_element, env, xsi_type_attri, parent);
錯誤(從wlis.log)
[error] om_element.c(283) Wrong element type or null node
部分WSDL文件的:
<?xml version="1.0" encoding="UTF-8"?>
<!-Created by TIBCO WSDL->
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns0="http://www.nscorp.com" xmlns:tns="http://www.nscorp.com" xmlns:ns1="java:com.nscorp.wlis.locoinfo" name="Untitled" targetNamespace="http://www.nscorp.com">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.nscorp.com" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:import namespace="java:com.nscorp.wlis.locoinfo"/>
<xs:element name="UpdateLocoStatus" nillable="true" type="ns1:LocomotiveInformationTransaction"/>
<xs:element name="UpdateLocoStatusResponse" nillable="true" type="ns1:LocomotiveResponse"/>
<xs:element name="isAliveResponse" nillable="true" type="xs:string"/>
</xs:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="java:com.nscorp.wlis.locoinfo" xmlns="java:com.nscorp.wlis.locoinfo" targetNamespace="java:com.nscorp.wlis.locoinfo" elementFormDefault="qualified" attributeFormDefault="qualified">
<xsd:complexType name="ArrayOfCondition">
<xsd:sequence>
<xsd:element name="Condition" nillable="true" type="stns:Condition" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
我唯一能看到的就是名字空間 。在這種情況下,它看起來像(在遍歷代碼 和大量調試日誌語句之後),它使用默認的「xsi」 命名空間。嘗試硬編碼「ns1」作爲 LocomotiveInformationTransaction的名稱空間,但未解決問題。
如果您需要其他信息,請讓我知道。
感謝您的回覆。 今天我會看看。 – user1798810