Ich arbeite an einem Datenaustausch über Webdienste mit einer anderen Organisation, die ColdFusion einsetzt. Wir werden beide Daten senden und empfangen. In dem folgenden Beispiel werden wir "E-Mails" miteinander austauschen. Meine WSDL (die auf der Grundlage meiner .NET-Klassen erstellt wurde) definiert die Elemente (viel mehr als im Beispiel) und ComplexTypes, die in der Antwort zurückkommen werden. Ihre WSDL definiert, dass sie eine Zeichenkette zurücksenden werden (diese Zeichenkette gibt die Daten so formatiert zurück, wie ich es erwarte). Gibt es einen technischen Grund dafür, dass ihre WSDL die Elemente, die in der Antwort zurückkommen, nicht definiert? Wenn dies technisch möglich wäre, wie groß ist der Aufwand für die Implementierung in einer ColdFusion-Umgebung?
Nota: Ich bin ein .NET-Entwickler und habe keine Erfahrung mit ColdFusion, daher habe ich keine Ahnung, wo die Grenzen liegen.
Im Folgenden finden Sie die relevanten Teile einer vereinfachten Version unserer WSDLs, wobei das Beispiel zum Schutz der Unschuldigen in "E-Mail" geändert wurde.
Die relevanten Teile der .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>
Der entsprechende Teil der ColdFusion WSDL:
<wsdl:message name="displayEmailsResponse">
<wsdl:part name="displayEmailsReturn" type="xsd:string" />
</wsdl:message>