Error reading string return value in smart contract - java

Hi guys, i’ve deployed an ABI-compliant smart contract, all its exposed methods return string value in a way like this:

byte 0x151f7c75
byte “OK”
concat
log

I’m trying to read the value from java sdk, but i’m facing an IllegalArgumentException with this message detail: “string decode failure: encoded bytes do not match with length header”.
Any suggestion?
Thank you!

EDIT: i “solved” the problem in the way as follows:
In my custom AtomicTransactionComposer class, i add a condition on ABI method parsed return type and simply istantiate a new String from abiEncoded return value:

ABIType methodRetType = this.methodMap.get(i).returns.parsedType;
if(methodRetType instanceof TypeString) {
	decoded = new String(abiEncoded);
} else {
    decoded = methodRetType.decode(abiEncoded);
}