You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Jinglong Wang <no...@gmail.com> on 2010/11/08 04:08:14 UTC

About CXF-Camel Security!

*Hi,*
*I use cxf-camel with X509 security, but cxf-camel cant outbound.*
*the exception is:*
Caused by: java.net.SocketTimeoutException: Read timed out
 at java.net.SocketInputStream.socketRead0(Native Method)
 at java.net.SocketInputStream.read(SocketInputStream.java:129)
 at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
 at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
 at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
 at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
 at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
 at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
 at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
 at
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
 at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
 at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197)
 at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171)
 at
org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 ... 1 more
 *single with cxf is ok.*
**
*outbound server is started..*
**
*thanks*

Re: About CXF-Camel Security(x509) can't outboud !

Posted by Wang Jinglong <no...@gmail.com>.
On 2010/11/10 15:49, Willem Jiang wrote:
> Hi,
>
> It looks like your "securityTo" doesn't set up any 
> WSS4J{In|Out}Interceport, so the out come message isn't encrypted.
>
> Please add that part configuration first, and you may need filter the 
> soap header before send the message to "securityTo".
>
>
> On 11/10/10 2:17 PM, Wang Jinglong wrote:
>> I have 3 steps to do this:
>> 1.start camel.
>> 2.start outbound server
>> 3.run client
>>
>> camel and outbound server with spring.
>>
>> camel server spring config:
>>
>> <cxf:cxfEndpoint id="security"
>> serviceClass="com.tongtech.ti.cxf.demo.security.service.ISecuriyDemo"
>> address="http://localhost:8080/sec"
>> wsdlURL="com/tongtech/ti/cxf/demo/security/security.wsdl"
>> serviceName="s:ISecuriyService"
>> xmlns:s="http://demo.ti.tongtech.com/security/">
>>
>> <!-- Server InInterceptor -->
>> <cxf:inInterceptors>
>> <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>> <constructor-arg>
>> <map>
>> <entry value="Timestamp Signature Encrypt">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" 
>> />
>> </key>
>> </entry>
>> <entry
>> value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack"> 
>>
>>
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS" 
>>
>> />
>> </key>
>> </entry>
>> <entry value="cert/Server_SignVerf.properties">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE" 
>>
>> />
>> </key>
>> </entry>
>> <entry value="cert/Server_Decrypt.properties">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.DEC_PROP_FILE" 
>>
>> />
>> </key>
>> </entry>
>> </map>
>> </constructor-arg>
>> </bean>
>> </cxf:inInterceptors>
>>
>> <!-- Server OutInterceptor! -->
>> <cxf:outInterceptors>
>> <bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
>> <constructor-arg>
>> <map>
>> <entry value="Timestamp Signature Encrypt">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" 
>> />
>> </key>
>> </entry>
>> <entry value="serverprivatekey">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.USER" />
>> </key>
>> </entry>
>> <entry value="clientpublickey">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.ENCRYPTION_USER" 
>>
>> />
>> </key>
>> </entry>
>> <entry
>> value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack"> 
>>
>>
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS" 
>>
>> />
>> </key>
>> </entry>
>> <entry value="cert/Server_Decrypt.properties">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE" 
>>
>> />
>> </key>
>> </entry>
>> <entry value="cert/Server_SignVerf.properties">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.ENC_PROP_FILE" 
>>
>> />
>> </key>
>> </entry>
>> </map>
>> </constructor-arg>
>> </bean>
>> </cxf:outInterceptors>
>> </cxf:cxfEndpoint>
>>
>> <cxf:cxfEndpoint id="securityTo"
>> serviceClass="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemo" 
>>
>> address="http://localhost:9080/sec"
>> wsdlURL="com/tongtech/ti/cxf/demo/security/securityOut.wsdl"
>> serviceName="s:ISecuriyService"
>> xmlns:s="http://demo.ti.tongtech.com/security/">
>> </cxf:cxfEndpoint>
>>
>> <bean id="client"
>> class="com.tongtech.ti.cxf.demo.security.X509.client.Client"/>
>>
>> <camelContext id="security_context"
>> xmlns="http://camel.apache.org/schema/spring">
>> <route>
>> <from uri="cxf:bean:security" />
>> <to uri="cxf:bean:securityTo" />
>> </route>
>> </camelContext>
>>
>>
>> outbound server spring config:
>> <jaxws:server name="Sercurity"
>> serviceClass="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemo" 
>>
>> address="http://localhost:9080/sec"
>> wsdlLocation="com/tongtech/ti/cxf/demo/security/securityOut.wsdl"
>> serviceName="s:ISecuriyService"
>> xmlns:s="http://demo.ti.tongtech.com/security/">
>> <jaxws:serviceBean>
>> <bean
>> class="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemoImpl" /> 
>>
>> </jaxws:serviceBean>
>>
>> <jaxws:inInterceptors>
>> <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
>> <constructor-arg>
>> <map>
>> <entry value="Timestamp Signature Encrypt">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" 
>> />
>> </key>
>> </entry>
>> <entry
>> value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack"> 
>>
>>
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS" 
>>
>> />
>> </key>
>> </entry>
>> <entry value="cert/Server_SignVerf.properties">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE" 
>>
>> />
>> </key>
>> </entry>
>> <entry value="cert/Server_Decrypt.properties">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.DEC_PROP_FILE" 
>>
>> />
>> </key>
>> </entry>
>> </map>
>> </constructor-arg>
>> </bean>
>> </jaxws:inInterceptors>
>>
>> <jaxws:outInterceptors>
>> <bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
>> <constructor-arg>
>> <map>
>> <entry value="Timestamp Signature Encrypt">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" 
>> />
>> </key>
>> </entry>
>> <entry value="serverprivatekey">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.USER" />
>> </key>
>> </entry>
>> <entry value="clientpublickey">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.ENCRYPTION_USER" 
>>
>> />
>> </key>
>> </entry>
>> <entry
>> value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack"> 
>>
>>
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS" 
>>
>> />
>> </key>
>> </entry>
>> <entry value="cert/Server_Decrypt.properties">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE" 
>>
>> />
>> </key>
>> </entry>
>> <entry value="cert/Server_SignVerf.properties">
>> <key>
>> <util:constant
>> static-field="org.apache.ws.security.handler.WSHandlerConstants.ENC_PROP_FILE" 
>>
>> />
>> </key>
>> </entry>
>> </map>
>> </constructor-arg>
>> </bean>
>> </jaxws:outInterceptors>
>> </jaxws:server>
>>
>> client is java code:
>> ISecuriyService ss = new ISecuriyService(wsdlURL, SERVICE_NAME);
>> ISecuriyDemo port = ss.getISecuriyServicePort();
>> org.apache.cxf.endpoint.Client client = ClientProxy.getClient(port);
>> Endpoint cxfEp = client.getEndpoint();
>>
>> // Clint Out
>> Map<String, Object> outProp = new HashMap<String, Object>();
>> outProp.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
>> + " " + WSHandlerConstants.SIGNATURE + " "
>> + WSHandlerConstants.ENCRYPT);
>> outProp.put(WSHandlerConstants.USER, "clientprivatekey");
>> outProp.put(WSHandlerConstants.ENCRYPTION_USER, "serverpublickey");
>> outProp.put(WSHandlerConstants.PW_CALLBACK_CLASS,
>> UTPasswordClientCallBack.class.getName());
>> outProp.put(WSHandlerConstants.SIG_PROP_FILE,
>> "cert/Client_Sign.properties");
>> outProp.put(WSHandlerConstants.ENC_PROP_FILE,
>> "cert/Client_Encrypt.properties");
>> cxfEp.getOutInterceptors().add(new WSS4JOutInterceptor(outProp));
>>
>> // Client In(Return)
>> Map<String, Object> inProp = new HashMap<String, Object>();
>> inProp.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
>> + " " + WSHandlerConstants.SIGNATURE + " "
>> + WSHandlerConstants.ENCRYPT);
>> inProp.put(WSHandlerConstants.PW_CALLBACK_CLASS,
>> UTPasswordClientCallBack.class.getName());
>> inProp.put(WSHandlerConstants.DEC_PROP_FILE,
>> "cert/Client_Sign.properties");
>> inProp.put(WSHandlerConstants.SIG_PROP_FILE,
>> "cert/Client_Encrypt.properties");
>> cxfEp.getInInterceptors().add(new WSS4JInInterceptor(inProp));
>>
>> {
>> System.out.println("Invoking input...");
>> java.lang.String _input_in = "Input Value!";
>> java.lang.String _input__return = port.input(_input_in);
>> System.out.println("input.result=" + _input__return);
>> }
>>
>> System.exit(0);
>> }
>>
>> client outbound is OK
>>
>> Outbound Message
>> ---------------------------
>> ID: 1
>> Address: http://localhost:8080/sec
>> Encoding: UTF-8
>> Content-Type: text/xml
>> Headers: {SOAPAction=["http://demo.ti.tongtech.com/security/input"],
>> Accept=[*/*]}
>> Payload: <soap:Envelope
>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
>> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><soap:Header><wsse:Security 
>>
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
>>
>> soap:mustUnderstand="1"><xenc:EncryptedKey
>> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
>> Id="EncKeyId-C892C3DEF48D9D312B12893692122755"><xenc:EncryptionMethod
>> Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
>> <wsse:SecurityTokenReference
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:X509Data> 
>>
>>
>> <ds:X509IssuerSerial>
>> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
>> <ds:X509SerialNumber>1288107035</ds:X509SerialNumber>
>> </ds:X509IssuerSerial>
>> </ds:X509Data></wsse:SecurityTokenReference>
>> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>PWn3xKniypUQNKaSRn9NlrU0BZ/OLXW+KUHuh4q6MrldUWyolkLx3qaGRjpW2WeZeW1WXLGIj0N6EX+MWfx4uX1HEktmcZOA7XSFTPoGLxWqhEDBc4K0depEPD+AMe7WtJkJiIqgis3ZVIGIlbWXnxdLxkUsrxCkKZTbXql8uL2ZR5strVPO+0vIHfckrVvi7RARH4600QHy78C2lSy+pIYkVcsymS7jWkc74dXYp1ZDRRfCwCLhCiBb88WicC6b387kgjjYjaozIycFvyY5Kde5cgy+dN+K/RSC4O0mPwbrYU6Fppvkk+jshrzlvwMLNsZuXmF7ZZANljRTOcXJnA==</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference 
>>
>> URI="#EncDataId-4"/></xenc:ReferenceList></xenc:EncryptedKey><ds:Signature 
>>
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
>> <ds:SignedInfo>
>> <ds:CanonicalizationMethod
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
>> <ds:SignatureMethod
>> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
>> <ds:Reference URI="#id-3">
>> <ds:Transforms>
>> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
>> </ds:Transforms>
>> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
>> <ds:DigestValue>HSig0sWSVObUJW5zxTSkoLTbvE0=</ds:DigestValue>
>> </ds:Reference>
>> </ds:SignedInfo>
>> <ds:SignatureValue>
>> Iv/gKsHOXgaHIw7gx/nvdIQhp/FM64bdWBbqkrLFXbQ0MYfFmfjgWGoLiYMHwlbvuIyh3EuHw3OS 
>>
>>
>> bBB68C7qaQFPmrIr8u0Z2fYK8TGdo+cs72UWICdC2WT6PHg2BKGIsxhP4lkcL+V+6WWNcKCs4Cak 
>>
>>
>> XyyegZ6km3zyOraXFIJzHmA8pW9g/no5UcPVKHcZFcTCLgPjRSAokY35mtMvI3+rYplPh+ZUMXLF 
>>
>>
>> 8akFQLXmsNOoBu0iU1NRb1VSKqhDO/RfGddIqOamuvx+/JFULDWT6Hnq2VQZA9viC4HBQZjUXNJV 
>>
>>
>> J+xQCCx/+0jbCGq3Eh2UECpDKmO+PQIq0jb4IA==
>> </ds:SignatureValue>
>> <ds:KeyInfo Id="KeyId-C892C3DEF48D9D312B12893692105452">
>> <wsse:SecurityTokenReference
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
>>
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>>
>> wsu:Id="STRId-C892C3DEF48D9D312B12893692105483"><ds:X509Data>
>> <ds:X509IssuerSerial>
>> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
>> <ds:X509SerialNumber>1288107001</ds:X509SerialNumber>
>> </ds:X509IssuerSerial>
>> </ds:X509Data></wsse:SecurityTokenReference>
>> </ds:KeyInfo>
>> </ds:Signature><wsu:Timestamp
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>>
>> wsu:Id="Timestamp-1"><wsu:Created>2010-11-10T06:06:50.458Z</wsu:Created><wsu:Expires>2010-11-10T06:11:50.458Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body 
>>
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>>
>> wsu:Id="id-3"><xenc:EncryptedData
>> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="EncDataId-4"
>> Type="http://www.w3.org/2001/04/xmlenc#Content"><xenc:EncryptionMethod
>> Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
>> <wsse:SecurityTokenReference
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:Reference 
>>
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
>>
>> URI="#EncKeyId-C892C3DEF48D9D312B12893692122755"/></wsse:SecurityTokenReference> 
>>
>>
>> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>aH5ylkPVykkXfmfdqdHxIHFEpDtHPXIRGXonDCdKK+bysSr/TTUne249VcVPwGmJa2SXk3gWnEcu 
>>
>>
>> ois4qI8mkM+Hc0HoQZgHzXpUuIbfQYlYcLE+dvBoC3oPML9vxDp193U2iKJY9YD1GW7Q5r7l+sMu 
>>
>>
>> LfGl3P+TODloRLxMAtjKIrfApIl0/EjvUWTkqq+D5KH7854dU0V+xE5hXnRKOEDwy/69QraQBDm6 
>>
>>
>> s3Nu9c/MNZe2TAYBCnDoiMkpagvCXKo9S2Edx4ukJYHYA6jg6DYdwODZ/KprXyqpJc0mQt3TYjPK 
>>
>>
>> SFIN1kihLgbezTBclhckiaotqiY6mjgg2UjSAEti0NtbGyI1Qfjw49uFpMdoliZ7Wxnc2kRiBErk 
>>
>>
>> gwiOitgerukU4Uas50NK2O9ONYZSc3Bbhrp3ZZEYxA9R7hI=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></soap:Body></soap:Envelope> 
>>
>>
>>
>> camel server inbound is OK
>> Inbound Message
>> ----------------------------
>> ID: 1
>> Address: /sec
>> Encoding: UTF-8
>> Content-Type: text/xml; charset=UTF-8
>> Headers: {content-type=[text/xml; charset=UTF-8],
>> connection=[keep-alive], transfer-encoding=[chunked],
>> Host=[localhost:8080],
>> SOAPAction=["http://demo.ti.tongtech.com/security/input"],
>> User-Agent=[Apache CXF 2.4.0-SNAPSHOT], Content-Type=[text/xml;
>> charset=UTF-8], Accept=[*/*], Pragma=[no-cache], 
>> Cache-Control=[no-cache]}
>> Payload: <soap:Envelope
>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
>> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><soap:Header><wsse:Security 
>>
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
>>
>> soap:mustUnderstand="1"><xenc:EncryptedKey
>> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
>> Id="EncKeyId-C892C3DEF48D9D312B12893692122755"><xenc:EncryptionMethod
>> Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
>> <wsse:SecurityTokenReference
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:X509Data> 
>>
>>
>> <ds:X509IssuerSerial>
>> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
>> <ds:X509SerialNumber>1288107035</ds:X509SerialNumber>
>> </ds:X509IssuerSerial>
>> </ds:X509Data></wsse:SecurityTokenReference>
>> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>PWn3xKniypUQNKaSRn9NlrU0BZ/OLXW+KUHuh4q6MrldUWyolkLx3qaGRjpW2WeZeW1WXLGIj0N6EX+MWfx4uX1HEktmcZOA7XSFTPoGLxWqhEDBc4K0depEPD+AMe7WtJkJiIqgis3ZVIGIlbWXnxdLxkUsrxCkKZTbXql8uL2ZR5strVPO+0vIHfckrVvi7RARH4600QHy78C2lSy+pIYkVcsymS7jWkc74dXYp1ZDRRfCwCLhCiBb88WicC6b387kgjjYjaozIycFvyY5Kde5cgy+dN+K/RSC4O0mPwbrYU6Fppvkk+jshrzlvwMLNsZuXmF7ZZANljRTOcXJnA==</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference 
>>
>> URI="#EncDataId-4"/></xenc:ReferenceList></xenc:EncryptedKey><ds:Signature 
>>
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
>> <ds:SignedInfo>
>> <ds:CanonicalizationMethod
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
>> <ds:SignatureMethod
>> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
>> <ds:Reference URI="#id-3">
>> <ds:Transforms>
>> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
>> </ds:Transforms>
>> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
>> <ds:DigestValue>HSig0sWSVObUJW5zxTSkoLTbvE0=</ds:DigestValue>
>> </ds:Reference>
>> </ds:SignedInfo>
>> <ds:SignatureValue>
>> Iv/gKsHOXgaHIw7gx/nvdIQhp/FM64bdWBbqkrLFXbQ0MYfFmfjgWGoLiYMHwlbvuIyh3EuHw3OS 
>>
>>
>> bBB68C7qaQFPmrIr8u0Z2fYK8TGdo+cs72UWICdC2WT6PHg2BKGIsxhP4lkcL+V+6WWNcKCs4Cak 
>>
>>
>> XyyegZ6km3zyOraXFIJzHmA8pW9g/no5UcPVKHcZFcTCLgPjRSAokY35mtMvI3+rYplPh+ZUMXLF 
>>
>>
>> 8akFQLXmsNOoBu0iU1NRb1VSKqhDO/RfGddIqOamuvx+/JFULDWT6Hnq2VQZA9viC4HBQZjUXNJV 
>>
>>
>> J+xQCCx/+0jbCGq3Eh2UECpDKmO+PQIq0jb4IA==
>> </ds:SignatureValue>
>> <ds:KeyInfo Id="KeyId-C892C3DEF48D9D312B12893692105452">
>> <wsse:SecurityTokenReference
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
>>
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>>
>> wsu:Id="STRId-C892C3DEF48D9D312B12893692105483"><ds:X509Data>
>> <ds:X509IssuerSerial>
>> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
>> <ds:X509SerialNumber>1288107001</ds:X509SerialNumber>
>> </ds:X509IssuerSerial>
>> </ds:X509Data></wsse:SecurityTokenReference>
>> </ds:KeyInfo>
>> </ds:Signature><wsu:Timestamp
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>>
>> wsu:Id="Timestamp-1"><wsu:Created>2010-11-10T06:06:50.458Z</wsu:Created><wsu:Expires>2010-11-10T06:11:50.458Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body 
>>
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>>
>> wsu:Id="id-3"><xenc:EncryptedData
>> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="EncDataId-4"
>> Type="http://www.w3.org/2001/04/xmlenc#Content"><xenc:EncryptionMethod
>> Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
>> <wsse:SecurityTokenReference
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:Reference 
>>
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
>>
>> URI="#EncKeyId-C892C3DEF48D9D312B12893692122755"/></wsse:SecurityTokenReference> 
>>
>>
>> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>aH5ylkPVykkXfmfdqdHxIHFEpDtHPXIRGXonDCdKK+bysSr/TTUne249VcVPwGmJa2SXk3gWnEcu 
>>
>>
>> ois4qI8mkM+Hc0HoQZgHzXpUuIbfQYlYcLE+dvBoC3oPML9vxDp193U2iKJY9YD1GW7Q5r7l+sMu 
>>
>>
>> LfGl3P+TODloRLxMAtjKIrfApIl0/EjvUWTkqq+D5KH7854dU0V+xE5hXnRKOEDwy/69QraQBDm6 
>>
>>
>> s3Nu9c/MNZe2TAYBCnDoiMkpagvCXKo9S2Edx4ukJYHYA6jg6DYdwODZ/KprXyqpJc0mQt3TYjPK 
>>
>>
>> SFIN1kihLgbezTBclhckiaotqiY6mjgg2UjSAEti0NtbGyI1Qfjw49uFpMdoliZ7Wxnc2kRiBErk 
>>
>>
>> gwiOitgerukU4Uas50NK2O9ONYZSc3Bbhrp3ZZEYxA9R7hI=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></soap:Body></soap:Envelope> 
>>
>>
>> --------------------------------------
>>
>> outbound throw exception:
>> Outbound Message
>> ---------------------------
>> ID: 2
>> Address: http://localhost:9080/sec
>> Encoding: UTF-8
>> Content-Type: text/xml
>> Headers: {connection=[keep-alive], transfer-encoding=[chunked],
>> Host=[localhost:8080],
>> SOAPAction=["http://demo.ti.tongtech.com/security/input"],
>> User-Agent=[Apache CXF 2.4.0-SNAPSHOT], Accept=[*/*], Pragma=[no-cache],
>> Cache-Control=[no-cache]}
>> Payload: <soap:Envelope
>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><wsse:Security 
>>
>> soap:mustUnderstand="1"
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><xenc:EncryptedKey 
>>
>> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
>> Id="EncKeyId-C892C3DEF48D9D312B12893692122755"><xenc:EncryptionMethod
>> Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
>> <wsse:SecurityTokenReference
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:X509Data> 
>>
>>
>> <ds:X509IssuerSerial>
>> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
>> <ds:X509SerialNumber>1288107035</ds:X509SerialNumber>
>> </ds:X509IssuerSerial>
>> </ds:X509Data></wsse:SecurityTokenReference>
>> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>PWn3xKniypUQNKaSRn9NlrU0BZ/OLXW+KUHuh4q6MrldUWyolkLx3qaGRjpW2WeZeW1WXLGIj0N6EX+MWfx4uX1HEktmcZOA7XSFTPoGLxWqhEDBc4K0depEPD+AMe7WtJkJiIqgis3ZVIGIlbWXnxdLxkUsrxCkKZTbXql8uL2ZR5strVPO+0vIHfckrVvi7RARH4600QHy78C2lSy+pIYkVcsymS7jWkc74dXYp1ZDRRfCwCLhCiBb88WicC6b387kgjjYjaozIycFvyY5Kde5cgy+dN+K/RSC4O0mPwbrYU6Fppvkk+jshrzlvwMLNsZuXmF7ZZANljRTOcXJnA==</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference 
>>
>> URI="#EncDataId-4"/></xenc:ReferenceList></xenc:EncryptedKey><ds:Signature 
>>
>> xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
>> <ds:SignedInfo>
>> <ds:CanonicalizationMethod
>> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
>> <ds:SignatureMethod
>> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
>> <ds:Reference URI="#id-3">
>> <ds:Transforms>
>> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
>> </ds:Transforms>
>> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
>> <ds:DigestValue>HSig0sWSVObUJW5zxTSkoLTbvE0=</ds:DigestValue>
>> </ds:Reference>
>> </ds:SignedInfo>
>> <ds:SignatureValue>
>> Iv/gKsHOXgaHIw7gx/nvdIQhp/FM64bdWBbqkrLFXbQ0MYfFmfjgWGoLiYMHwlbvuIyh3EuHw3OS 
>>
>>
>> bBB68C7qaQFPmrIr8u0Z2fYK8TGdo+cs72UWICdC2WT6PHg2BKGIsxhP4lkcL+V+6WWNcKCs4Cak 
>>
>>
>> XyyegZ6km3zyOraXFIJzHmA8pW9g/no5UcPVKHcZFcTCLgPjRSAokY35mtMvI3+rYplPh+ZUMXLF 
>>
>>
>> 8akFQLXmsNOoBu0iU1NRb1VSKqhDO/RfGddIqOamuvx+/JFULDWT6Hnq2VQZA9viC4HBQZjUXNJV 
>>
>>
>> J+xQCCx/+0jbCGq3Eh2UECpDKmO+PQIq0jb4IA==
>> </ds:SignatureValue>
>> <ds:KeyInfo Id="KeyId-C892C3DEF48D9D312B12893692105452">
>> <wsse:SecurityTokenReference
>> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
>>
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>>
>> wsu:Id="STRId-C892C3DEF48D9D312B12893692105483"><ds:X509Data>
>> <ds:X509IssuerSerial>
>> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
>> <ds:X509SerialNumber>1288107001</ds:X509SerialNumber>
>> </ds:X509IssuerSerial>
>> </ds:X509Data></wsse:SecurityTokenReference>
>> </ds:KeyInfo>
>> </ds:Signature><wsu:Timestamp
>> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
>>
>> wsu:Id="Timestamp-1"><wsu:Created>2010-11-10T06:06:50.458Z</wsu:Created><wsu:Expires>2010-11-10T06:11:50.458Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body><ns2:input 
>>
>> xmlns:ns2="http://demo.ti.tongtech.com/security/"><in>Input
>> Value!</in></ns2:input></soap:Body></soap:Envelope>
>> --------------------------------------
>> 2010-11-10 14:07:56 org.apache.camel.processor.Logger log
>> 严重: Failed delivery for exchangeId:
>> ID-NoGrief-MPC-55174-1289369185031-0-2. Exhausted after delivery
>> attempt: 1 caught: java.net.SocketTimeoutException: Read timed out
>> java.net.SocketTimeoutException: Read timed out
>> at java.net.SocketInputStream.socketRead0(Native Method)
>> at java.net.SocketInputStream.read(SocketInputStream.java:129)
>> at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>> at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>> at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>> at
>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072) 
>>
>>
>> at 
>> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
>> at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197) 
>>
>>
>> at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171) 
>>
>>
>> at
>> org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253) 
>>
>>
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
>>
>>
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
>>
>>
>> at java.lang.Thread.run(Thread.java:619)
>> 2010-11-10 14:07:56 org.apache.cxf.phase.PhaseInterceptorChain
>> doDefaultLogging
>> 警告: Interceptor for
>> {http://demo.ti.tongtech.com/security/}ISecuriyService#{http://demo.ti.tongtech.com/security/}input 
>>
>> has thrown exception, unwinding now
>> org.apache.cxf.interceptor.Fault: Read timed out
>> at
>> org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer.java:223) 
>>
>>
>> at
>> org.apache.camel.component.cxf.CxfConsumer$1.setResponseBack(CxfConsumer.java:200) 
>>
>>
>> at
>> org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:120) 
>>
>>
>> at 
>> org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:68)
>> at
>> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) 
>>
>>
>> at
>> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93) 
>>
>>
>> at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247) 
>>
>>
>> at
>> org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:222) 
>>
>>
>> at
>> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:70) 
>>
>>
>> at
>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:311) 
>>
>>
>> at
>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:280) 
>>
>>
>> at
>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72) 
>>
>>
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:922) 
>>
>>
>> at
>> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:860) 
>>
>>
>> at
>> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) 
>>
>>
>> at
>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:185) 
>>
>>
>> at
>> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) 
>>
>>
>> at org.eclipse.jetty.server.Server.handleAsync(Server.java:397)
>> at
>> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:601) 
>>
>>
>> at 
>> org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:410)
>> at
>> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) 
>>
>>
>> at
>> org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) 
>>
>>
>> at
>> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) 
>>
>>
>> at
>> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) 
>>
>>
>> at java.lang.Thread.run(Thread.java:619)
>> Caused by: java.net.SocketTimeoutException: Read timed out
>> at java.net.SocketInputStream.socketRead0(Native Method)
>> at java.net.SocketInputStream.read(SocketInputStream.java:129)
>> at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>> at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>> at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>> at
>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072) 
>>
>>
>> at 
>> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
>> at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197) 
>>
>>
>> at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171) 
>>
>>
>> at
>> org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253) 
>>
>>
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
>>
>>
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
>>
>>
>> ... 1 more
>>
>> outbound server dont do anythink..
>>
>> 于 2010/11/8 12:03, Willem Jiang 写道:
>>> I can't give you more answer just from the stack trace that you gave.
>>> Please provide a simple test case for this issue.
>>>
>>> BTW, you can take a look at this page[1] for tracking the CXF endpoint
>>> in out message.
>>>
>>> [1]http://cxf.apache.org/docs/debugging-and-logging.html
>>>
>>> On 11/8/10 11:08 AM, Jinglong Wang wrote:
>>>> *Hi,*
>>>> *I use cxf-camel with X509 security, but cxf-camel cant outbound.*
>>>> *the exception is:*
>>>> Caused by: java.net.SocketTimeoutException: Read timed out
>>>> at java.net.SocketInputStream.socketRead0(Native Method)
>>>> at java.net.SocketInputStream.read(SocketInputStream.java:129)
>>>> at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>>> at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>>> at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
>>>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>>>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
>>>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>>>> at
>>>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072) 
>>>>
>>>>
>>>> at
>>>> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
>>>> at
>>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197) 
>>>>
>>>>
>>>> at
>>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171) 
>>>>
>>>>
>>>> at
>>>> org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253) 
>>>>
>>>>
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
>>>>
>>>>
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
>>>>
>>>>
>>>> ... 1 more
>>>> *single with cxf is ok.*
>>>> **
>>>> *outbound server is started..*
>>>> **
>>>> *thanks*
>>>>
>>>
>>>
>>
>>
>
>
i config the outBound server yet..

/|outbound server spring config:
<jaxws:server name="Sercurity"
serviceClass="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemo"
address="http://localhost:9080/sec"
wsdlLocation="com/tongtech/ti/cxf/demo/security/securityOut.wsdl"
serviceName="s:ISecuriyService"
xmlns:s="http://demo.ti.tongtech.com/security/">
<jaxws:serviceBean>
<bean
class="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemoImpl" />
</jaxws:serviceBean>

<jaxws:inInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
<map>
<entry value="Timestamp Signature Encrypt">
<key>
<util:constant
static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" />
</key>
</entry>
<entry
value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack"> 


<key>
<util:constant
static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS" 

/>
</key>
</entry>
<entry value="cert/Server_SignVerf.properties">
<key>
<util:constant
static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE" 

/>
</key>
</entry>
<entry value="cert/Server_Decrypt.properties">
<key>
<util:constant
static-field="org.apache.ws.security.handler.WSHandlerConstants.DEC_PROP_FILE" 

/>
</key>
</entry>
</map>
</constructor-arg>
</bean>
</jaxws:inInterceptors>

<jaxws:outInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
<constructor-arg>
<map>
<entry value="Timestamp Signature Encrypt">
<key>
<util:constant
static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" />
</key>
</entry>
<entry value="serverprivatekey">
<key>
<util:constant
static-field="org.apache.ws.security.handler.WSHandlerConstants.USER" />
</key>
</entry>
<entry value="clientpublickey">
<key>
<util:constant
static-field="org.apache.ws.security.handler.WSHandlerConstants.ENCRYPTION_USER" 

/>
</key>
</entry>
<entry
value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack"> 


<key>
<util:constant
static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS" 

/>
</key>
</entry>
<entry value="cert/Server_Decrypt.properties">
<key>
<util:constant
static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE" 

/>
</key>
</entry>
<entry value="cert/Server_SignVerf.properties">
<key>
<util:constant
static-field="org.apache.ws.security.handler.WSHandlerConstants.ENC_PROP_FILE" 

/>
</key>
</entry>
</map>
</constructor-arg>
</bean>
</jaxws:outInterceptors>
</jaxws:server> |/

Re: About CXF-Camel Security(x509) can't outboud !

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

It looks like your "securityTo" doesn't set up any 
WSS4J{In|Out}Interceport, so the out come message isn't encrypted.

Please add that part configuration first, and you may need filter the 
soap header before send the message to "securityTo".


On 11/10/10 2:17 PM, Wang Jinglong wrote:
> I have 3 steps to do this:
> 1.start camel.
> 2.start outbound server
> 3.run client
>
> camel and outbound server with spring.
>
> camel server spring config:
>
> <cxf:cxfEndpoint id="security"
> serviceClass="com.tongtech.ti.cxf.demo.security.service.ISecuriyDemo"
> address="http://localhost:8080/sec"
> wsdlURL="com/tongtech/ti/cxf/demo/security/security.wsdl"
> serviceName="s:ISecuriyService"
> xmlns:s="http://demo.ti.tongtech.com/security/">
>
> <!-- Server InInterceptor -->
> <cxf:inInterceptors>
> <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
> <constructor-arg>
> <map>
> <entry value="Timestamp Signature Encrypt">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" />
> </key>
> </entry>
> <entry
> value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack">
>
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS"
> />
> </key>
> </entry>
> <entry value="cert/Server_SignVerf.properties">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE"
> />
> </key>
> </entry>
> <entry value="cert/Server_Decrypt.properties">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.DEC_PROP_FILE"
> />
> </key>
> </entry>
> </map>
> </constructor-arg>
> </bean>
> </cxf:inInterceptors>
>
> <!-- Server OutInterceptor! -->
> <cxf:outInterceptors>
> <bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
> <constructor-arg>
> <map>
> <entry value="Timestamp Signature Encrypt">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" />
> </key>
> </entry>
> <entry value="serverprivatekey">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.USER" />
> </key>
> </entry>
> <entry value="clientpublickey">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.ENCRYPTION_USER"
> />
> </key>
> </entry>
> <entry
> value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack">
>
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS"
> />
> </key>
> </entry>
> <entry value="cert/Server_Decrypt.properties">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE"
> />
> </key>
> </entry>
> <entry value="cert/Server_SignVerf.properties">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.ENC_PROP_FILE"
> />
> </key>
> </entry>
> </map>
> </constructor-arg>
> </bean>
> </cxf:outInterceptors>
> </cxf:cxfEndpoint>
>
> <cxf:cxfEndpoint id="securityTo"
> serviceClass="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemo"
> address="http://localhost:9080/sec"
> wsdlURL="com/tongtech/ti/cxf/demo/security/securityOut.wsdl"
> serviceName="s:ISecuriyService"
> xmlns:s="http://demo.ti.tongtech.com/security/">
> </cxf:cxfEndpoint>
>
> <bean id="client"
> class="com.tongtech.ti.cxf.demo.security.X509.client.Client"/>
>
> <camelContext id="security_context"
> xmlns="http://camel.apache.org/schema/spring">
> <route>
> <from uri="cxf:bean:security" />
> <to uri="cxf:bean:securityTo" />
> </route>
> </camelContext>
>
>
> outbound server spring config:
> <jaxws:server name="Sercurity"
> serviceClass="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemo"
> address="http://localhost:9080/sec"
> wsdlLocation="com/tongtech/ti/cxf/demo/security/securityOut.wsdl"
> serviceName="s:ISecuriyService"
> xmlns:s="http://demo.ti.tongtech.com/security/">
> <jaxws:serviceBean>
> <bean
> class="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemoImpl" />
> </jaxws:serviceBean>
>
> <jaxws:inInterceptors>
> <bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
> <constructor-arg>
> <map>
> <entry value="Timestamp Signature Encrypt">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" />
> </key>
> </entry>
> <entry
> value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack">
>
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS"
> />
> </key>
> </entry>
> <entry value="cert/Server_SignVerf.properties">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE"
> />
> </key>
> </entry>
> <entry value="cert/Server_Decrypt.properties">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.DEC_PROP_FILE"
> />
> </key>
> </entry>
> </map>
> </constructor-arg>
> </bean>
> </jaxws:inInterceptors>
>
> <jaxws:outInterceptors>
> <bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
> <constructor-arg>
> <map>
> <entry value="Timestamp Signature Encrypt">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" />
> </key>
> </entry>
> <entry value="serverprivatekey">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.USER" />
> </key>
> </entry>
> <entry value="clientpublickey">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.ENCRYPTION_USER"
> />
> </key>
> </entry>
> <entry
> value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack">
>
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS"
> />
> </key>
> </entry>
> <entry value="cert/Server_Decrypt.properties">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE"
> />
> </key>
> </entry>
> <entry value="cert/Server_SignVerf.properties">
> <key>
> <util:constant
> static-field="org.apache.ws.security.handler.WSHandlerConstants.ENC_PROP_FILE"
> />
> </key>
> </entry>
> </map>
> </constructor-arg>
> </bean>
> </jaxws:outInterceptors>
> </jaxws:server>
>
> client is java code:
> ISecuriyService ss = new ISecuriyService(wsdlURL, SERVICE_NAME);
> ISecuriyDemo port = ss.getISecuriyServicePort();
> org.apache.cxf.endpoint.Client client = ClientProxy.getClient(port);
> Endpoint cxfEp = client.getEndpoint();
>
> // Clint Out
> Map<String, Object> outProp = new HashMap<String, Object>();
> outProp.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
> + " " + WSHandlerConstants.SIGNATURE + " "
> + WSHandlerConstants.ENCRYPT);
> outProp.put(WSHandlerConstants.USER, "clientprivatekey");
> outProp.put(WSHandlerConstants.ENCRYPTION_USER, "serverpublickey");
> outProp.put(WSHandlerConstants.PW_CALLBACK_CLASS,
> UTPasswordClientCallBack.class.getName());
> outProp.put(WSHandlerConstants.SIG_PROP_FILE,
> "cert/Client_Sign.properties");
> outProp.put(WSHandlerConstants.ENC_PROP_FILE,
> "cert/Client_Encrypt.properties");
> cxfEp.getOutInterceptors().add(new WSS4JOutInterceptor(outProp));
>
> // Client In(Return)
> Map<String, Object> inProp = new HashMap<String, Object>();
> inProp.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
> + " " + WSHandlerConstants.SIGNATURE + " "
> + WSHandlerConstants.ENCRYPT);
> inProp.put(WSHandlerConstants.PW_CALLBACK_CLASS,
> UTPasswordClientCallBack.class.getName());
> inProp.put(WSHandlerConstants.DEC_PROP_FILE,
> "cert/Client_Sign.properties");
> inProp.put(WSHandlerConstants.SIG_PROP_FILE,
> "cert/Client_Encrypt.properties");
> cxfEp.getInInterceptors().add(new WSS4JInInterceptor(inProp));
>
> {
> System.out.println("Invoking input...");
> java.lang.String _input_in = "Input Value!";
> java.lang.String _input__return = port.input(_input_in);
> System.out.println("input.result=" + _input__return);
> }
>
> System.exit(0);
> }
>
> client outbound is OK
>
> Outbound Message
> ---------------------------
> ID: 1
> Address: http://localhost:8080/sec
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {SOAPAction=["http://demo.ti.tongtech.com/security/input"],
> Accept=[*/*]}
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><soap:Header><wsse:Security
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> soap:mustUnderstand="1"><xenc:EncryptedKey
> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
> Id="EncKeyId-C892C3DEF48D9D312B12893692122755"><xenc:EncryptionMethod
> Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo
> xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
> <wsse:SecurityTokenReference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:X509Data>
>
> <ds:X509IssuerSerial>
> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
> <ds:X509SerialNumber>1288107035</ds:X509SerialNumber>
> </ds:X509IssuerSerial>
> </ds:X509Data></wsse:SecurityTokenReference>
> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>PWn3xKniypUQNKaSRn9NlrU0BZ/OLXW+KUHuh4q6MrldUWyolkLx3qaGRjpW2WeZeW1WXLGIj0N6EX+MWfx4uX1HEktmcZOA7XSFTPoGLxWqhEDBc4K0depEPD+AMe7WtJkJiIqgis3ZVIGIlbWXnxdLxkUsrxCkKZTbXql8uL2ZR5strVPO+0vIHfckrVvi7RARH4600QHy78C2lSy+pIYkVcsymS7jWkc74dXYp1ZDRRfCwCLhCiBb88WicC6b387kgjjYjaozIycFvyY5Kde5cgy+dN+K/RSC4O0mPwbrYU6Fppvkk+jshrzlvwMLNsZuXmF7ZZANljRTOcXJnA==</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference
> URI="#EncDataId-4"/></xenc:ReferenceList></xenc:EncryptedKey><ds:Signature
> xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
> <ds:SignedInfo>
> <ds:CanonicalizationMethod
> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
> <ds:SignatureMethod
> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
> <ds:Reference URI="#id-3">
> <ds:Transforms>
> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
> </ds:Transforms>
> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
> <ds:DigestValue>HSig0sWSVObUJW5zxTSkoLTbvE0=</ds:DigestValue>
> </ds:Reference>
> </ds:SignedInfo>
> <ds:SignatureValue>
> Iv/gKsHOXgaHIw7gx/nvdIQhp/FM64bdWBbqkrLFXbQ0MYfFmfjgWGoLiYMHwlbvuIyh3EuHw3OS
>
> bBB68C7qaQFPmrIr8u0Z2fYK8TGdo+cs72UWICdC2WT6PHg2BKGIsxhP4lkcL+V+6WWNcKCs4Cak
>
> XyyegZ6km3zyOraXFIJzHmA8pW9g/no5UcPVKHcZFcTCLgPjRSAokY35mtMvI3+rYplPh+ZUMXLF
>
> 8akFQLXmsNOoBu0iU1NRb1VSKqhDO/RfGddIqOamuvx+/JFULDWT6Hnq2VQZA9viC4HBQZjUXNJV
>
> J+xQCCx/+0jbCGq3Eh2UECpDKmO+PQIq0jb4IA==
> </ds:SignatureValue>
> <ds:KeyInfo Id="KeyId-C892C3DEF48D9D312B12893692105452">
> <wsse:SecurityTokenReference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="STRId-C892C3DEF48D9D312B12893692105483"><ds:X509Data>
> <ds:X509IssuerSerial>
> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
> <ds:X509SerialNumber>1288107001</ds:X509SerialNumber>
> </ds:X509IssuerSerial>
> </ds:X509Data></wsse:SecurityTokenReference>
> </ds:KeyInfo>
> </ds:Signature><wsu:Timestamp
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="Timestamp-1"><wsu:Created>2010-11-10T06:06:50.458Z</wsu:Created><wsu:Expires>2010-11-10T06:11:50.458Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="id-3"><xenc:EncryptedData
> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="EncDataId-4"
> Type="http://www.w3.org/2001/04/xmlenc#Content"><xenc:EncryptionMethod
> Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo
> xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
> <wsse:SecurityTokenReference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:Reference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> URI="#EncKeyId-C892C3DEF48D9D312B12893692122755"/></wsse:SecurityTokenReference>
>
> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>aH5ylkPVykkXfmfdqdHxIHFEpDtHPXIRGXonDCdKK+bysSr/TTUne249VcVPwGmJa2SXk3gWnEcu
>
> ois4qI8mkM+Hc0HoQZgHzXpUuIbfQYlYcLE+dvBoC3oPML9vxDp193U2iKJY9YD1GW7Q5r7l+sMu
>
> LfGl3P+TODloRLxMAtjKIrfApIl0/EjvUWTkqq+D5KH7854dU0V+xE5hXnRKOEDwy/69QraQBDm6
>
> s3Nu9c/MNZe2TAYBCnDoiMkpagvCXKo9S2Edx4ukJYHYA6jg6DYdwODZ/KprXyqpJc0mQt3TYjPK
>
> SFIN1kihLgbezTBclhckiaotqiY6mjgg2UjSAEti0NtbGyI1Qfjw49uFpMdoliZ7Wxnc2kRiBErk
>
> gwiOitgerukU4Uas50NK2O9ONYZSc3Bbhrp3ZZEYxA9R7hI=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></soap:Body></soap:Envelope>
>
>
> camel server inbound is OK
> Inbound Message
> ----------------------------
> ID: 1
> Address: /sec
> Encoding: UTF-8
> Content-Type: text/xml; charset=UTF-8
> Headers: {content-type=[text/xml; charset=UTF-8],
> connection=[keep-alive], transfer-encoding=[chunked],
> Host=[localhost:8080],
> SOAPAction=["http://demo.ti.tongtech.com/security/input"],
> User-Agent=[Apache CXF 2.4.0-SNAPSHOT], Content-Type=[text/xml;
> charset=UTF-8], Accept=[*/*], Pragma=[no-cache], Cache-Control=[no-cache]}
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><soap:Header><wsse:Security
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> soap:mustUnderstand="1"><xenc:EncryptedKey
> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
> Id="EncKeyId-C892C3DEF48D9D312B12893692122755"><xenc:EncryptionMethod
> Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo
> xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
> <wsse:SecurityTokenReference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:X509Data>
>
> <ds:X509IssuerSerial>
> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
> <ds:X509SerialNumber>1288107035</ds:X509SerialNumber>
> </ds:X509IssuerSerial>
> </ds:X509Data></wsse:SecurityTokenReference>
> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>PWn3xKniypUQNKaSRn9NlrU0BZ/OLXW+KUHuh4q6MrldUWyolkLx3qaGRjpW2WeZeW1WXLGIj0N6EX+MWfx4uX1HEktmcZOA7XSFTPoGLxWqhEDBc4K0depEPD+AMe7WtJkJiIqgis3ZVIGIlbWXnxdLxkUsrxCkKZTbXql8uL2ZR5strVPO+0vIHfckrVvi7RARH4600QHy78C2lSy+pIYkVcsymS7jWkc74dXYp1ZDRRfCwCLhCiBb88WicC6b387kgjjYjaozIycFvyY5Kde5cgy+dN+K/RSC4O0mPwbrYU6Fppvkk+jshrzlvwMLNsZuXmF7ZZANljRTOcXJnA==</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference
> URI="#EncDataId-4"/></xenc:ReferenceList></xenc:EncryptedKey><ds:Signature
> xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
> <ds:SignedInfo>
> <ds:CanonicalizationMethod
> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
> <ds:SignatureMethod
> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
> <ds:Reference URI="#id-3">
> <ds:Transforms>
> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
> </ds:Transforms>
> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
> <ds:DigestValue>HSig0sWSVObUJW5zxTSkoLTbvE0=</ds:DigestValue>
> </ds:Reference>
> </ds:SignedInfo>
> <ds:SignatureValue>
> Iv/gKsHOXgaHIw7gx/nvdIQhp/FM64bdWBbqkrLFXbQ0MYfFmfjgWGoLiYMHwlbvuIyh3EuHw3OS
>
> bBB68C7qaQFPmrIr8u0Z2fYK8TGdo+cs72UWICdC2WT6PHg2BKGIsxhP4lkcL+V+6WWNcKCs4Cak
>
> XyyegZ6km3zyOraXFIJzHmA8pW9g/no5UcPVKHcZFcTCLgPjRSAokY35mtMvI3+rYplPh+ZUMXLF
>
> 8akFQLXmsNOoBu0iU1NRb1VSKqhDO/RfGddIqOamuvx+/JFULDWT6Hnq2VQZA9viC4HBQZjUXNJV
>
> J+xQCCx/+0jbCGq3Eh2UECpDKmO+PQIq0jb4IA==
> </ds:SignatureValue>
> <ds:KeyInfo Id="KeyId-C892C3DEF48D9D312B12893692105452">
> <wsse:SecurityTokenReference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="STRId-C892C3DEF48D9D312B12893692105483"><ds:X509Data>
> <ds:X509IssuerSerial>
> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
> <ds:X509SerialNumber>1288107001</ds:X509SerialNumber>
> </ds:X509IssuerSerial>
> </ds:X509Data></wsse:SecurityTokenReference>
> </ds:KeyInfo>
> </ds:Signature><wsu:Timestamp
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="Timestamp-1"><wsu:Created>2010-11-10T06:06:50.458Z</wsu:Created><wsu:Expires>2010-11-10T06:11:50.458Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="id-3"><xenc:EncryptedData
> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="EncDataId-4"
> Type="http://www.w3.org/2001/04/xmlenc#Content"><xenc:EncryptionMethod
> Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo
> xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
> <wsse:SecurityTokenReference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:Reference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> URI="#EncKeyId-C892C3DEF48D9D312B12893692122755"/></wsse:SecurityTokenReference>
>
> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>aH5ylkPVykkXfmfdqdHxIHFEpDtHPXIRGXonDCdKK+bysSr/TTUne249VcVPwGmJa2SXk3gWnEcu
>
> ois4qI8mkM+Hc0HoQZgHzXpUuIbfQYlYcLE+dvBoC3oPML9vxDp193U2iKJY9YD1GW7Q5r7l+sMu
>
> LfGl3P+TODloRLxMAtjKIrfApIl0/EjvUWTkqq+D5KH7854dU0V+xE5hXnRKOEDwy/69QraQBDm6
>
> s3Nu9c/MNZe2TAYBCnDoiMkpagvCXKo9S2Edx4ukJYHYA6jg6DYdwODZ/KprXyqpJc0mQt3TYjPK
>
> SFIN1kihLgbezTBclhckiaotqiY6mjgg2UjSAEti0NtbGyI1Qfjw49uFpMdoliZ7Wxnc2kRiBErk
>
> gwiOitgerukU4Uas50NK2O9ONYZSc3Bbhrp3ZZEYxA9R7hI=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></soap:Body></soap:Envelope>
>
> --------------------------------------
>
> outbound throw exception:
> Outbound Message
> ---------------------------
> ID: 2
> Address: http://localhost:9080/sec
> Encoding: UTF-8
> Content-Type: text/xml
> Headers: {connection=[keep-alive], transfer-encoding=[chunked],
> Host=[localhost:8080],
> SOAPAction=["http://demo.ti.tongtech.com/security/input"],
> User-Agent=[Apache CXF 2.4.0-SNAPSHOT], Accept=[*/*], Pragma=[no-cache],
> Cache-Control=[no-cache]}
> Payload: <soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><wsse:Security
> soap:mustUnderstand="1"
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><xenc:EncryptedKey
> xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
> Id="EncKeyId-C892C3DEF48D9D312B12893692122755"><xenc:EncryptionMethod
> Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo
> xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
> <wsse:SecurityTokenReference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:X509Data>
>
> <ds:X509IssuerSerial>
> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
> <ds:X509SerialNumber>1288107035</ds:X509SerialNumber>
> </ds:X509IssuerSerial>
> </ds:X509Data></wsse:SecurityTokenReference>
> </ds:KeyInfo><xenc:CipherData><xenc:CipherValue>PWn3xKniypUQNKaSRn9NlrU0BZ/OLXW+KUHuh4q6MrldUWyolkLx3qaGRjpW2WeZeW1WXLGIj0N6EX+MWfx4uX1HEktmcZOA7XSFTPoGLxWqhEDBc4K0depEPD+AMe7WtJkJiIqgis3ZVIGIlbWXnxdLxkUsrxCkKZTbXql8uL2ZR5strVPO+0vIHfckrVvi7RARH4600QHy78C2lSy+pIYkVcsymS7jWkc74dXYp1ZDRRfCwCLhCiBb88WicC6b387kgjjYjaozIycFvyY5Kde5cgy+dN+K/RSC4O0mPwbrYU6Fppvkk+jshrzlvwMLNsZuXmF7ZZANljRTOcXJnA==</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference
> URI="#EncDataId-4"/></xenc:ReferenceList></xenc:EncryptedKey><ds:Signature
> xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
> <ds:SignedInfo>
> <ds:CanonicalizationMethod
> Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
> <ds:SignatureMethod
> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
> <ds:Reference URI="#id-3">
> <ds:Transforms>
> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
> </ds:Transforms>
> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
> <ds:DigestValue>HSig0sWSVObUJW5zxTSkoLTbvE0=</ds:DigestValue>
> </ds:Reference>
> </ds:SignedInfo>
> <ds:SignatureValue>
> Iv/gKsHOXgaHIw7gx/nvdIQhp/FM64bdWBbqkrLFXbQ0MYfFmfjgWGoLiYMHwlbvuIyh3EuHw3OS
>
> bBB68C7qaQFPmrIr8u0Z2fYK8TGdo+cs72UWICdC2WT6PHg2BKGIsxhP4lkcL+V+6WWNcKCs4Cak
>
> XyyegZ6km3zyOraXFIJzHmA8pW9g/no5UcPVKHcZFcTCLgPjRSAokY35mtMvI3+rYplPh+ZUMXLF
>
> 8akFQLXmsNOoBu0iU1NRb1VSKqhDO/RfGddIqOamuvx+/JFULDWT6Hnq2VQZA9viC4HBQZjUXNJV
>
> J+xQCCx/+0jbCGq3Eh2UECpDKmO+PQIq0jb4IA==
> </ds:SignatureValue>
> <ds:KeyInfo Id="KeyId-C892C3DEF48D9D312B12893692105452">
> <wsse:SecurityTokenReference
> xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="STRId-C892C3DEF48D9D312B12893692105483"><ds:X509Data>
> <ds:X509IssuerSerial>
> <ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
> <ds:X509SerialNumber>1288107001</ds:X509SerialNumber>
> </ds:X509IssuerSerial>
> </ds:X509Data></wsse:SecurityTokenReference>
> </ds:KeyInfo>
> </ds:Signature><wsu:Timestamp
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
> wsu:Id="Timestamp-1"><wsu:Created>2010-11-10T06:06:50.458Z</wsu:Created><wsu:Expires>2010-11-10T06:11:50.458Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body><ns2:input
> xmlns:ns2="http://demo.ti.tongtech.com/security/"><in>Input
> Value!</in></ns2:input></soap:Body></soap:Envelope>
> --------------------------------------
> 2010-11-10 14:07:56 org.apache.camel.processor.Logger log
> 严重: Failed delivery for exchangeId:
> ID-NoGrief-MPC-55174-1289369185031-0-2. Exhausted after delivery
> attempt: 1 caught: java.net.SocketTimeoutException: Read timed out
> java.net.SocketTimeoutException: Read timed out
> at java.net.SocketInputStream.socketRead0(Native Method)
> at java.net.SocketInputStream.read(SocketInputStream.java:129)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
> at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
>
> at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197)
>
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171)
>
> at
> org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253)
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>
> at java.lang.Thread.run(Thread.java:619)
> 2010-11-10 14:07:56 org.apache.cxf.phase.PhaseInterceptorChain
> doDefaultLogging
> 警告: Interceptor for
> {http://demo.ti.tongtech.com/security/}ISecuriyService#{http://demo.ti.tongtech.com/security/}input
> has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Read timed out
> at
> org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer.java:223)
>
> at
> org.apache.camel.component.cxf.CxfConsumer$1.setResponseBack(CxfConsumer.java:200)
>
> at
> org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:120)
>
> at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:68)
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
>
> at
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93)
>
> at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247)
>
> at
> org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:222)
>
> at
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:70)
>
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:311)
>
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:280)
>
> at
> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)
>
> at
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:922)
>
> at
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:860)
>
> at
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
>
> at
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:185)
>
> at
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
>
> at org.eclipse.jetty.server.Server.handleAsync(Server.java:397)
> at
> org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:601)
>
> at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:410)
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
>
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
>
> at
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
>
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
>
> at java.lang.Thread.run(Thread.java:619)
> Caused by: java.net.SocketTimeoutException: Read timed out
> at java.net.SocketInputStream.socketRead0(Native Method)
> at java.net.SocketInputStream.read(SocketInputStream.java:129)
> at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
> at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
> at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
> at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
>
> at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197)
>
> at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171)
>
> at
> org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253)
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>
> ... 1 more
>
> outbound server dont do anythink..
>
> 于 2010/11/8 12:03, Willem Jiang 写道:
>> I can't give you more answer just from the stack trace that you gave.
>> Please provide a simple test case for this issue.
>>
>> BTW, you can take a look at this page[1] for tracking the CXF endpoint
>> in out message.
>>
>> [1]http://cxf.apache.org/docs/debugging-and-logging.html
>>
>> On 11/8/10 11:08 AM, Jinglong Wang wrote:
>>> *Hi,*
>>> *I use cxf-camel with X509 security, but cxf-camel cant outbound.*
>>> *the exception is:*
>>> Caused by: java.net.SocketTimeoutException: Read timed out
>>> at java.net.SocketInputStream.socketRead0(Native Method)
>>> at java.net.SocketInputStream.read(SocketInputStream.java:129)
>>> at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>> at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>> at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
>>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>>> at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
>>> at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>>> at
>>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
>>>
>>> at
>>> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
>>> at
>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197)
>>>
>>> at
>>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171)
>>>
>>> at
>>> org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253)
>>>
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>
>>> ... 1 more
>>> *single with cxf is ok.*
>>> **
>>> *outbound server is started..*
>>> **
>>> *thanks*
>>>
>>
>>
>
>


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

