2010-10-05 17 views
1

Je tente de créer un client WCF pour un serveur Java Socket qui parle sur un message XML personnalisé. J'ai créé ma propre liaison personnalisée avec MessageEncoder et le transport netTCP.Client WCF TCP avec serveur Java Socket sur des messages XML personnalisés

Maintenant que ce que j'ai vu arriver est sur le premier appel au serveur, le serveur accepte la connexion. Cependant, le serveur attend un paquet XML spécifique. Ceci est construit dans l'interface de la méthode du client. WCF n'envoie pas le paquet XML. Le WCF ultérieur signale une exception de délai d'attente et le canal est en panne.

Le transport WCF netTCP fonctionnera-t-il uniquement avec un serveur WCF TCP?

code:

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")] 
[System.ServiceModel.ServiceContractAttribute(ConfigurationName = "IUserManager",  SessionMode=System.ServiceModel.SessionMode.Required)] 

public interface IUserManager 
{ 

[System.ServiceModel.OperationContract] 
bool SendMessage(string strMessage); 

[System.ServiceModel.OperationContract(IsInitiating = true, IsOneWay=true)] 
void SendMessageOneWay(string strMessage); 

} 

J'ai créé un SendMessageOneWay juste pour lancer la connexion Socket. Cela n'a pas fonctionné aussi bien. Comme j'ai besoin de réutiliser le socket, j'ai défini Session.Required.

S'il vous plaît aider

Répondre

1

Le transport WCF NetTcp utilise un protocole basé sur TCP personnalisé; il est pas un adaptateur de socket TCP-raw à usage général.

Il semble que vous ayez besoin de créer votre propre canal de transport personnalisé. J'ai créé un list of resources sur l'écriture des canaux WCF il y a un certain temps (peut-être un peu obsolète, mais cela devrait être utile pour commencer)