WCF服务可由其他平台调用,以及抽象类兼容性

时间:2011-12-08 22:23:03

标签: wcf web-services

我想知道WCF服务是否平台无关。也就是说,WCF服务可以接收来自其他平台的请求,比如Java吗?如果可以,WCF中的抽象类是否适用于其他平台。例如,下面的代码可以用于其他平台吗?

- 这只是一个例子

[ServiceContract(Name = "Service1")]
public interface IService1
{                
    [OperationContract]
    [ServiceKnownType(typeof(Retangle))]
    [ServiceKnownType(typeof(Square))]
    string GetShape(Shape shape);
}

    [DataContract]
    public abstract class Shape //is abstract interoperable by other language
   {    
    }

 [DataContract]
   public class Retangle:Shape
    {    
    }

[DataContract]
public class Square : Shape
{    
}

http://localhost:10287/Service1.svc

由于

1 个答案:

答案 0 :(得分:2)

合格是,WCF如果与标准传输一起使用,并且消息协议(如SOAP,JSON,REST,HTTP / S)可与其他平台和语言高度互操作。在实践中,兼容性将根据语言和平台以及使用SOAP时使用的WS- *协议的级别而有所不同。
在您使用KnownType的特定情况下,使用Java并且我可以保证它,因为我们在Java客户端使用的企业WCF应用程序中使用它。我们使用的Java堆栈是Metro,IDE是Netbeans。

您始终可以尝试使用SoapUI这是一个用Java编写的通用SOAP客户端来使用您的WCF服务并测试它是否有效。