Alguém sabe de quaisquer problemas com o uso do WCF para expor uma interface SOAP para clientes não .NET?

StackOverflow https://stackoverflow.com/questions/109083

Pergunta

Alguém sabe de quaisquer problemas com o uso do WCF para expor uma interface SOAP para clientes não .NET? Por exemplo, incompatibilidades com outras bibliotecas sabão?

Isso é para que a interface SOAP podem ser expostos para que terceiros possam integrar com o nosso software.

Foi útil?

Solução

Algumas das áreas de problema que eu encontrei com o WCF:

  • Ele gera WSDL que é dividida através URLs múltiplas. Ou seja, um parte do esquema é em uma URL, outra está em um URL diferente, etc. O "principal" WSDL URL (aquele com apenas "? WSDL" após o nome do serviço) referencia os outros via xsd:import elementos. Muitos clientes SOAP (por exemplo pre-.NET Delphi) têm enorme dificuldade com este idioma. Então, você realmente tem que "achatar" o WSDL, a fim de alcançar a interoperabilidade na prática. Uma solução é dada aqui .
  • WCF não gera namespaces XML da mesma forma que, digamos, ASMX web Serviços. WCF tem uma tendência a colocar qualquer serviço ou dados contrato em um espaço de nomes do seu próprio escolher. Mais uma vez, alguns clientes SOAP têm dificuldade com isso. Você pode aumentar você interoperabilidade nível, adicionando um namespace explícita ao seu ServiceContract e DataContract atributos.
  • Muitos clientes SOAP não vai lidar com falhas como bem como clientes WCF. Por exemplo, o código de geração de proxy não vai criar objetos do lado do cliente para o falhas declarada no WSDL. o falhas ainda serão transmitidos para o cliente, é claro, mas o cliente, então, tem que fazer mais trabalho para descobrir que tipo de culpa foi.

Outras dicas

versões da pilha WS- * normas também pode ser um problema de interoperabilidade - por exemplo, a versão do WS-Addressing (2003), apoiado por alguns java implementações por exemplo Oracle BPEL não é suportado pelo WCF que suporta o projecto mais tarde e 1.0 versões mas não o mais cedo 2003, um

Geralmente tudo funciona bem. É, obviamente, vai depender do cliente que você está usando -. Nem todos implementar o SOAP corretamente

P.S. você poderia Reformule a sua pergunta se você esperar por mais resposta específica?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top