Hi Everyone,
I am developing one service in webMethods 8.2 environment which invokes webservice of BackEnd system.
This BackEnd has secure communications using standard WS-Security implementation X509 Certificate Token Profile, so for each call is necessary to sign the SOAP message using the given certificate.
While invoking webservice via the connector in webMethods we are getting error “[ISS.0088.9431] Handler processing failed on the consumer: com.webMethods.ws.security.SecurityException: Request does not contain required Security header: [{XML-Signature Syntax and Processing}Signature]” whereas when I invoke same webservice in soapUI after setting a keyStore and adding an Outgoing WS-Security Configuration, and this properties for the signature:
it is providing correct response set by the partner.
This is the soapUI Request header which works:
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1"
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">
<ds:Signature Id="SIG-498759834758937985739847589375787"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces PrefixList="ct doc doc1 elec soapenv"
xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference URI="#id-875983478957983458743875983745794">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces PrefixList="ct doc doc1 elec"
xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>·$543Pff344/PHAgf034jr4=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>U+L/5348795834798573984579257983257983478593924857983/iu4o5y435375f87b357g23402g3b6
413iyn963169yfyf//9ZMvEiRWFMyRtGlhGrhjWdrBb/t0V4BHstHAxPOSS+BxB7zpqXFw
goGtkshEDAKwo0eE7XM=</ds:SignatureValue>
<ds:KeyInfo Id="KI-234567834095043503451109AB893474">
<wsse:SecurityTokenReference wsu:Id="STR-234234235834978AB324774423423464">
<ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=keystoreuser</ds:X509IssuerName>
<ds:X509SerialNumber>1231654565</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>
</soapenv:Header>
Could anyone please let me know what setting I need to change in webMethods to access same result in Designer?
I tried setting auth/message/serverCerts/keyStoreAlias and auth/message/serverCerts/keyAlias values in the connector.
I tried too with option setting handler in webService consumer as “WS Security Handler” having different policies including “Consumer policy for Signature, Auth” but it throwing this error:
[ISS.0088.9431] Handler processing failed on the consumer: com.webMethods.ws.security.SecurityException: Request does not contain required Security header: [{XML-Signature Syntax and Processing}Signature]
IS Version:8.2.2.0
LatestFix::IS_8.2_SP2_Core_Fix12
Any help would be much appreciated.
Regards,
Diego
#soa#webMethods#API-Management