You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by williamc1983 <ch...@hotmail.com> on 2011/09/04 05:24:06 UTC

CXF HTTP Conduit settings not loaded, Pls Help

Hi, I hit the following error when I try to start the server:

"Caused by: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target"

I suspect the HTTP Conduit config is not loaded caused even I change the
location of the truststore to an invalid location, the system doesn't
complain on the file not found. Pls advice.

Thanks in advance.

attached below is the configuration for my app:

<?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:cxf="http://camel.apache.org/schema/cxf"
    xmlns:http="http://cxf.apache.org/transports/http/configuration"
    xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
    xmlns:sec="http://cxf.apache.org/configuration/security"
xmlns:camel="http://camel.apache.org/schema/spring"
    xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:aop="http://www.springframework.org/schema/aop"
    xsi:schemaLocation="
       http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
       http://cxf.apache.org/transports/http/configuration
http://cxf.apache.org/schemas/configuration/http-conf.xsd
       http://cxf.apache.org/transports/http-jetty/configuration
http://cxf.apache.org/schemas/configuration/http-jetty.xsd
       http://cxf.apache.org/configuration/security
http://cxf.apache.org/schemas/configuration/security.xsd
       http://camel.apache.org/schema/cxf
http://camel.apache.org/schema/cxf/camel-cxf.xsd
       http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd
       http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">

    <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> 
    <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"
/>

    <import resource="/cbig-interceptor-spring.xml" />
    <import resource="/cbig-property-spring.xml" />
    <import resource="/cbig-transformer-spring.xml" />

    <bean id="propertyConfigurer"
       
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location">
            <value>classpath:config.properties</value>
        </property>
    </bean>

    <aop:aspectj-autoproxy />

    <bean id="loggingAspect" class="com.test.cbig.aspect.LoggingAspect" />

    <camelContext xmlns="http://camel.apache.org/schema/spring">
        <package>com.test</package>
    </camelContext>

    <httpj:engine-factory bus="cxf">
        <httpj:engine port="${cbigserver.port}">
            <httpj:tlsServerParameters>
                <sec:keyManagers keyPassword="cbig1234">
                    <sec:keyStore type="JKS" password="cbig123"
resource="cbigserver.jks" />
                </sec:keyManagers>
                <sec:trustManagers>
                    <sec:keyStore type="JKS" password="cbig123"
resource="cbigserver.jks" />
                </sec:trustManagers>
                <sec:cipherSuitesFilter>
                    <sec:include>.*_WITH_3DES_.*</sec:include>
                    <sec:include>.*_WITH_DES_.*</sec:include>
                    <sec:exclude>.*_WITH_NULL_.*</sec:exclude>
                    <sec:exclude>.*_DH_anon_.*</sec:exclude>
                </sec:cipherSuitesFilter>
                <sec:clientAuthentication want="true"
                    required="false" />
            </httpj:tlsServerParameters>
        </httpj:engine>
    </httpj:engine-factory>

    <http:conduit id="http-conduit"
        name="*.http-conduit">
        <http:tlsClientParameters disableCNCheck="true"
secureSocketProtocol="SSL">
            <sec:trustManagers>
                <sec:keyStore type="JKS" password="sgleapclient123"
                    file="sgleapclient.jks" />
            </sec:trustManagers>
            <sec:cipherSuitesFilter>
                <sec:include>.*_EXPORT_.*</sec:include>
                <sec:include>.*_EXPORT1024_.*</sec:include>
                <sec:include>.*_WITH_3DES_.*</sec:include>
                <sec:include>.*_WITH_DES_.*</sec:include>
                <sec:include>.*_WITH_NULL_.*</sec:include>
                <sec:exclude>.*_DH_anon_.*</sec:exclude>
            </sec:cipherSuitesFilter>
        </http:tlsClientParameters>
        
    </http:conduit>

    <camel:camelContext id="cbigServerContext">
        <camel:onException>
           
<camel:exception>com.test.cbig.exception.ValidationException</camel:exception>
           
<camel:exception>com.dbx.wsdl.customersvc.IpException</camel:exception>
            <camel:handled>
                <camel:constant>true</camel:constant>
            </camel:handled>
            <camel:process
