在自定义XML消息上使用Java Socket服务器的WCF TCP客户端

时间:2010-10-05 14:01:47

标签: java wcf tcp client

我正在尝试为Java Socket服务器构建一个WCF客户端,该服务器讨论自定义XML消息。我用MessageEncoder和netTCP传输创建了自己的自定义绑定。

现在我所看到的是 在第一次调用服务器时,服务器接受连接。但是,服务器然后等待特定的XML数据包。这是内置于客户端的方法接口中。 WCF不发送XML数据包。 稍后WCF报告超时异常,并且通道出现故障。

WCF netTCP传输是否仅适用于WCF TCP服务器?

代码:

[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);

}

我创建了一个SendMessageOneWay来启动Socket连接。这不起作用。因为我需要重用套接字,所以我设置了Session.Required。

请帮忙

2 个答案:

答案 0 :(得分:1)

WCF netTCP传输使用基于TCP的自定义协议;它是不是通用的原始TCP套接字适配器。

听起来您需要创建自己的自定义传输渠道。我刚刚在编写WCF频道时创建了一个list of resources(可能有点过时,但它对于入门仍然有用)

答案 1 :(得分:1)

是wcf使用不可互操作的.net成帧协议。 http://blogs.msdn.com/b/drnick/archive/2009/01/19/message-framing-part-1.aspx