Исходя из моего опыта, WSDL, создаваемый веб-службами WCF, в большей степени соответствует стандартам, чем устаревшие веб-службы ASMX, поэтому я всегда советую использовать WCF.
Однако я заметил одну вещь: использование параметров в контрактах операций (а не использование контрактов на данные или контрактов на сообщения для них) может быть немного неуклюжим для использования в Java.
Например:
[ServiceContract]
public interface ICalculatorService
{
[OperationContract]
int Add(int firstValue, int secondValue);
}
Обычно используемые инструменты в Java будут использовать Integer
объекты для этих параметров (а не примитивных типов), потому что WSDL указывает, что firstValue и secondValue являются необязательными. Я написал в блоге сообщение о том, как сделать WCF лучше генерирующим WSDL , чтобы он этого не делал.