Hi,
If you really can't use fuse version now, one work around I can come up with is rename your busCfg from cxf.xml to cxf-ssl.xml in your xbean.xml, and copy cxf-ssl.xml to your $SMX_HOME directory,by this way, the busCfg could be picked up.
Freeman
GNarra wrote:
Anybody,

Is there any way to get the SSL and CXF to work consistently? Any
workarounds? I would be glad to try anything at this point.

thanks
-gopal


GNarra wrote:
Freeman,

Do you have a JIRA for me so that I can manually patch my installation?
Our infrastructure is built on top of SMX 3.3 and I just cannot rip it out
and replace with SMX 3.4.0.1 (fuse) without considerable effort.

I would definitely change when we do our next release.

thanks
-gopal


Freeman Fang wrote:
Hi,
The resource load problem already get resolved, try with FUSE ESB 3.4.0.1 [1](which is based on Apache Servicemix 3.3 but get released more frequently)
[1]http://repo.open.iona.com/maven2/org/apache/servicemix/apache-servicemix/3.4.0.1-fuse/
Freeman
GNarra wrote:
Freeman,

Uploading the sample for your reference, I think it might be 1) busCfg
isn't
picked up but I cannot figure out why?

I am uploading the sample(samples-3.3.zip) code I have for your
reference

thanks
-gopal


Freeman Fang wrote:
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



http://www.nabble.com/file/p22983203/samples-3.3.zip samples-3.3.zip
--
Freeman Fang
------------------------
Open Source SOA: http://fusesource.com






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

Reply via email to