ref="com.test.cbig.exception.CbigExceptionHandler" />
        </camel:onException>

        <camel:route>
            <camel:from uri="cxf:bean:cbigEndpoint">
                <camel:description></camel:description>
            </camel:from>
            <camel:bean
ref="com.test.cbig.property.generator.CbigUUIDGenerator"
                method="process" />
            <camel:choice>
                <camel:when>
                    <camel:jxpath>in/body/cbigRequestHeader/functionId =
'CustNameSrh'</camel:jxpath>
                    <camel:to uri="direct:custNameSrhDirect" />
                    <camel:filter>
                        <camel:jxpath>
                       not(in/body/detailInfo/statusCode = 'xx01')
                       </camel:jxpath>
                        <camel:bean ref="echoComponent"
method="process"></camel:bean>
                        <camel:filter>
                            <camel:method
                               
ref="com.test.cbig.filter.CbigMultipleCISInternalIdFilter"
                                method="isMatched"></camel:method>
                            <camel:to uri="direct:loanDetlInqDirect" />
                        </camel:filter>
                    </camel:filter>
                </camel:when>
                <camel:otherwise>
                    <camel:bean
                       
ref="com.test.cbig.transformer.CbigOtherwiseRespTransformer"
                        method="process"></camel:bean>
                </camel:otherwise>
            </camel:choice>
        </camel:route>
        <camel:route>
            <camel:from uri="direct:custNameSrhDirect">
                <camel:description></camel:description>
            </camel:from>
            <camel:onException>
               
<camel:exception>org.apache.cxf.interceptor.Fault</camel:exception>
                <camel:exception>java.lang.Exception</camel:exception>
                <camel:redeliveryPolicy maximumRedeliveries="3"
                    redeliveryDelay="5000" />
            </camel:onException>
            <camel:pipeline>
                <camel:bean ref="CustNameSrhValuePopulator" method="process"
/>
                <camel:bean
                   
ref="com.test.cbig.transformer.CbigCustNameSrhReqTransformer"
                    method="process" />
                <camel:bean
                   
ref="com.test.cbig.interceptor.SgLeapsOutHeaderInterceptor"
                    method="process" />
                <camel:to uri="cxf:bean:serviceEndpoint">
                </camel:to>
                <camel:bean
                   
ref="com.test.cbig.transformer.CbigCustNameSrhRespTransformer"
                    method="process" />
            </camel:pipeline>
        </camel:route>

        <camel:route>
            <camel:from uri="direct:handleError" />
            <camel:bean ref="echoComponent" method="process"></camel:bean>
        </camel:route>

    </camel:camelContext>

    <bean id="com.test.cbig.filter.CbigMultipleCISInternalIdFilter"
        class="com.test.cbig.filter.CbigMultipleCISInternalIdFilter" />
    <bean id="echoComponent"
class="com.test.cbig.transformer.DummyComponent" />
    <bean id="CodeConverterMonitor"
        class="com.test.cbig.codeconverter.monitor.CodeConverterMonitor" />
    <bean id="com.test.cbig.exception.CbigExceptionHandler"
class="com.test.cbig.exception.CbigExceptionHandler" />

    <bean id="com.test.cbig.transformer.CbigOtherwiseRespTransformer"
        class="com.test.cbig.transformer.CbigOtherwiseRespTransformer" />

    <cxf:cxfEndpoint id="cbigEndpoint"
       
address="${cbigserver.protocol}://${cbigserver.address}:${cbigserver.port}/services/CBIG"
        serviceClass="com.test.cbig.ws.CbigService">
    </cxf:cxfEndpoint>

    <cxf:cxfEndpoint id="serviceEndpoint"
        xmlns:cust="http://www.dbx.com/wsdl/CustomerSvc"
       
address="${sgleapsserver.protocol}://${sgleapsserver.address}:${sgleapsserver.port}/Service1/CustomerSvc/CustNameSrh"
        serviceClass="com.dbx.wsdl.customersvc.CustomerSvcPortType"
        serviceName="cust:CustomerSvc_Service"
endpointName="cust:CustomerSvc_Port_GD"
       
