.net ColdFusion Web服务wsdl元素

.net ColdFusion Web服务wsdl元素,.net,web-services,coldfusion,wsdl,asmx,.net,Web Services,Coldfusion,Wsdl,Asmx,我正在通过web服务与另一个使用ColdFusion的组织进行数据交换。我们将同时发送和接收数据。在下面的示例中,我们将彼此共享“电子邮件”。我的WSDL(基于我的.NET类生成)定义了将在响应中返回的元素(比示例中多得多)和复杂类型。他们的WSDL定义了他们将发送回一个字符串(该字符串确实返回了我所期望的格式的数据)。 他们的WSDL没有定义将在响应中返回的元素,这有技术原因吗?如果他们在技术上能够做到这一点,那么在ColdFusion环境中实现这一点需要付出多少努力 注意:我是一名.NET开

我正在通过web服务与另一个使用ColdFusion的组织进行数据交换。我们将同时发送和接收数据。在下面的示例中,我们将彼此共享“电子邮件”。我的WSDL(基于我的.NET类生成)定义了将在响应中返回的元素(比示例中多得多)和复杂类型。他们的WSDL定义了他们将发送回一个字符串(该字符串确实返回了我所期望的格式的数据)。 他们的WSDL没有定义将在响应中返回的元素,这有技术原因吗?如果他们在技术上能够做到这一点,那么在ColdFusion环境中实现这一点需要付出多少努力

注意:我是一名.NET开发人员,没有使用ColdFusion的经验,所以我不知道它们的局限性是什么

下面是我们的WSDLs的一个简化版本的相关部分,示例更改为“电子邮件”,以保护无辜者

.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>

是的,我想他们能做到

这需要付出多大的努力 在ColdFusion环境中实现

只需正确定义CFC和
,即可镜像Java对象


请参阅:

CF和.NET程序集之间还存在一些限制。我不确定它们是否适用于web服务,但是您至少应该了解它们

还要注意,ColdFusion是在Java上编写的,因此Java和.Net之间的任何转换问题都适用。希望这有帮助