Re: About CXF-Camel Security(x509) can't outboud !

Posted by Wang Jinglong <no...@gmail.com>.
I have 3 steps to do this:
1.start camel.
2.start outbound server
3.run client

camel and outbound server with spring.

camel server spring config:

<cxf:cxfEndpoint id="security"
         
serviceClass="com.tongtech.ti.cxf.demo.security.service.ISecuriyDemo"
         address="http://localhost:8080/sec" 
wsdlURL="com/tongtech/ti/cxf/demo/security/security.wsdl"
         serviceName="s:ISecuriyService" 
xmlns:s="http://demo.ti.tongtech.com/security/">

<!-- Server InInterceptor -->
<cxf:inInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
<map>
<entry value="Timestamp Signature Encrypt">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" />
</key>
</entry>
<entry
                             
value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS" 
/>
</key>
</entry>
<entry value="cert/Server_SignVerf.properties">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE" 
/>
</key>
</entry>
<entry value="cert/Server_Decrypt.properties">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.DEC_PROP_FILE" 
/>
</key>
</entry>
</map>
</constructor-arg>
</bean>
</cxf:inInterceptors>

<!-- Server OutInterceptor! -->
<cxf:outInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
<constructor-arg>
<map>
<entry value="Timestamp Signature Encrypt">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" />
</key>
</entry>
<entry value="serverprivatekey">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.USER" />
</key>
</entry>
<entry value="clientpublickey">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.ENCRYPTION_USER" 
/>
</key>
</entry>
<entry
                             
