MTOM support in WSE 3.0 CTP
Mark asked for some feedback on WSE 3.0 CTP. Here's my 2 cents.
Switching on MTOM behavior:
#1: all base64Binary fields are eligible for MTOM-ming.
#2: You can control the behavior of the client or server using the mtom element in WSE.CONFIG
Problems:
#1: Kirill is gonna have a problem writing an interop server that implements the interop scenarios as it is difficult to control behavior (send XML, get MTOM and vice-versa)
#2: Don't see a way to control which of the base64Binary fields will be sent as attachments. Default seems to be all or nothing. If you are starting from WSDL. There is no way to annotate in the WSDL/XSD which ones you want to be optimized.
#3: Anyone have a clue how .NET going to handle a 2GB+ sized attachments like Axis does without using a DataHandler kind of mechanism.
#4: WseWsdl3 has problems with Gudge's WSDL as well as the Whitemesa WSDL.
Switching on MTOM behavior:
#1: all base64Binary fields are eligible for MTOM-ming.
#2: You can control the behavior of the client or server using the mtom element in WSE.CONFIG
<mtom clientMode="on|off" serverMode="always|never|optional"/>#3: On the client, you can force MTOM-ming using RequireMtom flag.
String fileName = "Winter.jpg"; // Create an instance of the Web service proxy class. BinaryDataMTOMServiceWse serviceproxy = new BinaryDataMTOMServiceWse(); // Specify that MTOM encoding must be used. serviceproxy.RequireMtom = true;
Problems:
#1: Kirill is gonna have a problem writing an interop server that implements the interop scenarios as it is difficult to control behavior (send XML, get MTOM and vice-versa)
#2: Don't see a way to control which of the base64Binary fields will be sent as attachments. Default seems to be all or nothing. If you are starting from WSDL. There is no way to annotate in the WSDL/XSD which ones you want to be optimized.
#3: Anyone have a clue how .NET going to handle a 2GB+ sized attachments like Axis does without using a DataHandler kind of mechanism.
#4: WseWsdl3 has problems with Gudge's WSDL as well as the Whitemesa WSDL.