JAXWS:客户端地址属性未解析占位符



现在遇到最奇怪的问题 - 有一个Spring XML文件,其中jaxws:client的地址属性使用地址属性的属性占位符,但它拒绝解析地址属性。

这是日志文件错误:

   原因:java.net.MalformedURLException: no protocol: ${member.service.uri}    在java.net.URL。(网址.java:567) ~[na:1.6.0_33]    在java.net.URL。(网址.java:464) ~[na:1.6.0_33]    在java.net.URL。(网址.java:413) ~[na:1.6.0_33]    at org.apache.cxf.transport.http.HTTPConduit.setupURL(HTTPConduit.java:700) ~[cxf-      捆绑包-2.6.0.jar:2.6.0]    at org.apache.cxf.transport.http.HTTPConduit.prepare(HTTPConduit.java:474) ~[cxf-     捆绑包-2.6.0.jar:2.6.0]    at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46) ~[cxf-api-2.6.0.jar:2.6.0]    ...省略 43 个常见帧

以下是我的Spring XML文件的摘录:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:http="http://cxf.apache.org/transports/http/configuration"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jaxws="http://cxf.apache.org/jaxws"   
xmlns:sec="http://cxf.apache.org/configuration/security"
xmlns:cxf="http://cxf.apache.org/core"
xsi:schemaLocation="
http://www.springframework.org/schema/context  
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/beans    
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/transports/http/configuration   
http://cxf.apache.org/schemas/configuration/http-conf.xsd
http://www.springframework.org/schema/context  
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://cxf.apache.org/configuration/security  
http://cxf.apache.org/schemas/configuration/security.xsd
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd">    
<http:conduit name="https://.*">
<http:tlsClientParameters>
<sec:trustManagers>
<sec:keyStore type="JKS" password="${jkspass}" file="${jkslocation}" />
</sec:trustManagers>
</http:tlsClientParameters>
<http:client AutoRedirect="true" Connection="Keep-Alive" />
</http:conduit> 
<!-- Member Service -->
<!--<bean id="memberServiceProxy" class="com.loyalty.tp.ets.common.member.ws.Member" 
factory-bean="memberServiceProxyFactory" factory-method="create"/>  --> 
<jaxws:client id="memberServiceProxy"
serviceClass="com.loyalty.tp.ets.common.member.ws.Member"   
address="${member.service.uri}">
<jaxws:features>
<bean class="org.apache.cxf.feature.LoggingFeature" />
</jaxws:features>
</jaxws:client> 
<bean id="memberServiceProxyFactory" 
 class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.loyalty.tp.ets.common.member.ws.Member"/>
<property name="address" value="${member.service.uri}"/>
</bean> 
<!-- ETS Collector Service -->
<bean id="collectorServiceProxy" class="com.loyalty.tp.ets.collectorservice.Collector" 
factory-bean="collectorServiceProxyFactory" factory-method="create"/>
<bean id="collectorServiceProxyFactory" 
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.loyalty.tp.ets.collectorservice.Collector"/>
<property name="address" value="${ets.collector.service.uri}"/>
</bean> 
</beans>

它解决了${jksLocation}问题,${jkspassword}很好。这是怎么回事?

这似乎是某些版本的 cxf 和 spring 之间不兼容的尝试找到几个一起工作。

我有骆驼-cxf:2.12.0.redhat-610379,它带来了cxf 2.7.0和Spring 3.2.8.RELEASE,一切都很好

相关内容

  • 没有找到相关文章