我正在与另一个使用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>