use of org.apache.cxf.mime.TestMtomPortType in project cxf by apache.
the class Client method main.
public static void main(String[] args) throws Exception {
if (args.length == 0) {
System.out.println("Please specify the WSDL file.");
System.exit(1);
}
URL wsdlURL;
File wsdlFile = new File(args[0]);
if (wsdlFile.exists()) {
wsdlURL = wsdlFile.toURI().toURL();
} else {
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.class.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++;
}
System.out.println("--Received DataHandler back from server, " + "returned size is " + fileSize);
System.out.println("--Returned string value is " + name.value);
System.out.println("Successfully ran MTOM/DataHandler demo");
System.exit(0);
}
Aggregations