【问题标题】:how to build WCF service suitable for java client如何构建适合java客户端的WCF服务
【发布时间】:2015-06-30 06:34:30
【问题描述】:
我已经开发了一个带有基本 httpbinding 的 WCF 服务。使用我的 WCF 服务的客户端是一个 Java 应用程序。
我的 java 应用程序客户端在发送数据以进行操作超过 10 分钟时经常面临连接超时。如果发送数据以进行较少的操作,则它可以正常工作。我该怎么做才能解决这个问题?
当 java 客户端抛出连接超时问题时。尽管 java 客户端中的连接超时,我的 WCF 服务正在处理它最初由 java 客户端调用的操作。当我的 java 客户端已经抛出连接超时时,为什么我的 wcf 服务仍在执行操作?
Java 客户端可以使用哪种类型的绑定与我的 WCF 服务进行交互?
【问题讨论】:
标签:
java
.net
wcf
binding
【解决方案1】:
我的 java 应用程序客户端在发送数据时经常遇到连接超时
操作时间超过 10 分钟。如果发送数据时间少于
操作然后它工作正常。我该怎么做才能解决这个问题。
连接超时是客户端的事情。您的客户说“服务响应时间太长”并抛出异常。服务器不关心调用需要多长时间,并将继续处理超出客户端超时阈值的调用。
为什么我的 wcf 服务仍在执行操作,当我的 java 客户端
已经抛出连接超时?
上面已经回答了,但是因为服务不关心(不应该),客户端已经抛出并中止了调用。它不像 SQL 数据库连接,其中客户端关闭连接将中止操作。
我可以使用什么类型的绑定让 java 客户端与我的 WCF 交互
服务?
支持 Java 客户端的唯一绑定类型是您已经在使用的绑定类型。如果有的话,我会尝试在您的 Java 客户端上增加 Send Timeout 的等效值。
另一种方法是减少调用返回所需的时间,可能是通过使用Hangfire 或其他后台程序使服务端处理脱机。