Hi Colm,
I'm calling a service that receive a String parameter and this String has to
be a signed XML, i.e., the parameter content is signed, not the entire
Envelope(don't know if this is possible).
I think the problem is the way JAXB is handling namespaces. The parameter
I'm talking about is the nfeDadosMsg, that is defined as below....
<wsdl:types>
<s:schema elementFormDefault="qualified"
targetNamespace="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao2">
<s:element name="nfeDadosMsg">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="nfeInutilizacaoNF2Result">
<s:complexType mixed="true">
<s:sequence>
<s:any />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="nfeCabecMsg" type="tns:nfeCabecMsg" />
<s:complexType name="nfeCabecMsg">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="cUF" type="s:string"
/>
<s:element minOccurs="0" maxOccurs="1" name="versaoDados"
type="s:string" />
</s:sequence>
<s:anyAttribute />
</s:complexType>
</s:schema>
</wsdl:types>
Any clue will be helpful.
Fernando.
-----Mensagem original-----
De: Colm O hEigeartaigh [mailto:[email protected]]
Enviada em: segunda-feira, 20 de maio de 2013 06:25
Para: [email protected]
Assunto: Re: CXF changing the XMLDSIG prefixes
I don't know, but you never put the Signature in the SOAP Body, it only ever
goes in the Security header of the request.
Colm.
On Fri, May 17, 2013 at 8:15 PM, Fernando Silva
<[email protected]>wrote:
> Hi,
>
>
>
> I'm doing some tests, in which I add the following XML (Signed XML) in
> SOAP
> message:
>
>
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <inutNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">
>
> <infInut Id="ID35130929629500024055001042708314042708414">
>
> <tpAmb>2</tpAmb>
>
> <xServ>INUTILIZAR</xServ>
>
> <cUF>35</cUF>
>
> <ano>13</ano>
>
> <CNPJ>09296295000240</CNPJ>
>
> <mod>55</mod>
>
> <serie>1</serie>
>
> <nNFIni>42708314</nNFIni>
>
> <nNFFin>42708414</nNFFin>
>
> <xJust>Numero nao utilizado pelo sistema.</xJust>
>
> </infInut>
>
> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
>
> .
>
> .
>
> .
>
> </Signature>
>
> </inutNFe>
>
>
>
>
>
> But after put the XML in the Soap Envelope Body, CXF changes the XML
> adding namespaces and prefixes:
>
>
>
> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
>
> <soap:Header>
>
> <ns2:nfeCabecMsg
> xmlns:ns2="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao2"
> xmlns="http://www.portalfiscal.inf.br/nfe">
>
> <ns2:cUF>35</ns2:cUF>
>
> <ns2:versaoDados>2.00</ns2:versaoDados>
>
> </ns2:nfeCabecMsg>
>
> </soap:Header>
>
> <soap:Body>
>
> <ns2:nfeDadosMsg xmlns=" <http://www.portalfiscal.inf.br/nfe>
> http://www.portalfiscal.inf.br/nfe" xmlns:ns2="
> <http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao2>
> http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao2">
>
> <inutNFe versao="2.00">
>
> <infInut Id="ID35130929629500024055001042708314042708414">
>
> <tpAmb>2</tpAmb>
>
> <xServ>INUTILIZAR</xServ>
>
> <cUF>35</cUF>
>
> <ano>13</ano>
>
> <CNPJ>09296295000240</CNPJ>
>
> <mod>55</mod>
>
> <serie>1</serie>
>
> <nNFIni>42708314</nNFIni>
>
> <nNFFin>42708414</nNFFin>
>
> <xJust>Numero nao utilizado pelo sistema.</xJust>
>
> </infInut>
>
> <Signature:Signature
> xmlns:Signature="http://www.w3.org/2000/09/xmldsig#"
> xmlns="http://www.w3.org/2000/09/xmldsig#">
>
> .
>
> .
>
> .
>
> </Signature:Signature>
>
> </inutNFe>
>
> </ns2:nfeDadosMsg>
>
> </soap:Body>
>
> </soap:Envelope>
>
>
>
>
>
> Why CXF changes the original XML?
>
>
>
> I need to remove this namespace and prefix, how can I do this?
>
>
>
> Regards,
>
> Fernando Cesar
>
>
>
>
>
>
--
Colm O hEigeartaigh
Talend Community Coder
http://coders.talend.com