Служба Java (JAX-WS RI) получает тайм-аут в клиенте WCF, но работает нормально с клиентом Java или клиентом Perl - PullRequest
0 голосов
/ 30 июня 2011

Я пытаюсь использовать веб-сервис, основанный на Java (JAX-WS).Мне нужно написать клиент для него в WCF и Java.Причина: Java-клиент будет работать на Unix box как часть ночного цикла, а WCF-клиент будет частью нашего существующего клиентского приложения Windows.

Вот забавная вещь, которая происходит: 1) Java-клиент можетпотреблять данные.2) Даже клиент Perl также может потреблять данные.3) Клиент WCF не может потреблять. (Время ожидания всегда истекает, даже если время ожидания установлено на 15 минут, происходит сбой в течение 2 минут и время ожидания истекает)

Вот еще немного предыстории.Служба Java изначально не была основана на JAX-WS, @ тогда все три клиента (JAVA, WCF, Perl) могли использовать данные.Однако, как только они перешли на веб-службу Java на основе JAX-WS RI, это начало происходить.

Что делает JAX-WS RI, чтобы усложнить жизнь клиенту WCF.Кроме того, как я уже упоминал, клиент WCF теперь отключается в течение 2 минут, даже если время ожидания составляет 15 минут.

Также обратите внимание, что в моем клиенте WCF используется basicHttpBinding.*

<?xml version="1.0"?>
<configuration>
    <system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="FIN_BookService_1_PortBinding" closeTimeout="00:05:00" openTimeout="00:15:00" receiveTimeout="00:15:00" sendTimeout="00:15:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536000" maxBufferPoolSize="52428800" maxReceivedMessageSize="65536000" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
                    <readerQuotas maxDepth="32" maxStringContentLength="819200" maxArrayLength="1638400" maxBytesPerRead="409600" maxNameTableCharCount="1638400"/>
                    <security mode="None">
                        <transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
                        <message clientCredentialType="UserName" algorithmSuite="Default"/>
                    </security>
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://*********************/FIN_BookService_1" binding="basicHttpBinding" bindingConfiguration="FIN_BookService_1_PortBinding" contract="RDH.FIN_BookService_1_PortType" name="FIN_BookService_1_Port"/>
        </client>
    </system.serviceModel>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
...