value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS" 
/>
</key>
</entry>
<entry value="cert/Server_Decrypt.properties">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE" 
/>
</key>
</entry>
<entry value="cert/Server_SignVerf.properties">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.ENC_PROP_FILE" 
/>
</key>
</entry>
</map>
</constructor-arg>
</bean>
</cxf:outInterceptors>
</cxf:cxfEndpoint>

<cxf:cxfEndpoint id="securityTo"
         
serviceClass="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemo"
         address="http://localhost:9080/sec" 
wsdlURL="com/tongtech/ti/cxf/demo/security/securityOut.wsdl"
         serviceName="s:ISecuriyService" 
xmlns:s="http://demo.ti.tongtech.com/security/">
</cxf:cxfEndpoint>

<bean id="client" 
class="com.tongtech.ti.cxf.demo.security.X509.client.Client"/>

<camelContext id="security_context" 
xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="cxf:bean:security" />
<to uri="cxf:bean:securityTo" />
</route>
</camelContext>


outbound server spring config:
<jaxws:server name="Sercurity"
         
serviceClass="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemo"
         address="http://localhost:9080/sec"
         wsdlLocation="com/tongtech/ti/cxf/demo/security/securityOut.wsdl"
         serviceName="s:ISecuriyService" 
xmlns:s="http://demo.ti.tongtech.com/security/">
<jaxws:serviceBean>
<bean
                 
