是否可以在此 wsdl 中扩展此 complexType?
Is it possible to extend this complexType in this wsdl?
我确实有一个看起来像这样的 wsdl,我无法更改它:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"
name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="salesOrderEntity">
<all>
<element name="increment_id" type="xsd:string" minOccurs="0" />
<!-- lot more elements come here -->
</all>
</complexType>
</schema>
</types>
</definitions>
我想对复杂类型进行扩展 salesOrderEntity
,我看到这在某些 wsdl (I got the reference from here) 中是可行的。
现在我对是否可能以及如何扩展这个特定的复杂类型感到困惑
我尝试了什么:
<complexType name="salesOrderCustomEntity">
<complexContent>
<extension base="salesOrderEntity">
<sequence>
<element name="some_field" type="xsd:string" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
和
<complexType name="salesOrderCustomEntity">
<complexContent>
<extension base="salesOrderEntity">
<all>
<element name="some_field" type="xsd:string" minOccurs="0"/>
</all>
</extension>
</complexContent>
</complexType>
但是对于两者我都得到了 "some_field" 元素但是没有得到 salesOrderEntity
complexType 的所有元素。
看来我找到了。声明指出:
xmlns:typens="urn:{{var wsdl.name}}"
所以你必须扩展基础 complexType typens:salesOrderEntity
而不仅仅是 salesOrderEntity
<complexType name="salesOrderCustomEntity">
<complexContent>
<extension base="typens:salesOrderEntity">
<all>
<element name="some_field" type="xsd:string" minOccurs="0"/>
</all>
</extension>
</complexContent>
</complexType>
我确实有一个看起来像这样的 wsdl,我无法更改它:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:typens="urn:{{var wsdl.name}}" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/"
name="{{var wsdl.name}}" targetNamespace="urn:{{var wsdl.name}}">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:Magento">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" schemaLocation="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="salesOrderEntity">
<all>
<element name="increment_id" type="xsd:string" minOccurs="0" />
<!-- lot more elements come here -->
</all>
</complexType>
</schema>
</types>
</definitions>
我想对复杂类型进行扩展 salesOrderEntity
,我看到这在某些 wsdl (I got the reference from here) 中是可行的。
现在我对是否可能以及如何扩展这个特定的复杂类型感到困惑
我尝试了什么:
<complexType name="salesOrderCustomEntity">
<complexContent>
<extension base="salesOrderEntity">
<sequence>
<element name="some_field" type="xsd:string" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
和
<complexType name="salesOrderCustomEntity">
<complexContent>
<extension base="salesOrderEntity">
<all>
<element name="some_field" type="xsd:string" minOccurs="0"/>
</all>
</extension>
</complexContent>
</complexType>
但是对于两者我都得到了 "some_field" 元素但是没有得到 salesOrderEntity
complexType 的所有元素。
看来我找到了。声明指出:
xmlns:typens="urn:{{var wsdl.name}}"
所以你必须扩展基础 complexType typens:salesOrderEntity
而不仅仅是 salesOrderEntity
<complexType name="salesOrderCustomEntity">
<complexContent>
<extension base="typens:salesOrderEntity">
<all>
<element name="some_field" type="xsd:string" minOccurs="0"/>
</all>
</extension>
</complexContent>
</complexType>