The first step worked (passing thee base64 encoded string directly to the webservice)!
However, i fail to understand that. This is my understanding: A file can be sent either as bytes or by encoding into a String (base64). My WM service is receiving a file as a string (BAse64 encoded), and then is attempting to pass the same file as bytes to another SOAP webservice. Hence, i used Base64Decode to decode the file String and convert it into an array of bytes which in turn i would pass to the webservice (the corresponding field for byte being Base64Binary. This is what i think should be and should work, but isnt.
Now what is working is this: My flow service is receiving the encoded String and sending it as is to the webservice which is accepting the file as byte. This, according to me should not work, but is working.
My best guess is that Apache Axis is decoding the Base64 string before sending the SOAP on the wire.
PS: The webservice that accepts the file as bytes is implemented in Java and deployed to a JBoss server. The actual input paramater of the operation is a byte but when the service is deployed , the WSDL shows the field as being of type Base64Binary.
Thanks!
#webMethods-General#Integration-Server-and-ESB#webMethods