Freeman, thanks for your answer. I added the timestamp action like:
<entry key="action" value="Timestamp Signature" />
But isn't work.
I read this:
http://markmail.org/message/anrftxie56j43bey#query:+page:1+mid:gnojqbxxesel5net+state:results
Is it possible? I mean, I'm wrote the second interceptor and up to now..
nothing.
<map>
<entry key="action" value="Timestamp Signature" />
<entry key="signaturePropFile"
value="Client_Sign.properties" />
<entry key="user"
value="le-60dca1be-5393-48b3-bbc3-0dfb1ab40d25" />
<entry key="passwordType" value="PasswordDigest" />
<entry key="signatureKeyIdentifier" value="DirectReference"
/>
<entry key="passwordCallbackRef">
<ref bean="signaturePwdCallback" />
</entry>
<entry key="signatureParts" value="
{Element}{WebContent/WEB-INF/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp
// With the phisical file and the link.
;{Element}{http://www.w3.org/2005/08/addressing}Action
;{Element}{http://www.w3.org/2005/08/addressing}ReplyTo
;{Element}{http://www.w3.org/2005/08/addressing}MessageID
;{Element}{http://www.w3.org/2005/08/addressing}To" />
</map>
2010/12/20 Colm O hEigeartaigh <[email protected]>
> The error is that WSS4J can't find the element to sign (Timestamp).
> You could probably fix this by adding a timestamp action to the
> WSS4JOutInterceptor configuration:
>
> <entry key="action" value="Timestamp Signature" />
>
> Colm.
>
> On Mon, Dec 20, 2010 at 12:20 PM, Juan Pablo Pizarro
> <[email protected]> wrote:
> > Hello All, I' trying to call a .net web service with spring - cxf
> > configuration. I getting the following exception:
> >
> > General security error (WSEncryptBody/WSSignEnvelope: Element to
> > encrypt/sign not found:
> >
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
> ,
> > Timestamp) (the same with Body part).
> >
> > The error is clear.. but I call the same service with soapUI and it works
> > with timestamp and body in the Parts configuration.
> >
> > Then, I suppose that timestamp and body will be there (signatureParts).
> >
> > My client-beans.xml
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <beans xmlns="http://www.springframework.org/schema/beans"
> > xmlns:jaxws="http://cxf.apache.org/jaxws"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:p="http://cxf.apache.org/policy"
> > xmlns:cxf="http://cxf.apache.org/core"
> > xmlns:wsa="http://cxf.apache.org/ws/addressing"
> > xmlns:http="http://cxf.apache.org/transports/http/configuration"
> > xsi:schemaLocation="
> > http://www.springframework.org/schema/beans
> > http://www.springframework.org/schema/beans/spring-beans.xsd
> > http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
> > http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
> > http://schemas.xmlsoap.org/ws/2005/02/rm/policy
> > http://schemas.xmlsoap.org/ws/2005/02/rm/wsrm-policy.xsd
> > http://cxf.apache.org/transports/http/configuration
> > http://cxf.apache.org/schemas/configuration/http-conf.xsd
> > ">
> >
> > <import resource="classpath:META-INF/cxf/cxf.xml" />
> > <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
> > <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> > <import resource="classpath:META-INF/cxf/cxf-extension-http.xml" />
> > <import
> resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml"
> > />
> > <import resource="classpath:META-INF/cxf/cxf-extension-policy.xml" />
> > <import
> resource="classpath:META-INF/cxf/cxf-extension-ws-security.xml"
> > />
> >
> > <cxf:bus>
> > <cxf:features>
> > <p:policies />
> > <cxf:logging />
> > <wsa:addressing />
> > </cxf:features>
> > </cxf:bus>
> >
> > <http:conduit name="http://wss.aduanas.gub.uy/.*">
> > <http:client Connection="Keep-Alive"
> > AllowChunking="false"
> > ConnectionTimeout="120000"
> > ReceiveTimeout="120000"
> > ContentType="application/soap+xml;charset=UTF-8"/>
> > </http:conduit>
> >
> > <bean id="wsclient" class="org.tempuri.IStock"
> > factory-bean="wsFactory" factory-method="create" />
> >
> > <bean id="wsFactory"
> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
> > <property name="serviceClass" value="org.tempuri.IStock" />
> > <property name="address" value="
> > http://wss.aduanas.gub.uy/LuciaWsSecurity/Stock.svc" />
> >
> > <property name="outInterceptors">
> > <list>
> > <bean
> > class="org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor" />
> > <ref bean="wss4jOutInterceptor" />
> > </list>
> > </property>
> > </bean>
> >
> > <bean id="wss4jOutInterceptor"
> > class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
> > <constructor-arg>
> > <map>
> > <entry key="action" value="Signature" />
> > <entry key="signaturePropFile"
> > value="Client_Sign.properties" />
> > <entry key="user"
> > value="le-60dca1be-5393-48b3-bbc3-0dfb1ab40d25" />
> > <entry key="passwordType" value="PasswordDigest" />
> > <entry key="mustUnderstand" value="false" />
> > <entry key="signatureKeyIdentifier"
> value="DirectReference"
> > />
> >
> > <entry key="passwordCallbackRef">
> > <ref bean="signaturePwdCallback" />
> > </entry>
> > <entry key="signatureParts" value="{Element}{
> >
> http://www.w3.org/2005/08/addressing}Action;{Element}{http://www.w3.org/2005/08/addressing}ReplyTo;{Element}{http://www.w3.org/2005/08/addressing}MessageID;{Element}{http://www.w3.org/2005/08/addressing}To;{Element}{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd}Timestamp;{Content}{http://www.w3.org/2003/05/soap-envelope}Body<http://www.w3.org/2005/08/addressing%7DAction;%7BElement%7D%7Bhttp://www.w3.org/2005/08/addressing%7DReplyTo;%7BElement%7D%7Bhttp://www.w3.org/2005/08/addressing%7DMessageID;%7BElement%7D%7Bhttp://www.w3.org/2005/08/addressing%7DTo;%7BElement%7D%7Bhttp://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd%7DTimestamp;%7BContent%7D%7Bhttp://www.w3.org/2003/05/soap-envelope%7DBody>
> "
> > />
> > </map>
> > </constructor-arg>
> > </bean>
> >
> > <bean id="signaturePwdCallback"
> class="org.jpp.ws.client.ClientCallback"
> > />
> >
> > </beans>
> >
> > The wsdl:
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <wsdl:definitions name="MenStock" targetNamespace="http://tempuri.org/"
> > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="
> > http://schemas.xmlsoap.org/wsdl/soap/"
> > xmlns:wsu="
> >
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
> > "
> > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:wsam="
> > http://www.w3.org/2007/05/addressing/metadata"
> > xmlns:tns="http://tempuri.org/" xmlns:wsa="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing"
> > xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="
> > http://schemas.xmlsoap.org/ws/2004/08/addressing/policy"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msc="
> > http://schemas.microsoft.com/ws/2005/12/wsdl/contract"
> > xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap12="
> > http://schemas.xmlsoap.org/wsdl/soap12/"
> > xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsx="
> > http://schemas.xmlsoap.org/ws/2004/09/mex">
> > <wsp:Policy wsu:Id="CustomBinding_IStock_policy">
> > <wsp:ExactlyOne>
> > <wsp:All>
> > <sp:AsymmetricBinding
> > xmlns:sp="
> > http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
> > <wsp:Policy>
> > <sp:InitiatorToken>
> > <wsp:Policy>
> > <sp:X509Token
> > sp:IncludeToken="
> >
> http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient
> > ">
> > <wsp:Policy>
> > <sp:WssX509V3Token10 />
> > </wsp:Policy>
> > </sp:X509Token>
> > </wsp:Policy>
> > </sp:InitiatorToken>
> > <sp:RecipientToken>
> > <wsp:Policy>
> > <sp:X509Token
> > sp:IncludeToken="
> > http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never
> ">
> > <wsp:Policy>
> > <sp:WssX509V3Token10 />
> > </wsp:Policy>
> > </sp:X509Token>
> > </wsp:Policy>
> > </sp:RecipientToken>
> > <sp:AlgorithmSuite>
> > <wsp:Policy>
> > <sp:Basic256 />
> > </wsp:Policy>
> > </sp:AlgorithmSuite>
> > <sp:Layout>
> > <wsp:Policy>
> > <sp:Lax />
> > </wsp:Policy>
> > </sp:Layout>
> > <sp:IncludeTimestamp />
> > <sp:OnlySignEntireHeadersAndBody />
> > </wsp:Policy>
> > </sp:AsymmetricBinding>
> > <sp:Wss10 xmlns:sp="
> > http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
> > <wsp:Policy>
> > <sp:MustSupportRefKeyIdentifier />
> > <sp:MustSupportRefIssuerSerial />
> > </wsp:Policy>
> > </sp:Wss10>
> > <sp:Trust10 xmlns:sp="
> > http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
> > <wsp:Policy>
> > <sp:MustSupportIssuedTokens />
> > <sp:RequireClientEntropy />
> > <sp:RequireServerEntropy />
> > </wsp:Policy>
> > </sp:Trust10>
> > <wsaw:UsingAddressing />
> > </wsp:All>
> > </wsp:ExactlyOne>
> > </wsp:Policy>
> > <wsp:Policy wsu:Id="CustomBinding_IStock_MensajeStock_Input_policy">
> > <wsp:ExactlyOne>
> > <wsp:All>
> > <sp:SignedParts
> > xmlns:sp="
> > http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
> > <sp:Body />
> > <sp:Header Name="To" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="From" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="FaultTo" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="ReplyTo" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="MessageID" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="RelatesTo" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="Action" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > </sp:SignedParts>
> > </wsp:All>
> > </wsp:ExactlyOne>
> > </wsp:Policy>
> > <wsp:Policy wsu:Id="CustomBinding_IStock_MensajeStock_output_policy">
> > <wsp:ExactlyOne>
> > <wsp:All>
> > <sp:SignedParts
> > xmlns:sp="
> > http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
> > <sp:Body />
> > <sp:Header Name="To" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="From" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="FaultTo" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="ReplyTo" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="MessageID" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="RelatesTo" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > <sp:Header Name="Action" Namespace="
> > http://www.w3.org/2005/08/addressing" />
> > </sp:SignedParts>
> > </wsp:All>
> > </wsp:ExactlyOne>
> > </wsp:Policy>
> > <wsdl:types>
> > <xsd:schema targetNamespace="http://tempuri.org/Imports">
> > <xsd:import
> > schemaLocation="
> > http://wss.aduanas.gub.uy/LuciaWsSecurity/Stock.svc?xsd=xsd0"
> > namespace="http://tempuri.org/" />
> > <xsd:import
> > schemaLocation="
> > http://wss.aduanas.gub.uy/LuciaWsSecurity/Stock.svc?xsd=xsd1"
> > namespace="
> > http://schemas.microsoft.com/2003/10/Serialization/" />
> > <xsd:import
> > schemaLocation="
> > http://wss.aduanas.gub.uy/LuciaWsSecurity/Stock.svc?xsd=xsd2"
> > namespace="
> http://schemas.datacontract.org/2004/07/WCF_Stock"
> > />
> > </xsd:schema>
> > </wsdl:types>
> > <wsdl:message name="IStock_MensajeStock_InputMessage">
> > <wsdl:part name="parameters" element="tns:MensajeStock" />
> > </wsdl:message>
> > <wsdl:message name="IStock_MensajeStock_OutputMessage">
> > <wsdl:part name="parameters" element="tns:MensajeStockResponse" />
> > </wsdl:message>
> > <wsdl:portType name="IStock">
> > <wsdl:operation name="MensajeStock">
> > <wsdl:input wsaw:Action="
> http://tempuri.org/IStock/MensajeStock"
> > message="tns:IStock_MensajeStock_InputMessage" />
> > <wsdl:output wsaw:Action="
> > http://tempuri.org/IStock/MensajeStockResponse"
> > message="tns:IStock_MensajeStock_OutputMessage" />
> > </wsdl:operation>
> > </wsdl:portType>
> > <wsdl:binding name="CustomBinding_IStock" type="tns:IStock">
> > <wsp:PolicyReference URI="#CustomBinding_IStock_policy" />
> > <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"
> />
> > <wsdl:operation name="MensajeStock">
> > <soap12:operation soapAction="
> > http://tempuri.org/IStock/MensajeStock"
> > style="document" />
> > <wsdl:input>
> > <wsp:PolicyReference
> > URI="#CustomBinding_IStock_MensajeStock_Input_policy"
> />
> > <soap12:body use="literal" />
> > </wsdl:input>
> > <wsdl:output>
> > <wsp:PolicyReference
> > URI="#CustomBinding_IStock_MensajeStock_output_policy"
> > />
> > <soap12:body use="literal" />
> > </wsdl:output>
> > </wsdl:operation>
> > </wsdl:binding>
> > <wsdl:service name="MenStock">
> > <wsdl:port name="CustomBinding_IStock"
> > binding="tns:CustomBinding_IStock">
> > <soap12:address location="
> > http://wss.aduanas.gub.uy/LuciaWsSecurity/Stock.svc" />
> > <wsa10:EndpointReference>
> > <wsa10:Address>
> > http://wss.aduanas.gub.uy/LuciaWsSecurity/Stock.svc</wsa10:Address>
> > <Identity xmlns="
> > http://schemas.xmlsoap.org/ws/2006/02/addressingidentity">
> > <Dns>wss.aduanas.gub.uy</Dns>
> > </Identity>
> > </wsa10:EndpointReference>
> > </wsdl:port>
> > </wsdl:service>
> > </wsdl:definitions>
> >
> > Any suggestion or link to avoid my error?
> >
> > Thanks!
> >
>