class="com.tongtech.ti.cxf.demo.security.service.out.ISecuriyDemoImpl" />
</jaxws:serviceBean>

<jaxws:inInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
<map>
<entry value="Timestamp Signature Encrypt">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" />
</key>
</entry>
<entry
                             
value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS" 
/>
</key>
</entry>
<entry value="cert/Server_SignVerf.properties">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE" 
/>
</key>
</entry>
<entry value="cert/Server_Decrypt.properties">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.DEC_PROP_FILE" 
/>
</key>
</entry>
</map>
</constructor-arg>
</bean>
</jaxws:inInterceptors>

<jaxws:outInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
<constructor-arg>
<map>
<entry value="Timestamp Signature Encrypt">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.ACTION" />
</key>
</entry>
<entry value="serverprivatekey">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.USER" />
</key>
</entry>
<entry value="clientpublickey">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.ENCRYPTION_USER" 
/>
</key>
</entry>
<entry
                             
value="com.tongtech.ti.cxf.demo.security.X509.server.UTPasswordServerCallBack">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.PW_CALLBACK_CLASS" 
/>
</key>
</entry>
<entry value="cert/Server_Decrypt.properties">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.SIG_PROP_FILE" 
/>
</key>
</entry>
<entry value="cert/Server_SignVerf.properties">
<key>
<util:constant
                                     
