Unterstützung gebundener Anhänge: WSDL-Beispiele
Verwenden Sie diese Task, um Beispiele für WSDL-Fragments mit der Codierung Web Services-Interoperability (WS-I) Attachments Profile Version 1.0 und mit der Codierung SOAP Messages with Attachments anzuzeigen.
Informationen zu diesem Vorgang
Name=UUID@Domäne
Name steht für den Namen des zu codierenden Nachrichtenabschnitts,
UUID für eine globale eindeutige ID und Domäne für eine Domänen-ID (z. B. my.example.com).Für die Unterscheidung dieser Fälle gehen die Serviceintegrationstechnologien davon aus, dass es sich um eine Nachricht der Version 1.0 handelt, wenn ein Nachrichtenanhang der Konvention der Version 1.0 für das Erstellen der Inhalts-ID folgt.
Beispiel
Das folgende WSDL-Fragment ist für einen gebundenen Anhang in Nachrichteninstanzen bestimmt, die beiden Stilen entsprechen:
<wsdl:binding name="BoundSoapBinding" type="intf:BoundPortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="bound">
<soap:operation soapAction=""/>
<wsdl:input>
<mime:multipartRelated>
<mime:part>
<soap:body parts="stringIn" namespace="http://bound"
use="literal"/>
</mime:part>
<mime:part>
<mime:content part="attachIn" type="text/xml"/>
</mime:part>
</mime:multipartRelated>
</wsdl:input>
Das folgende WSDL-Fragment ist für eine SOAP-Instanz bestimmt, die die Codierung der Version 1.0 verwendet. In diesem Fragment enthält der Nachrichtenhauptteil (Body) keine Angabe zum Nachrichtenabschnitt attachIn, und die Inhalts-ID des Anhangs gibt den codierten Nachrichtenabschnitt an.
--myBoundary
Content-Type: text/xml
Content-Transfer-Encoding: 7bit
Content-Id: <myStartID>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns0:bound xmlns:ns0="http://bound">
<stringIn>some string data</stringIn>
</ns0:bound>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--myBoundary
Content-Type: text/xml
Content-Transfer-Encoding: 7bit
Content-Id: <attachIn=someUUID@some.domain.name>
<someOtherXMLElement/>
--myBoundary--
Das folgende WSDL-Fragment ist für eine SOAP-Instanz bestimmt, die die Codierung SOAP Messages with Attachments verwendet. In diesem Fragment enthält der Nachrichtenhauptteil eine Referenz auf den gebundenen Anhang, und die Inhalts-ID des Anhangs ist nicht beschränkt.
--myBoundary
Content-Type: text/xml
Content-Transfer-Encoding: 7bit
Content-Id: <myStartID>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<ns0:bound xmlns:ns0="http://bound">
<stringIn>some string data</stringIn>
<attachIn href="cid:notTheStart"/>
</ns0:bound>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
--myBoundary
Content-Type: text/xml
Content-Transfer-Encoding: 7bit
Content-Id: <notTheStart>
<someOtherXMLElement/>
--myBoundary--
In den vorgestellten Fällen, sind die in der Nachricht enthaltenen Informationen ausreichend, um den gebundenen Anhang zu identifizieren, und in beiden Fällen fügen die Serviceintegrationstechnologien einen Eintrag für gebundenen Anhang in die Anhangliste und die Daten aus dem Anhang in den Hauptteil (body) des Datengraphen ein.