我正在與另一個使用ColdFusion的組織通過Web服務交換數據。我們都會發送和接收數據。在下面的示例中,我們將互相分享「電子郵件」。我的WSDL(根據我的.NET類生成)定義了將在響應中返回的元素(比示例中的多)和ComplexType。他們的WSDL定義了他們將發回一個字符串(該字符串的確返回了我所期望的格式化數據)。 是否有技術上的原因,他們的WSDL沒有定義將在響應中返回的元素?如果他們可以在技術上做到這一點,那麼在ColdFusion環境中要實現多少努力?ColdFusion Web服務wsdl元素
注:我是一名.NET開發人員,我對ColdFusion沒有經驗,所以我不知道它們的侷限性。
下面是我們的WSDL虛擬版本的相關部分,將示例更改爲「email」以保護無辜者。
的.NET WSDL的相關部分:
<s:element name="EmailResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="EmailResult" type="tns:Emails" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="Emails">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Email" type="tns:ArrayOfEmailObject" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfEmailObject">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="EmailObject" nillable="true" type="tns:EmailObject" />
</s:sequence>
</s:complexType>
<s:complexType name="EmailObject">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ID" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="subject" type="s:string" />
</s:sequence>
</s:complexType>
ColdFusion的WSDL的相關部分:
<wsdl:message name="displayEmailsResponse">
<wsdl:part name="displayEmailsReturn" type="xsd:string" />
</wsdl:message>