Mensagens SOAP com Anexos: Exemplos WSDL

Use esta tarefa para ver um exemplo e uma explicação de um arquivo WSDL com um anexo.

Exemplo

O exemplo do WSDL a seguir ilustra uma operação simples que possui um anexo chamado attch:

<binding name="MyBinding" type="tns:abc" >
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="MyOperation">
    <soap:operation soapAction=""/>
    <input>
      <mime:multipartRelated>
        <mime:part>
          <soap:body parts="part1 part2 ..." use="encoded" namespace="http://mynamespace"
            encodingStyle="http://schemas.xmlsoap.org/soap/encoding"/>
        </mime:part>
        <mime:part>
          <mime:content part="attch" type="text/html"/>
        </mime:part>
      </mime:multipartRelated>
    </input>
  </operation>
</binding>
Nesse tipo de extensão do WSDL:
  • Deve haver um atributo part (nesse exemplo attch) da mensagem de entrada para a operação (nesse exemplo MyOperation). Pode haver outras partes de entrada para MyOperation que não sejam anexos.
  • Na entrada de ligação deve haver uma marcação <soap:body> ou uma marcação <mime:multipartRelated>, mas não ambas.
  • Para mensagens MIME, a tag <soap:body> está dentro de uma tag <mime:part>. Deve haver apenas uma tag <mime:part> que contém uma tag <soap:body> na entrada de ligação e também não deve conter uma tag <mime:content>, porque o tipo de conteúdo de text/xml é assumido para a tag <soap:body>.
  • Pode haver vários anexos em uma mensagem MIME, cada um descrito por uma tag <mime:part>.
  • Cada tag <mime:part> que não contém uma tag <soap:body> contém uma tag <mime:content> que descreve o próprio anexo. O atributo type dentro da tag <mime:content> não é verificado ou utilizado pelo barramento de integração de serviço. Ele está lá para sugerir ao aplicativo que usa o barramento de integração de serviços o conteúdo do anexo. Várias tags <mime:content> dentro de uma única tag <mime:part> significa que o serviço de backend espera um único anexo com um tipo especificado por uma das tags <mime:content> dentro dessa tag <mime:part>.
  • O atributo parts="..." O atributo dentro da tag <soap:body> é assumido como contendo os nomes de todas as partes SOAP na mensagem, mas não as partes do anexo. Se houver apenas partes de anexo, especifique parts="" (cadeia vazia). Se você omitir o atributo parts junto, o barramento de integração de serviços assumirá TODAS as partes incluindo os anexos - que fazem com que os anexos apareçam duas vezes.

No WSDL, você pode ter definido um esquema para o anexo (por exemplo, como um binary[]). As tecnologias de integração de serviço ignoram silenciosamente este mapeamento e tratam o anexo como uma Rotina de Tratamento de Dados.

Não é necessário mencionar anexos não referidos nas ligações de WSDL.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjw_attach_wsdl
Nome do arquivo: tjw_attach_wsdl.html