wsdlURL="${sgleapsserver.protocol}://${sgleapsserver.address}:${sgleapsserver.port}/Service1/CustomerSvc?WSDL">
    </cxf:cxfEndpoint>

    <bean id="CustNameSrhValuePopulator"
        class="com.test.cbig.transformer.CbigValuePopulatorTransformer">
        <constructor-arg name="clazz"
            value="com.test.cbig.ws.data.CbigRequest" />
        <property name="config">
            <map>
                <entry
key="cbigRequestBody/customerProfile/commonRq/orgCode"
                    value="0001" />
                <entry
key="cbigRequestBody/customerProfile/commonRq/channelId"
                    value="00" />
                <entry
key="cbigRequestBody/customerProfile/partCustDoc/docType"
                    value="01" />
            </map>
        </property>
    </bean>
</beans>



--
View this message in context: http://camel.465427.n5.nabble.com/CXF-HTTP-Conduit-settings-not-loaded-Pls-Help-tp4766809p4766809.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: CXF HTTP Conduit settings not loaded, Pls Help

Posted by williamc1983 <ch...@hotmail.com>.
The Camel version is 2.6.0 and CXF version is 2.3.2.

--
View this message in context: http://camel.465427.n5.nabble.com/CXF-HTTP-Conduit-settings-not-loaded-Pls-Help-tp4766809p4766820.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: CXF HTTP Conduit settings not loaded, Pls Help

Posted by williamc1983 <ch...@hotmail.com>.
Thanks Willem, I followed your advice and have started a simple project
following the example
@http://camel.apache.org/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.html.
It seems like my mistake. If I specify
"https://192.168.1.172:37025/Service1/CustomerSvc?wsdl" for the wsdlURL, it
have the error; however, if I follow the example by downloading the wsdl
into META-INF then refer to it. It's working now.
Many thanks.

--
View this message in context: http://camel.465427.n5.nabble.com/CXF-HTTP-Conduit-settings-not-loaded-Pls-Help-tp4766809p4769759.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: CXF HTTP Conduit settings not loaded, Pls Help

Posted by Willem Jiang <wi...@gmail.com>.
Hi,

The configure looks good to me, not sure if is related to the other part 
configure.

Can you just try write a simple test which has no <aop:aspectj-autoproxy />.

BTW, camel-cxf has a simple unit test which did some configuration on 
the http conduit which  works.


