Hi all,
changing the wrapper type from UNKNOWN to byte[] works but is probably not a practicable solution. It changes the WSDL as follows:
<xsd:element name="uploadFile" nillable="true" type="xsd:anyType"/>
=>
<xsd:element maxOccurs="unbounded" name="uploadFile" nillable="true" type="xsd:byte"/>
That means that every byte of the file is uploaded with an enclosing XML tag. This is a huge overhead.
The better solution is to use a String with Content type base64Binary:
<xsd:element name="uploadFile" nillable="true" type="xsd:base64Binary"/>
The client stub will generate an interface using a javax.activation.DataHandler:
getPublishMessage().getParameters().getPublishMessage().getPublishMessage().setMsgFile(new DataHandler(getFile().get(),"application/octet-stream"));
Now the file is sent as a Base64 encoded string.
Michael
#webMethods#MWS-CAF-Task-Engine#webMethods-BPMS