wcf Java客户端和InstanceContextMode
我有一个由WCF服务和几个客户端组成的应用程序,所有这些都是在。净额(C#)。 现在我需要添加另一个客户端,它必须是Java的,我在这方面没有太多经验。 所以我现在正在做一点实验,几乎马上就遇到了一个问题
我的服务行为是[InstanceContextMode=InstanceContextMode.PerSession,ConcurrencyMode=ConcurrencyMode.Single]。服务中的逻辑基于一个事实,即相同会话中的后续调用由相同的服务对象处理
但对于Java客户机,它不起作用,为来自客户机的每个调用创建新的服务对象。我真的不想改变服务,我想应该有一种方法可以让Java保持会话的活力,但我在web上找不到任何可以应用的建议
我使用的是Eclipse(Juno Service Release 2),客户机代码是使用WSDL文件生成的
以下是我用来测试客户端的代码:
IMDReceiverProxy proxy = new IMDReceiverProxy("http://localhost:25001/MDSS");
Greeting msg = new Greeting("HTTP", "javaWsTest);
proxy.acceptGreeting(msg);
proxy.acceptGreeting(msg);//oops, new service object created
# 1 楼答案
问题是BasicHttpBinding,它不支持会话