static-field="org.apache.ws.security.handler.WSHandlerConstants.ENC_PROP_FILE" 
/>
</key>
</entry>
</map>
</constructor-arg>
</bean>
</jaxws:outInterceptors>
</jaxws:server>

client is java code:
         ISecuriyService ss = new ISecuriyService(wsdlURL, SERVICE_NAME);
         ISecuriyDemo port = ss.getISecuriyServicePort();
         org.apache.cxf.endpoint.Client client = 
ClientProxy.getClient(port);
         Endpoint cxfEp = client.getEndpoint();

         // Clint Out
         Map<String, Object> outProp = new HashMap<String, Object>();
         outProp.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
                 + " " + WSHandlerConstants.SIGNATURE + " "
                 + WSHandlerConstants.ENCRYPT);
         outProp.put(WSHandlerConstants.USER, "clientprivatekey");
         outProp.put(WSHandlerConstants.ENCRYPTION_USER, "serverpublickey");
         outProp.put(WSHandlerConstants.PW_CALLBACK_CLASS,
                 UTPasswordClientCallBack.class.getName());
         outProp.put(WSHandlerConstants.SIG_PROP_FILE,
                 "cert/Client_Sign.properties");
         outProp.put(WSHandlerConstants.ENC_PROP_FILE,
                 "cert/Client_Encrypt.properties");
         cxfEp.getOutInterceptors().add(new WSS4JOutInterceptor(outProp));

         // Client In(Return)
         Map<String, Object> inProp = new HashMap<String, Object>();
         inProp.put(WSHandlerConstants.ACTION, WSHandlerConstants.TIMESTAMP
                 + " " + WSHandlerConstants.SIGNATURE + " "
                 + WSHandlerConstants.ENCRYPT);
         inProp.put(WSHandlerConstants.PW_CALLBACK_CLASS,
                 UTPasswordClientCallBack.class.getName());
         inProp.put(WSHandlerConstants.DEC_PROP_FILE,
                 "cert/Client_Sign.properties");
         inProp.put(WSHandlerConstants.SIG_PROP_FILE,
                 "cert/Client_Encrypt.properties");
         cxfEp.getInInterceptors().add(new WSS4JInInterceptor(inProp));

         {
             System.out.println("Invoking input...");
             java.lang.String _input_in = "Input Value!";
             java.lang.String _input__return = port.input(_input_in);
             System.out.println("input.result=" + _input__return);
         }

         System.exit(0);
     }

