Metro message level encryptation usando XPath

0 respostas
ronaldocwb

Ola,

Estou tentando fazer a comunicação segura usando a especificação WS-Security com um Webservice criado com o Metro.
Preciso criptografar apenas algumas partes da minha mensagem Soap, mas não estou conseguindo.

Estou definindo o elemento que quero criptografar por XPath:

<wsp:Policy wsu:Id="PessoaServicePortBinding_obterDadosUsuario_Output_Policy">
  <wsp:ExactlyOne>
    <wsp:All>
      <sp:EncryptedElements>
        <sp:XPath xmlns:ns2="http://unimed.com.br/webservice">
          /S:Envelope/S:Body/ns2:obterDadosUsuarioResponse
        </sp:XPath>
      </sp:EncryptedElements>
    </wsp:All>
  </wsp:ExactlyOne>
</wsp:Policy>

Se tento criptografar alguma parte do namespace soap (como heades ou body) ele funciona, mas se tento criptografar algum elemento de meu proprio namespace ele emite essa mensagem:

failed to get Message Parts of using XPath targettype
javax.xml.transform.TransformerException: Prefix must resolve to a namespace: ns2

Iniciei o serviço em debug e verifiquei o ponto onde ocorre o erro. Existe um map com os namespaces registrados (nao sei onde é carregado) e meu namespace nao esta no map, tentei setar o namespace no client e no servico em todos os lugares possiveis mas sem resultado…

Alguem ja teve esse problema?

Estou usando JBoss 4.2.3 e Metro 1.3.1

Criado 6 de outubro de 2008
Respostas 0
Participantes 1