Java客户端和InstanceContextMode

时间:2013-05-23 10:32:35

标签: java wcf

我有一个由WCF服务和几个客户端组成的应用程序,全部用.NET(C#)制作。 现在我需要添加另一个客户端,它必须是Java,我没有太多经验。 所以我现在正在尝试一下,几乎立即遇到了问题。

我的服务行为是[InstanceContextMode = InstanceContextMode.PerSession,ConcurrencyMode = ConcurrencyMode.Single]。服务中的逻辑基于以下事实:同一会话中的后续调用由同一服务对象处理。

但是对于Java客户端它不起作用,为客户端的每个调用创建新的服务对象。我真的不想改变服务,我想应该有办法让会话保持活跃,但是我找不到任何可以应用的网页建议。

我正在使用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 个答案:

答案 0 :(得分:0)

问题是BasicHttpBinding,它不支持会话。