client outbound is OK

Outbound Message
---------------------------
ID: 1
Address: http://localhost:8080/sec
Encoding: UTF-8
Content-Type: text/xml
Headers: {SOAPAction=["http://demo.ti.tongtech.com/security/input"], 
Accept=[*/*]}
Payload: <soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><soap:Header><wsse:Security 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
soap:mustUnderstand="1"><xenc:EncryptedKey 
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" 
Id="EncKeyId-C892C3DEF48D9D312B12893692122755"><xenc:EncryptionMethod 
Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
<ds:X509SerialNumber>1288107035</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data></wsse:SecurityTokenReference>
</ds:KeyInfo><xenc:CipherData><xenc:CipherValue>PWn3xKniypUQNKaSRn9NlrU0BZ/OLXW+KUHuh4q6MrldUWyolkLx3qaGRjpW2WeZeW1WXLGIj0N6EX+MWfx4uX1HEktmcZOA7XSFTPoGLxWqhEDBc4K0depEPD+AMe7WtJkJiIqgis3ZVIGIlbWXnxdLxkUsrxCkKZTbXql8uL2ZR5strVPO+0vIHfckrVvi7RARH4600QHy78C2lSy+pIYkVcsymS7jWkc74dXYp1ZDRRfCwCLhCiBb88WicC6b387kgjjYjaozIycFvyY5Kde5cgy+dN+K/RSC4O0mPwbrYU6Fppvkk+jshrzlvwMLNsZuXmF7ZZANljRTOcXJnA==</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference 
URI="#EncDataId-4"/></xenc:ReferenceList></xenc:EncryptedKey><ds:Signature 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
<ds:SignedInfo>
<ds:CanonicalizationMethod 
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#id-3">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>HSig0sWSVObUJW5zxTSkoLTbvE0=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
Iv/gKsHOXgaHIw7gx/nvdIQhp/FM64bdWBbqkrLFXbQ0MYfFmfjgWGoLiYMHwlbvuIyh3EuHw3OS
bBB68C7qaQFPmrIr8u0Z2fYK8TGdo+cs72UWICdC2WT6PHg2BKGIsxhP4lkcL+V+6WWNcKCs4Cak
XyyegZ6km3zyOraXFIJzHmA8pW9g/no5UcPVKHcZFcTCLgPjRSAokY35mtMvI3+rYplPh+ZUMXLF
8akFQLXmsNOoBu0iU1NRb1VSKqhDO/RfGddIqOamuvx+/JFULDWT6Hnq2VQZA9viC4HBQZjUXNJV
J+xQCCx/+0jbCGq3Eh2UECpDKmO+PQIq0jb4IA==
</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-C892C3DEF48D9D312B12893692105452">
<wsse:SecurityTokenReference 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
wsu:Id="STRId-C892C3DEF48D9D312B12893692105483"><ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
<ds:X509SerialNumber>1288107001</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data></wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature><wsu:Timestamp 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
wsu:Id="Timestamp-1"><wsu:Created>2010-11-10T06:06:50.458Z</wsu:Created><wsu:Expires>2010-11-10T06:11:50.458Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
wsu:Id="id-3"><xenc:EncryptedData 
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="EncDataId-4" 
Type="http://www.w3.org/2001/04/xmlenc#Content"><xenc:EncryptionMethod 
Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:Reference 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
URI="#EncKeyId-C892C3DEF48D9D312B12893692122755"/></wsse:SecurityTokenReference>
</ds:KeyInfo><xenc:CipherData><xenc:CipherValue>aH5ylkPVykkXfmfdqdHxIHFEpDtHPXIRGXonDCdKK+bysSr/TTUne249VcVPwGmJa2SXk3gWnEcu
ois4qI8mkM+Hc0HoQZgHzXpUuIbfQYlYcLE+dvBoC3oPML9vxDp193U2iKJY9YD1GW7Q5r7l+sMu
LfGl3P+TODloRLxMAtjKIrfApIl0/EjvUWTkqq+D5KH7854dU0V+xE5hXnRKOEDwy/69QraQBDm6
s3Nu9c/MNZe2TAYBCnDoiMkpagvCXKo9S2Edx4ukJYHYA6jg6DYdwODZ/KprXyqpJc0mQt3TYjPK
SFIN1kihLgbezTBclhckiaotqiY6mjgg2UjSAEti0NtbGyI1Qfjw49uFpMdoliZ7Wxnc2kRiBErk
gwiOitgerukU4Uas50NK2O9ONYZSc3Bbhrp3ZZEYxA9R7hI=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></soap:Body></soap:Envelope>

camel server inbound is OK
Inbound Message
----------------------------
ID: 1
Address: /sec
Encoding: UTF-8
Content-Type: text/xml; charset=UTF-8
Headers: {content-type=[text/xml; charset=UTF-8], 
connection=[keep-alive], transfer-encoding=[chunked], 
Host=[localhost:8080], 
SOAPAction=["http://demo.ti.tongtech.com/security/input"], 
User-Agent=[Apache CXF 2.4.0-SNAPSHOT], Content-Type=[text/xml; 
charset=UTF-8], Accept=[*/*], Pragma=[no-cache], Cache-Control=[no-cache]}
Payload: <soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><soap:Header><wsse:Security 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
soap:mustUnderstand="1"><xenc:EncryptedKey 
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" 
Id="EncKeyId-C892C3DEF48D9D312B12893692122755"><xenc:EncryptionMethod 
Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
<ds:X509SerialNumber>1288107035</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data></wsse:SecurityTokenReference>
</ds:KeyInfo><xenc:CipherData><xenc:CipherValue>PWn3xKniypUQNKaSRn9NlrU0BZ/OLXW+KUHuh4q6MrldUWyolkLx3qaGRjpW2WeZeW1WXLGIj0N6EX+MWfx4uX1HEktmcZOA7XSFTPoGLxWqhEDBc4K0depEPD+AMe7WtJkJiIqgis3ZVIGIlbWXnxdLxkUsrxCkKZTbXql8uL2ZR5strVPO+0vIHfckrVvi7RARH4600QHy78C2lSy+pIYkVcsymS7jWkc74dXYp1ZDRRfCwCLhCiBb88WicC6b387kgjjYjaozIycFvyY5Kde5cgy+dN+K/RSC4O0mPwbrYU6Fppvkk+jshrzlvwMLNsZuXmF7ZZANljRTOcXJnA==</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference 
URI="#EncDataId-4"/></xenc:ReferenceList></xenc:EncryptedKey><ds:Signature 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
<ds:SignedInfo>
<ds:CanonicalizationMethod 
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#id-3">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>HSig0sWSVObUJW5zxTSkoLTbvE0=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
Iv/gKsHOXgaHIw7gx/nvdIQhp/FM64bdWBbqkrLFXbQ0MYfFmfjgWGoLiYMHwlbvuIyh3EuHw3OS
bBB68C7qaQFPmrIr8u0Z2fYK8TGdo+cs72UWICdC2WT6PHg2BKGIsxhP4lkcL+V+6WWNcKCs4Cak
XyyegZ6km3zyOraXFIJzHmA8pW9g/no5UcPVKHcZFcTCLgPjRSAokY35mtMvI3+rYplPh+ZUMXLF
8akFQLXmsNOoBu0iU1NRb1VSKqhDO/RfGddIqOamuvx+/JFULDWT6Hnq2VQZA9viC4HBQZjUXNJV
J+xQCCx/+0jbCGq3Eh2UECpDKmO+PQIq0jb4IA==
</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-C892C3DEF48D9D312B12893692105452">
<wsse:SecurityTokenReference 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
wsu:Id="STRId-C892C3DEF48D9D312B12893692105483"><ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
<ds:X509SerialNumber>1288107001</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data></wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature><wsu:Timestamp 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
wsu:Id="Timestamp-1"><wsu:Created>2010-11-10T06:06:50.458Z</wsu:Created><wsu:Expires>2010-11-10T06:11:50.458Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
wsu:Id="id-3"><xenc:EncryptedData 
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="EncDataId-4" 
Type="http://www.w3.org/2001/04/xmlenc#Content"><xenc:EncryptionMethod 
Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/><ds:KeyInfo 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:Reference 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
URI="#EncKeyId-C892C3DEF48D9D312B12893692122755"/></wsse:SecurityTokenReference>
</ds:KeyInfo><xenc:CipherData><xenc:CipherValue>aH5ylkPVykkXfmfdqdHxIHFEpDtHPXIRGXonDCdKK+bysSr/TTUne249VcVPwGmJa2SXk3gWnEcu
ois4qI8mkM+Hc0HoQZgHzXpUuIbfQYlYcLE+dvBoC3oPML9vxDp193U2iKJY9YD1GW7Q5r7l+sMu
LfGl3P+TODloRLxMAtjKIrfApIl0/EjvUWTkqq+D5KH7854dU0V+xE5hXnRKOEDwy/69QraQBDm6
s3Nu9c/MNZe2TAYBCnDoiMkpagvCXKo9S2Edx4ukJYHYA6jg6DYdwODZ/KprXyqpJc0mQt3TYjPK
SFIN1kihLgbezTBclhckiaotqiY6mjgg2UjSAEti0NtbGyI1Qfjw49uFpMdoliZ7Wxnc2kRiBErk
gwiOitgerukU4Uas50NK2O9ONYZSc3Bbhrp3ZZEYxA9R7hI=</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></soap:Body></soap:Envelope>
--------------------------------------

