2015-03-16 9 views
0

Мне нужно настроить клиента SOAP WebService с определенными значениями таймаута для попыток подключения и вызовов служб.WebSphere Spring Apache CXF SOAP WebService Таймаут клиента не работает

WS-клиент - это зависимость jar, сгенерированная с использованием WSDL с Maven cxf-codegen-plugin. Я использую эту клиентскую банку в своем веб-приложении как зависимость от maven и вызываю операции с сервисом.

Так что мой WebApp ПОМ содержит:

<dependency> 
    <groupId>my.web.service</groupId> 
    <artifactId>web-service-client-jar</artifactId> 
    <version>x.x.x</version> 
</dependency> 

вместе с зависимостями Apache CXF:

<!-- CXF dependencies --> 
<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-frontend-jaxws</artifactId> 
    <version>${cxf.version}</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.cxf</groupId> 
    <artifactId>cxf-rt-transports-http</artifactId> 
    <version>${cxf.version}</version> 
</dependency> 

И я определил ниже конфигурации весеннем для установки времени ожидания, которые не работают ..

<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:http-conf="http://cxf.apache.org/transports/http/configuration" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd"> 

<http-conf:conduit name="*.http-conduit"> 
    <http-conf:client ConnectionTimeout="20000" ReceiveTimeout="10000" /> 
</http-conf:conduit> 

<cxf:bus> 
    <cxf:outInterceptors> 
     <ref bean="fileuploadlogOutbound" /> 
    </cxf:outInterceptors> 
</cxf:bus> 

<!-- Outbound Message Logging --> 
<bean id="fileuploadlogOutbound" class="test.logging.MyLoggingOutInterceptor"> 
    <property name="prettyLogging" value="true" /> 
</bean> 

Но к моему смущению, o utInterceptors, определенные для прекрасного ведения журнала, отлично работают. Следовательно, я сомневаюсь, что в моей конфигурации есть какие-либо ошибки или нет. FYI Я пытаюсь заставить эту работу работать в среде WebSphere 8.5.

Это, как я создаю экземпляр клиента WS весной:

<jaxws:client id="documentUploadServiceJaxwsClient" 
    serviceClass="org.tempuri.IDocumentUploadService" address="#serviceEndpointString" > 

    <jaxws:binding> 
     <soap:soapBinding version="1.2" mtomEnabled="true" /> 
    </jaxws:binding> 
</jaxws:client> 

Есть ли какие-либо шаги, отсутствующие в Спринг конфигурации или мне нужно искать в WebSphere 8.5 специфическую конфигурацию, которая будет обеспечивать соблюдение HTTP/соединение SOAP & ответ таймауты?

+0

Для записи, CXF версии 2.7.7 и Весна 3.2.7. –

ответ

0

Я понял, что моя конфигурация CXF, упомянутая выше, отлично работает, но среда WAS, где развертывание приложения фактически отменяет любую конфигурацию, которую вы определяете на уровне приложения. Следовательно, я следил за ссылкой this для копирования и определения настраиваемой политики транспорта HTTP, где вы можете установить значения для ниже таймаутов.

таймаут
Запись таймаут
Тайм-аут соединения

 Смежные вопросы

  • Нет связанных вопросов^_^