Seems
1)the busCfg isn't picked up, 2) or the port QName you specified in
<http:destination
name="{http://samples.com/}MathServicePort.http-destination";>
</http:destination>
isn't match the one in your wsdl.

Freeman

GNarra wrote:
Freeman,

This is the only SA I deploy, I checked hotdeploy and there is only one sa
more than what is shipped with SMX 3.3

thanks
-gopal


Freeman Fang wrote:
Hmm, do you already bind http protocol to port 8092? You may already have endpoint registered to use port 8092 with http(but not https), for example you deploy another SA using 8092 with http(maybe the cxf-wsdl-first example with kit?)
GNarra wrote:
Freeman,

I looked at the test and I am getting this error when I try it...

xbean.xml configuration is <cxfbc:consumer wsdl="classpath:MathService.wsdl"
                busCfg="cxf.xml"
locationURI="https://localhost:8092/Services/MathService";
                targetService="samples:MathService" 
targetEndpoint="MathServicePort" />

the busCfg cxf.xml configuration, I use the keystore.jks that ships with
the
Servicemix.
<bean id="cxf" class="org.apache.cxf.bus.CXFBusImpl" />

<http:destination
        name="{http://samples.com/}MathServicePort.http-destination";>
</http:destination>

<httpj:engine-factory bus="cxf">
        <httpj:engine port="8092">
                <httpj:tlsServerParameters>
                        <sec:keyManagers keyPassword="password">
                                <sec:keyStore type="JKS" password="servicemix"
                                                resource="keystore.jks" />
                        </sec:keyManagers>
                        <sec:trustManagers>
                                <sec:keyStore type="JKS" password="servicemix"
                                                resource="keystore.jks" />
                        </sec:trustManagers>
                        <sec:cipherSuitesFilter>
                                <!--
                                these filters ensure that a ciphersuite with 
export-suitable or
                                null encryption is used, but exclude anonymous 
Diffie-Hellman key
                                change as this is vulnerable to 
man-in-the-middle attacks
                                -->
                                <sec:include>.*_EXPORT_.*</sec:include>
                                <sec:include>.*_EXPORT1024_.*</sec:include>
                                <sec:include>.*_WITH_DES_.*</sec:include>
                                <sec:include>.*_WITH_NULL_.*</sec:include>
                                <sec:exclude>.*_DH_anon_.*</sec:exclude>
                        </sec:cipherSuitesFilter>
                        <sec:clientAuthentication want="true"
                                required="true" />
                </httpj:tlsServerParameters>
        </httpj:engine>
</httpj:engine-factory>

I get this error
ava.lang.Exception: <?xml version="1.0" encoding="UTF-8"?>
<jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message";
version="1.0">
<jbi-task-result>
<frmwk-task-result>
<frmwk-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
</task-result-details>
</frmwk-task-result-details>
</frmwk-task-result>
<component-task-result
xmlns="http://java.sun.com/xml/ns/jbi/management-message";>
        <component-name>servicemix-cxf-se</component-name>
        <component-task-result-details>
                <task-result-details>
                        <task-id>deploy</task-id>
                        <task-result>SUCCESS</task-result>
                </task-result-details>
        </component-task-result-details>
</component-task-result>
<component-task-result
xmlns="http://java.sun.com/xml/ns/jbi/management-message";>
        <component-name>servicemix-cxf-se</component-name>
        <component-task-result-details>
                <task-result-details>
                        <task-id>deploy</task-id>
                        <task-result>SUCCESS</task-result>
                </task-result-details>
        </component-task-result-details>
</component-task-result>
<component-task-result>
<component-name>servicemix-cxf-bc</component-name>
<component-task-result-details>
<task-result-details>
<task-id>deploy</task-id>
<task-result>FAILED</task-result>
<message-type>ERROR</message-type>
<task-status-msg>
<msg-loc-info>
<loc-token/>
<loc-message>Unable to parse result string</loc-message>
</msg-loc-info>
</task-status-msg>
<exception-info>
<nesting-level>1</nesting-level>
<loc-token/>
<loc-message>java.io.IOException: Protocol mismatch for port 8092:
engine's
protocol is http, the url protocol is https</loc-message>
<stack-trace><![CDATA[javax.jbi.management.DeploymentException:
java.io.IOException: Protocol mismatch for port 8092: engine's protocol
is
http, the url protocol is https

        at
org.apache.servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java:441)

        at
org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeployer.java:58)

        at
org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBeanDeployer.java:55)

        at
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:96)

        at
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)

        at
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)

        at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:508)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingSAs(AutoDeploymentService.java:482)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingComponents(AutoDeploymentService.java:535)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateSharedLibrary(AutoDeploymentService.java:317)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:254)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:667)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)

        at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:631)

        at java.util.TimerThread.mainLoop(Timer.java:512)

        at java.util.TimerThread.run(Timer.java:462)

Caused by: java.io.IOException: Protocol mismatch for port 8092: engine's
protocol is http, the url protocol is https

        at
org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory.createJettyHTTPServerEngine(JettyHTTPServerEngineFactory.java:205)

        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.retrieveEngine(JettyHTTPDestination.java:106)

        at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.finalizeConfig(JettyHTTPDestination.java:134)

        at
org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.createDestination(JettyHTTPTransportFactory.java:123)

        at
org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory.getDestination(JettyHTTPTransportFactory.java:103)

        at
org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:90)

        at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:58)

        at
org.apache.servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java:435)

        ... 15 more

]]></stack-trace>
</exception-info>
</task-result-details>
</component-task-result-details>
</component-task-result>
</jbi-task-result>
</jbi-task>

        at
org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:125)
        at
org.apache.servicemix.jbi.framework.ManagementSupport.failure(ManagementSupport.java:111)
        at
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:543)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingSAs(AutoDeploymentService.java:482)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingComponents(AutoDeploymentService.java:535)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateSharedLibrary(AutoDeploymentService.java:317)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:254)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:667)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:62)
        at
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:631)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)

thanks
-gopal


Freeman Fang wrote:
Hi,
Take a look at [1] and [2], those test demostrate how to configure SSL for servicemix-cxf-bc consumer and provider.

[1]http://svn.apache.org/repos/asf/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/ws/security/CxfBcHttpsConsumerTest.java
[2]http://svn.apache.org/repos/asf/servicemix/smx3/branches/servicemix-3.2/deployables/bindingcomponents/servicemix-cxf-bc/src/test/java/org/apache/servicemix/cxfbc/ws/security/CxfBcProviderHttpsTest.java
Freeman

GNarra wrote:
Hi All,

Can you somebody post a example on how to configure CXF SSL in
Servicemix? I
see examples only for http and not for https

thanks
-gopal
--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com



--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com






--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com

Reply via email to