outbound throw exception:
Outbound Message
---------------------------
ID: 2
Address: http://localhost:9080/sec
Encoding: UTF-8
Content-Type: text/xml
Headers: {connection=[keep-alive], transfer-encoding=[chunked], 
Host=[localhost:8080], 
SOAPAction=["http://demo.ti.tongtech.com/security/input"], 
User-Agent=[Apache CXF 2.4.0-SNAPSHOT], Accept=[*/*], Pragma=[no-cache], 
Cache-Control=[no-cache]}
Payload: <soap:Envelope 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><wsse:Security 
soap:mustUnderstand="1" 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><xenc:EncryptedKey 
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" 
Id="EncKeyId-C892C3DEF48D9D312B12893692122755"><xenc:EncryptionMethod 
Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
<ds:X509SerialNumber>1288107035</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data></wsse:SecurityTokenReference>
</ds:KeyInfo><xenc:CipherData><xenc:CipherValue>PWn3xKniypUQNKaSRn9NlrU0BZ/OLXW+KUHuh4q6MrldUWyolkLx3qaGRjpW2WeZeW1WXLGIj0N6EX+MWfx4uX1HEktmcZOA7XSFTPoGLxWqhEDBc4K0depEPD+AMe7WtJkJiIqgis3ZVIGIlbWXnxdLxkUsrxCkKZTbXql8uL2ZR5strVPO+0vIHfckrVvi7RARH4600QHy78C2lSy+pIYkVcsymS7jWkc74dXYp1ZDRRfCwCLhCiBb88WicC6b387kgjjYjaozIycFvyY5Kde5cgy+dN+K/RSC4O0mPwbrYU6Fppvkk+jshrzlvwMLNsZuXmF7ZZANljRTOcXJnA==</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference 
URI="#EncDataId-4"/></xenc:ReferenceList></xenc:EncryptedKey><ds:Signature 
xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
<ds:SignedInfo>
<ds:CanonicalizationMethod 
Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#id-3">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>HSig0sWSVObUJW5zxTSkoLTbvE0=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
Iv/gKsHOXgaHIw7gx/nvdIQhp/FM64bdWBbqkrLFXbQ0MYfFmfjgWGoLiYMHwlbvuIyh3EuHw3OS
bBB68C7qaQFPmrIr8u0Z2fYK8TGdo+cs72UWICdC2WT6PHg2BKGIsxhP4lkcL+V+6WWNcKCs4Cak
XyyegZ6km3zyOraXFIJzHmA8pW9g/no5UcPVKHcZFcTCLgPjRSAokY35mtMvI3+rYplPh+ZUMXLF
8akFQLXmsNOoBu0iU1NRb1VSKqhDO/RfGddIqOamuvx+/JFULDWT6Hnq2VQZA9viC4HBQZjUXNJV
J+xQCCx/+0jbCGq3Eh2UECpDKmO+PQIq0jb4IA==
</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-C892C3DEF48D9D312B12893692105452">
<wsse:SecurityTokenReference 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
wsu:Id="STRId-C892C3DEF48D9D312B12893692105483"><ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=tongtech.com,C=CN</ds:X509IssuerName>
<ds:X509SerialNumber>1288107001</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data></wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature><wsu:Timestamp 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" 
wsu:Id="Timestamp-1"><wsu:Created>2010-11-10T06:06:50.458Z</wsu:Created><wsu:Expires>2010-11-10T06:11:50.458Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body><ns2:input 
xmlns:ns2="http://demo.ti.tongtech.com/security/"><in>Input 
Value!</in></ns2:input></soap:Body></soap:Envelope>
--------------------------------------
2010-11-10 14:07:56 org.apache.camel.processor.Logger log
严重: Failed delivery for exchangeId: 
ID-NoGrief-MPC-55174-1289369185031-0-2. Exhausted after delivery 
attempt: 1 caught: java.net.SocketTimeoutException: Read timed out
java.net.SocketTimeoutException: Read timed out
     at java.net.SocketInputStream.socketRead0(Native Method)
     at java.net.SocketInputStream.read(SocketInputStream.java:129)
     at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
     at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
     at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
     at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
     at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
     at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
     at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
     at 
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
     at 
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197)
     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171)
     at 
org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253)
     at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     at java.lang.Thread.run(Thread.java:619)
2010-11-10 14:07:56 org.apache.cxf.phase.PhaseInterceptorChain 
doDefaultLogging
警告: Interceptor for 
{http://demo.ti.tongtech.com/security/}ISecuriyService#{http://demo.ti.tongtech.com/security/}input 
has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Read timed out
     at 
org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer.java:223)
     at 
org.apache.camel.component.cxf.CxfConsumer$1.setResponseBack(CxfConsumer.java:200)
     at 
org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:120)
     at 
org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:68)
     at 
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
     at 
org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:93)
     at 
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247)
     at 
org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:222)
     at 
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:70)
     at 
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:311)
     at 
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:280)
     at 
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)
     at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:922)
     at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:860)
     at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
     at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:185)
     at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
     at org.eclipse.jetty.server.Server.handleAsync(Server.java:397)
     at 
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:601)
     at 
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:410)
     at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510)
     at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
     at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
     at 
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450)
     at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.SocketTimeoutException: Read timed out
     at java.net.SocketInputStream.socketRead0(Native Method)
     at java.net.SocketInputStream.read(SocketInputStream.java:129)
     at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
     at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
     at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
     at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
     at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
     at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
     at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
     at 
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
     at 
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197)
     at 
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171)
     at 
org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253)
     at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
     ... 1 more

outbound server dont do anythink..

于 2010/11/8 12:03, Willem Jiang 写道:
> I can't give you more answer just from the stack trace that you gave.
> Please provide a simple test case for this issue.
>
> BTW, you can take a look at this page[1] for tracking the CXF endpoint 
> in out message.
>
> [1]http://cxf.apache.org/docs/debugging-and-logging.html
>
> On 11/8/10 11:08 AM, Jinglong Wang wrote:
>> *Hi,*
>> *I use cxf-camel with X509 security, but cxf-camel cant outbound.*
>> *the exception is:*
>> Caused by: java.net.SocketTimeoutException: Read timed out
>>   at java.net.SocketInputStream.socketRead0(Native Method)
>>   at java.net.SocketInputStream.read(SocketInputStream.java:129)
>>   at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>>   at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>>   at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>>   at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
>>   at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>>   at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
>>   at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>>   at
>> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072) 
>>
>>   at 
>> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
>>   at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197) 
>>
>>   at
>> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171) 
>>
>>   at
>> org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253) 
>>
>>   at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
>>
>>   at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
>>
>>   ... 1 more
>>   *single with cxf is ok.*
>> **
>> *outbound server is started..*
>> **
>> *thanks*
>>
>
>


Re: About CXF-Camel Security!

Posted by Willem Jiang <wi...@gmail.com>.
I can't give you more answer just from the stack trace that you gave.
Please provide a simple test case for this issue.

BTW, you can take a look at this page[1] for tracking the CXF endpoint 
in out message.

[1]http://cxf.apache.org/docs/debugging-and-logging.html

On 11/8/10 11:08 AM, Jinglong Wang wrote:
> *Hi,*
> *I use cxf-camel with X509 security, but cxf-camel cant outbound.*
> *the exception is:*
> Caused by: java.net.SocketTimeoutException: Read timed out
>   at java.net.SocketInputStream.socketRead0(Native Method)
>   at java.net.SocketInputStream.read(SocketInputStream.java:129)
>   at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>   at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
>   at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
>   at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
>   at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>   at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766)
>   at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>   at
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
>   at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
>   at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2197)
>   at
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2171)
>   at
> org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253)
>   at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>   at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>   ... 1 more
>   *single with cxf is ok.*
> **
> *outbound server is started..*
> **
> *thanks*
>


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