/ / Dostęp do usługi WCF za pomocą Java - Java, .net, wcf, protokoły, bufory protokołów

Dostęp do usługi WCF za pomocą Java - java, .net, wcf, protokoły, bufory protokołu

Tworzę serwis internetowy przy użyciu WCF, do którego chcę uzyskać dostęp za pomocą klienta napisanego w Javie. Będę kodować wiadomości przy użyciu buforów protokołów (z Marc Gravell protobuf-net byc dokładnym).

Czy jest to możliwe do osiągnięcia, czy też musi to być klientnapisany również w .NET? Wiem, że dane zserializowane za pomocą buforów protokołów są binarne, ale nie wiem, czy WCF doda jakieś specyficzne dla platformy metadane na wierzchu zakodowanych komunikatów protokołu.

Nie obchodzi mnie, czy usługa WCF działa RESTful,Oparte na SOAP lub jakiejkolwiek innej formie obsługi WCF, chcę tylko zakodować rzeczywistą ładowność za pomocą PB. Czy to możliwe, a jeśli tak, to bardzo doceniłbym krótki przykład.

Odpowiedzi:

1 dla odpowiedzi № 1

Jeśli zaprogramujesz swoją usługę WCF, aby pobierała tablicę bajtów, możesz umieścić tam wszystko, co chcesz, na przykład komunikat protokołu Protobuf. Może to być tak proste, jak

  [ServiceContract]
public interface IMessageService{
[OperationContract(IsOneWay = true)]
void SendMessage(byte[] msg);
}

[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class MessageService: IMessageService{

public void SendMessage(byte[] msg) {
//decode the protobuf msg and deal with it.
}

}

Skonfiguruj punkt końcowy WCF jako SOAP, a następnie mówdo tego z Java powinna być prosta. Wether WCF / Soap byłby przesadą, ponieważ jest to inna sprawa, iirc protobuf ma własną platformę do prostego RPC.


-1 dla odpowiedzi № 2

Nigdy nie korzystałem z protobuf-net, ale chodziło o interop.

niezależny od platformy - przenośny między różnymi architekturami programowania