In any case (SOAP or not) you should sign with RSA_PKCS the DigestInfo structure as described in RFC 2313 :
The message digest MD and a message-digest algorithm identifier shall be combined into an ASN.1 value of type DigestInfo, described below, which shall be BER-encoded to give an octet string D, the data to sign.
DigestInfo ::= SEQUENCE {
digestAlgorithm DigestAlgorithmIdentifier,
digest Digest
}
DigestAlgorithmIdentifier ::= AlgorithmIdentifier
Digest ::= OCTET STRING
The fields of type DigestInfo have the following meanings:
- digestAlgorithm identifies the message-digest algorithm (and any associated parameters). For this application, it should identify the selected message-digest algorithm, SHA1, SHA256, MD2, MD4 or MD5
- digest is the result of the message-digesting process (HASHING), i.e., the message digest MD.
I'm available by phone, but If you don't understand what I mean, if you cannot deal with DigestInfo, we will waste our time by phone.