2012-03-23 2 views
0

Ошибка при попытке определить конечную точку wsdl. Стек-стек заявляет, что его не существует, однако я могу перейти к URL-адресу. Это https, и у меня есть сертификат, хранящийся в моем хранилище cacerts + root keystore ?? Помогите??Конфигурация Spring WS Wsdl11DestinationProvider Error

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> 

<!--bean id="propertyConfigurer" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" 
     p:location="/WEB-INF/jdbc.properties" /> 

<bean id="dataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource" 
     p:driverClassName="${jdbc.driverClassName}" 
     p:url="${jdbc.url}" 
     p:username="${jdbc.username}" 
     p:password="${jdbc.password}" /--> 

<!-- ADD PERSISTENCE SUPPORT HERE (jpa, hibernate, etc) --> 
<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory" /> 
<bean id="abstractClient" abstract="true"> 
    <constructor-arg ref="messageFactory" /> 
    <property name="destinationProvider"> 
     <bean class="org.springframework.ws.client.support.destination.Wsdl11DestinationProvider"> 
      <property name="wsdl" value="https://ws.firstdataglobalgateway.com:443/fdggwsapi/services/order.wsdl"/> 
     </bean> 
    </property> 
</bean> 
<bean id="contextApplicationContextProvider" class="com.intellavia.provider.ApplicationContextProvider"></bean> 
<bean id="marshaller" class="org.springframework.oxm.xmlbeans.XmlBeansMarshaller" /> 
<bean id="httpClientParams" class="org.apache.commons.httpclient.params.HttpClientParams"> 
    <property name="authenticationPreemptive" value="true" /> 
    <property name="connectionManagerClass" value="org.apache.commons.httpclient.MultiThreadedHttpConnectionManager" /> 
</bean> 
<bean id="httpClient" class="org.apache.commons.httpclient.HttpClient"> 
    <constructor-arg ref="httpClientParams" /> 
</bean> 
<bean id="credentials" class="org.apache.commons.httpclient.UsernamePasswordCredentials"> 
    <constructor-arg value="*********" /> 
    <constructor-arg value="*********" /> 
</bean> 
<bean id="messageSender" class="org.springframework.ws.transport.http.CommonsHttpMessageSender"> 
    <constructor-arg ref="httpClient"></constructor-arg> 
    <property name="credentials" ref="credentials" /> 
</bean> 
<bean id="fdggwsapiorder" parent="abstractClient" class="com.api.client.order"> 
    <property name="marshaller" ref="marshaller" /> 
    <property name="unmarshaller" ref="marshaller" /> 
    <property name="messageSender" ref="messageSender" /> 
</bean> 

Вызванные: org.springframework.beans.factory.BeanCreationException: Ошибка при создании боба с именем 'org.springframework.ws.client.support.destination.Wsdl11DestinationProvider # 7424ce', определенные в ServletContext ресурсе [/WEB-INF/applicationContext.xml]: значения свойств ошибки; Вложенное исключение - org.springframework.beans.PropertyBatchUpdateException; Вложенные свойства PropertyAccessExceptions (1): PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Свойство 'wsdl' выбрало исключение; Вложенное исключение - это java.lang.IllegalArgumentException: URL [https://ws.firstdataglobalgateway.com:443/fdggwsapi/services/order.wsdl] не существует на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues ​​(AbstractAutowireCapableBeanFactory.java:1279) на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1010) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:472) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory $ 1.Run (AbstractAutowireCapableBeanFactory.java:409) в java.security.AccessController.doPrivileged (метод Native) в org.springframework.beans.factory. support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:380) в org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean (BeanDefinitionValueResolver.java:219) ... подробнее 26

+0

Вы за прокси? Попробуйте загрузить wsld на свой сайт и указать на него. – jddsantaella

+0

@jddsantaella Спасибо за ответ, да, я пробовал это. На самом деле у меня это на моем сервере, затем я переключаю URL-адрес WSDL во время выполнения. Проблема в том, что мне нужно опубликовать этот url. –

+0

Итак, это работает, если у вас есть это на локальном сервере? Вы находитесь под прокси-сервером? – jddsantaella

ответ

0

Сервер я пытался Извлечение wsdl из ожидаемого сочетания клавиш и паролей. JVM также требовал, чтобы сертификат SSL хранился в файле cacerts в качестве доверенного объекта. Я устанавливал свойство хранилища ключей программно, однако этот запрос обрабатывался до переключения.

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