wsdlURL = new URL(args[0]);
}
System.out.println(wsdlURL);
TestMtomService tms = new TestMtomService(wsdlURL, SERVICE_NAME);
TestMtomPortType port = (TestMtomPortType) tms.getPort(PORT_NAME,
TestMtomPortType.class);
Binding binding = ((BindingProvider)port).getBinding();
((SOAPBinding)binding).setMTOMEnabled(true);
URL fileURL = client.getClass().getClassLoader().getResource("me.bmp");
File aFile = new File(new URI(fileURL.toString()));
long fileSize = aFile.length();
System.out.println("Filesize of me.bmp image is: " + fileSize);
System.out.println("\nStarting MTOM Test using basic byte array:");
Holder<String> name = new Holder<String>("Sam");
Holder<byte[]> param = new Holder<byte[]>();
param.value = new byte[(int) fileSize];
InputStream in = fileURL.openStream();
int len = in.read(param.value);
while (len < fileSize) {
len += in.read(param.value, len, (int)(fileSize - len));
}
System.out.println("--Sending the me.bmp image to server");
System.out.println("--Sending a name value of " + name.value);
port.testByteArray(name, param);
System.out.println("--Received byte[] back from server, returned size is "
+ param.value.length);
System.out.println("--Returned string value is " + name.value);
Image image = ImageIO.read(new ByteArrayInputStream(param.value));
System.out.println("--Loaded image from byte[] successfully, hashCode="
+ image.hashCode());
System.out.println("Successfully ran MTOM/byte array demo");
System.out.println("\nStarting MTOM test with DataHandler:");
name.value = "Bob";
Holder<DataHandler> handler = new Holder<DataHandler>();
handler.value = new DataHandler(fileURL);
System.out.println("--Sending the me.bmp image to server");
System.out.println("--Sending a name value of " + name.value);
port.testDataHandler(name, handler);
InputStream mtomIn = handler.value.getInputStream();
fileSize = 0;
for (int i = mtomIn.read(); i != -1; i = mtomIn.read()) {
fileSize++;