Ok, I have used an HTTP monitor to check what's going on. The result is
that working with SOAP::RPC::Driver and add_method_with_soapaction a
type is automatically attached to every parameter. Infact, in the SOAP
message I see:
<inx xsi:type="xsd:string">YWJj</inx>
while using WSDLDriverFactory:
<x>YWJj</x>
That's it! Of course needs to be compatible with a byte[], that is to
say that if a type is specified it better be xsd:base64Binary. Infact,
if I rollback to pass an array like [65, 66] I can understand why I get
an IllegalArgumentExcepion ==> instead of xsd:base64Binary the SOAP
message contains
<inx n2:arrayType="xsd:anyType[2]"
xmlns:n2="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="n2:Array">
<item xsi:type="xsd:int">65</item>
<item xsi:type="xsd:int">66</item>
</inx>
Now the question is: why add_method_with_soapaction causes (sometimes
erronous) types to be passed with SOAP parameters?
Thx
AA