Im trying to sign a SOAP envelope from a WSDL using WSSESoap PHP plugin. I cant make it work as it throws a 'Hash values do not match' issue. The WSDL is:
[login to view URL]
Im calling from
$sc = new MySoap($wsdl);
$out = $sc->Execute(array("Rut"=>"123456789"));
And getting the 'Hash values do not match' error.
I did a research and seems the problem is when canonizing the Body from the envelop as there is using Inclusivenamespace and prefixes list. I get this working request from SOAPUI.
Here is te reference tag pointing to the Body object.
<ds:Reference URI="#id-99A5113916FE1B896D152461497086267">
<ds:Transforms>
<ds:Transform Algorithm="[login to view URL]">
<ec:InclusiveNamespaces xmlns:ec="[login to view URL]" PrefixList="dgi"/>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="[login to view URL]"/>
<ds:DigestValue>iWbErI+zKd+Go3r88YKrh+nZmmE=</ds:DigestValue>
</ds:Reference>
I also tried to Canonize the SOAP BODY with C14N, but didnt work.