2011-01-26 113 views
2

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

回答