On 9/4/11 11:24 AM, williamc1983 wrote:
> Hi, I hit the following error when I try to start the server:
>
> "Caused by: sun.security.provider.certpath.SunCertPathBuilderException:
> unable to find valid certification path to requested target"
>
> I suspect the HTTP Conduit config is not loaded caused even I change the
> location of the truststore to an invalid location, the system doesn't
> complain on the file not found. Pls advice.
>
> Thanks in advance.
>
> attached below is the configuration for my app:
>
> <?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:cxf="http://camel.apache.org/schema/cxf"
>      xmlns:http="http://cxf.apache.org/transports/http/configuration"
>      xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration"
>      xmlns:sec="http://cxf.apache.org/configuration/security"
> xmlns:camel="http://camel.apache.org/schema/spring"
>      xmlns:jaxws="http://cxf.apache.org/jaxws"
> xmlns:aop="http://www.springframework.org/schema/aop"
>      xsi:schemaLocation="
>         http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
>         http://www.springframework.org/schema/aop
> http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
>         http://cxf.apache.org/transports/http/configuration
> http://cxf.apache.org/schemas/configuration/http-conf.xsd
>         http://cxf.apache.org/transports/http-jetty/configuration
> http://cxf.apache.org/schemas/configuration/http-jetty.xsd
>         http://cxf.apache.org/configuration/security
> http://cxf.apache.org/schemas/configuration/security.xsd
>         http://camel.apache.org/schema/cxf
> http://camel.apache.org/schema/cxf/camel-cxf.xsd
>         http://camel.apache.org/schema/spring
> http://camel.apache.org/schema/spring/camel-spring.xsd
>         http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
>
>      <import resource="classpath:META-INF/cxf/cxf.xml" />
>      <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
>      <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml"
> />
>
>      <import resource="/cbig-interceptor-spring.xml" />
>      <import resource="/cbig-property-spring.xml" />
>      <import resource="/cbig-transformer-spring.xml" />
>
>      <bean id="propertyConfigurer"
>
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
>          <property name="location">
>              <value>classpath:config.properties</value>
>          </property>
>      </bean>
>
>      <aop:aspectj-autoproxy />
>
>      <bean id="loggingAspect" class="com.test.cbig.aspect.LoggingAspect" />
>
>      <camelContext xmlns="http://camel.apache.org/schema/spring">
>          <package>com.test</package>
>      </camelContext>
>
>      <httpj:engine-factory bus="cxf">
>          <httpj:engine port="${cbigserver.port}">
>              <httpj:tlsServerParameters>
>                  <sec:keyManagers keyPassword="cbig1234">
>                      <sec:keyStore type="JKS" password="cbig123"
> resource="cbigserver.jks" />
>                  </sec:keyManagers>
>                  <sec:trustManagers>
>                      <sec:keyStore type="JKS" password="cbig123"
> resource="cbigserver.jks" />
>                  </sec:trustManagers>
>                  <sec:cipherSuitesFilter>
>                      <sec:include>.*_WITH_3DES_.*</sec:include>
>                      <sec:include>.*_WITH_DES_.*</sec:include>
>                      <sec:exclude>.*_WITH_NULL_.*</sec:exclude>
>                      <sec:exclude>.*_DH_anon_.*</sec:exclude>
>                  </sec:cipherSuitesFilter>
>                  <sec:clientAuthentication want="true"
>                      required="false" />
>              </httpj:tlsServerParameters>
>          </httpj:engine>
>      </httpj:engine-factory>
>
>      <http:conduit id="http-conduit"
>          name="*.http-conduit">
>          <http:tlsClientParameters disableCNCheck="true"
> secureSocketProtocol="SSL">
>              <sec:trustManagers>
>                  <sec:keyStore type="JKS" password="sgleapclient123"
>                      file="sgleapclient.jks" />
>              </sec:trustManagers>
>              <sec:cipherSuitesFilter>
>                  <sec:include>.*_EXPORT_.*</sec:include>
>                  <sec:include>.*_EXPORT1024_.*</sec:include>
>                  <sec:include>.*_WITH_3DES_.*</sec:include>
>                  <sec:include>.*_WITH_DES_.*</sec:include>
>                  <sec:include>.*_WITH_NULL_.*</sec:include>
>                  <sec:exclude>.*_DH_anon_.*</sec:exclude>
>              </sec:cipherSuitesFilter>
>          </http:tlsClientParameters>
>
>      </http:conduit>
>
>      <camel:camelContext id="cbigServerContext">
>          <camel:onException>
>
> <camel:exception>com.test.cbig.exception.ValidationException</camel:exception>
>
> <camel:exception>com.dbx.wsdl.customersvc.IpException</camel:exception>
>              <camel:handled>
>                  <camel:constant>true</camel:constant>
>              </camel:handled>
>              <camel:process
> ref="com.test.cbig.exception.CbigExceptionHandler" />
>          </camel:onException>
>
>          <camel:route>
>              <camel:from uri="cxf:bean:cbigEndpoint">
>                  <camel:description></camel:description>
>              </camel:from>
>              <camel:bean
> ref="com.test.cbig.property.generator.CbigUUIDGenerator"
>                  method="process" />
>              <camel:choice>
>                  <camel:when>
>                      <camel:jxpath>in/body/cbigRequestHeader/functionId =
> 'CustNameSrh'</camel:jxpath>
>                      <camel:to uri="direct:custNameSrhDirect" />
>                      <camel:filter>
>                          <camel:jxpath>
>                         not(in/body/detailInfo/statusCode = 'xx01')
>                         </camel:jxpath>
>                          <camel:bean ref="echoComponent"
> method="process"></camel:bean>
>                          <camel:filter>
>                              <camel:method
>
> ref="com.test.cbig.filter.CbigMultipleCISInternalIdFilter"
>                                  method="isMatched"></camel:method>
>                              <camel:to uri="direct:loanDetlInqDirect" />
>                          </camel:filter>
>                      </camel:filter>
>                  </camel:when>
>                  <camel:otherwise>
>                      <camel:bean
>
> ref="com.test.cbig.transformer.CbigOtherwiseRespTransformer"
>                          method="process"></camel:bean>
>                  </camel:otherwise>
>              </camel:choice>
>          </camel:route>
>          <camel:route>
>              <camel:from uri="direct:custNameSrhDirect">
>                  <camel:description></camel:description>
>              </camel:from>
>              <camel:onException>
>
> <camel:exception>org.apache.cxf.interceptor.Fault</camel:exception>
>                  <camel:exception>java.lang.Exception</camel:exception>
>                  <camel:redeliveryPolicy maximumRedeliveries="3"
>                      redeliveryDelay="5000" />
>              </camel:onException>
>              <camel:pipeline>
>                  <camel:bean ref="CustNameSrhValuePopulator" method="process"
> />
>                  <camel:bean
>
> ref="com.test.cbig.transformer.CbigCustNameSrhReqTransformer"
>                      method="process" />
>                  <camel:bean
>
> ref="com.test.cbig.interceptor.SgLeapsOutHeaderInterceptor"
>                      method="process" />
>                  <camel:to uri="cxf:bean:serviceEndpoint">
>                  </camel:to>
>                  <camel:bean
>
> ref="com.test.cbig.transformer.CbigCustNameSrhRespTransformer"
>                      method="process" />
>              </camel:pipeline>
>          </camel:route>
>
>          <camel:route>
>              <camel:from uri="direct:handleError" />
>              <camel:bean ref="echoComponent" method="process"></camel:bean>
>          </camel:route>
>
>      </camel:camelContext>
>
>      <bean id="com.test.cbig.filter.CbigMultipleCISInternalIdFilter"
>          class="com.test.cbig.filter.CbigMultipleCISInternalIdFilter" />
>      <bean id="echoComponent"
> class="com.test.cbig.transformer.DummyComponent" />
>      <bean id="CodeConverterMonitor"
>          class="com.test.cbig.codeconverter.monitor.CodeConverterMonitor" />
>      <bean id="com.test.cbig.exception.CbigExceptionHandler"
> class="com.test.cbig.exception.CbigExceptionHandler" />
>
>      <bean id="com.test.cbig.transformer.CbigOtherwiseRespTransformer"
>          class="com.test.cbig.transformer.CbigOtherwiseRespTransformer" />
>
>      <cxf:cxfEndpoint id="cbigEndpoint"
>
> address="${cbigserver.protocol}://${cbigserver.address}:${cbigserver.port}/services/CBIG"
>          serviceClass="com.test.cbig.ws.CbigService">
>      </cxf:cxfEndpoint>
>
>      <cxf:cxfEndpoint id="serviceEndpoint"
>          xmlns:cust="http://www.dbx.com/wsdl/CustomerSvc"
>
> address="${sgleapsserver.protocol}://${sgleapsserver.address}:${sgleapsserver.port}/Service1/CustomerSvc/CustNameSrh"
>          serviceClass="com.dbx.wsdl.customersvc.CustomerSvcPortType"
>          serviceName="cust:CustomerSvc_Service"
> endpointName="cust:CustomerSvc_Port_GD"
>
> wsdlURL="${sgleapsserver.protocol}://${sgleapsserver.address}:${sgleapsserver.port}/Service1/CustomerSvc?WSDL">
>      </cxf:cxfEndpoint>
>
>      <bean id="CustNameSrhValuePopulator"
>          class="com.test.cbig.transformer.CbigValuePopulatorTransformer">
>          <constructor-arg name="clazz"
>              value="com.test.cbig.ws.data.CbigRequest" />
>          <property name="config">
>              <map>
>                  <entry
> key="cbigRequestBody/customerProfile/commonRq/orgCode"
>                      value="0001" />
>                  <entry
> key="cbigRequestBody/customerProfile/commonRq/channelId"
>                      value="00" />
>                  <entry
> key="cbigRequestBody/customerProfile/partCustDoc/docType"
>                      value="01" />
>              </map>
>          </property>
>      </bean>
> </beans>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/CXF-HTTP-Conduit-settings-not-loaded-Pls-Help-tp4766809p4766809.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>


-- 
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog:    http://willemjiang.blogspot.com (English)
          http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Weibo: willemjiang