Suportando Anexos Vinculados: Exemplos WSDL
Use esta tarefa para ver exemplos de fragmentos de WSDL com a codificação Web Services-Interoperability (WS-I) Attachments Profile Versão 1.0 e a codificação de Mensagens SOAP com Anexos.
Sobre Esta Tarefa
name=uuid@domain
em que name é o nome da parte da mensagem que está sendo
codificada, uuid é um identificador globalmente exclusivo e
domain é um identificador de domínio (por exemplo,
my.example.com).Para distinguir entre os casos, as tecnologias de integração de serviços assumem que se um anexo de mensagem seguir a convenção da Versão 1.0 para construir o ID de Conteúdo, será uma mensagem da Versão 1.0.
Exemplo
O fragmento WSDL a seguir destina-se ao anexo vinculado, com instâncias de mensagens que seguem os dois estilos:
<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>
O fragmento WSDL a seguir destina-se a uma instância SOAP que usa a codificação da Versão 1.0. Neste fragmento, o corpo da mensagem não faz menção à parte attachIn e o ID de Conteúdo do anexo identifica a parte que está sendo codificada.
--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--
O fragmento WSDL a seguir destina-se a uma instância SOAP que usa a codificação de Mensagens SOAP com Anexos. Nesse fragmento, o corpo da mensagem contém uma referência ao anexo vinculado e o ID de Conteúdo do anexo não é obrigatório.
--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--
Nos dois casos anteriores há informações suficientes na mensagem para identificar o anexo vinculado e, em ambos os casos, as tecnologias de integração de serviços colocam uma entrada de anexo vinculado na lista de anexos e colocam os dados do anexo na seção do corpo do gráfico de dados.