Author: ffang
Date: Tue Jun 12 02:08:06 2007
New Revision: 546430

URL: http://svn.apache.org/viewvc?view=rev&rev=546430
Log:
[CXF-700] MTOM sample doesn't show how mtom work

Modified:
    
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/src/demo/mtom/client/Client.java
    
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/src/demo/mtom/server/TestMtomImpl.java
    
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/wsdl/mtom_xop.wsdl

Modified: 
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/src/demo/mtom/client/Client.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/mtom/src/demo/mtom/client/Client.java?view=diff&rev=546430&r1=546429&r2=546430
==============================================================================
--- 
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/src/demo/mtom/client/Client.java
 (original)
+++ 
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/src/demo/mtom/client/Client.java
 Tue Jun 12 02:08:06 2007
@@ -26,8 +26,9 @@
 import java.io.InputStream;
 import java.net.URL;
 
+import javax.activation.DataHandler;
 import javax.imageio.ImageIO;
-
+import javax.mail.util.ByteArrayDataSource;
 import javax.xml.namespace.QName;
 import javax.xml.ws.Binding;
 import javax.xml.ws.BindingProvider;
@@ -76,7 +77,7 @@
         }
         Holder<byte[]> param = new Holder<byte[]>();
         param.value = new byte[(int) fileSize];
-        System.out.println("Start test the XML-binary Optimized Packaging!");
+        System.out.println("Start test without Mtom enable!");
         System.out.println("Sending out the me.bmp Image content to server, 
data size is " + fileSize);
 
         InputStream in = client.getClass().getResourceAsStream("me.bmp");
@@ -88,7 +89,24 @@
         Image image = ImageIO.read(new ByteArrayInputStream(param.value));
         System.out.println("build image with the returned byte[] back from 
server successfully, hashCode="
                 + image.hashCode());
-        System.out.println("Successfully run demo mtom/xop");
+        System.out.println("Successfully run demo without mtom enable");
+
+        System.out.println("Start test with Mtom enable!");        
+        System.out.println("Sending out the me.bmp Image content to server, 
data size is " + fileSize);
+        Holder<DataHandler> handler = new Holder<DataHandler>();
+        byte[] data = new byte[(int) fileSize];
+        client.getClass().getResourceAsStream("me.bmp").read(data);
+        handler.value = new DataHandler(new ByteArrayDataSource(data, 
"application/octet-stream"));
+        port.testMtom(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, the size is 
" + fileSize);
+        System.out.println("Successfully run demo with mtom enable");
         System.exit(0);
     }
 

Modified: 
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/src/demo/mtom/server/TestMtomImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/mtom/src/demo/mtom/server/TestMtomImpl.java?view=diff&rev=546430&r1=546429&r2=546430
==============================================================================
--- 
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/src/demo/mtom/server/TestMtomImpl.java
 (original)
+++ 
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/src/demo/mtom/server/TestMtomImpl.java
 Tue Jun 12 02:08:06 2007
@@ -18,7 +18,9 @@
  */
 
 package demo.mtom.server;
+import java.io.InputStream;
 
+import javax.activation.DataHandler;
 import javax.jws.WebService;
 import javax.xml.ws.Holder;
 
@@ -37,5 +39,18 @@
         System.out.println("The image holder data length is " + 
attachinfo.value.length);        
         name.value = "return detail + " + name.value;        
     }
+
+    public void testMtom(Holder<String> name, Holder<DataHandler> attachinfo) {
+        try {
+            System.out.println("Received image holder data with mtom enable 
from client");
+            InputStream mtomIn = attachinfo.value.getInputStream();
+            long fileSize = 0;
+            System.out.println("The image holder data length is " + 
mtomIn.available());
+            name.value = "return detail + " + name.value;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
 
 }

Modified: 
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/wsdl/mtom_xop.wsdl
URL: 
http://svn.apache.org/viewvc/incubator/cxf/trunk/distribution/src/main/release/samples/mtom/wsdl/mtom_xop.wsdl?view=diff&rev=546430&r1=546429&r2=546430
==============================================================================
--- 
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/wsdl/mtom_xop.wsdl
 (original)
+++ 
incubator/cxf/trunk/distribution/src/main/release/samples/mtom/wsdl/mtom_xop.wsdl
 Tue Jun 12 02:08:06 2007
@@ -22,7 +22,9 @@
 <wsdl:definitions name="SOAPBuilders-mime-cr-test" 
xmlns:types="http://cxf.apache.org/mime/types";
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; 
xmlns:tns="http://cxf.apache.org/mime";
-    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
targetNamespace="http://cxf.apache.org/mime";>
+    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; 
+    xmlns:xmime="http://www.w3.org/2005/05/xmlmime";    
+    targetNamespace="http://cxf.apache.org/mime";>
 
     <wsdl:types>
         <schema xmlns="http://www.w3.org/2001/XMLSchema"; 
targetNamespace="http://cxf.apache.org/mime/types";
@@ -30,11 +32,20 @@
             <complexType name="XopType">
                 <sequence>
                     <element name="name" type="xsd:string" />
-                    <element name="attachinfo" type="xsd:base64Binary" />
+                    <element name="attachinfo" type="xsd:base64Binary"/>
                 </sequence>
             </complexType>
             <element name="testXop" type="types:XopType" />
             <element name="testXopResponse" type="types:XopType" />
+            
+            <complexType name="MtomType">
+                <sequence>
+                    <element name="name" type="xsd:string" />
+                    <element name="attachinfo" type="xsd:base64Binary" 
xmime:expectedContentTypes="application/octet-stream"/>
+                </sequence>
+            </complexType>
+            <element name="testMtom" type="types:MtomType" />
+            <element name="testMtomResponse" type="types:MtomType" />
         </schema>
 
     </wsdl:types>
@@ -49,6 +60,15 @@
     </wsdl:message>
 
 
+    <wsdl:message name="testMtomIn">
+        <wsdl:part name="data" element="types:testMtom" />
+    </wsdl:message>
+
+    <wsdl:message name="testMtomOut">
+        <wsdl:part name="data" element="types:testMtomResponse" />
+    </wsdl:message>
+
+
     <wsdl:portType name="TestMtom">
 
         <wsdl:operation name="testXop">
@@ -56,12 +76,26 @@
             <wsdl:output message="tns:testXopOut" />
         </wsdl:operation>
 
+        <wsdl:operation name="testMtom">
+            <wsdl:input message="tns:testMtomIn" />
+            <wsdl:output message="tns:testMtomOut" />
+        </wsdl:operation>
     </wsdl:portType>
 
     <wsdl:binding name="TestMtomBinding" type="tns:TestMtom">
         <soap:binding style="document" 
transport="http://schemas.xmlsoap.org/soap/http"; />
 
         <wsdl:operation name="testXop">
+            <soap:operation soapAction="" />
+            <wsdl:input>
+                <soap:body use="literal" />
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal" />
+            </wsdl:output>
+        </wsdl:operation>
+
+        <wsdl:operation name="testMtom">
             <soap:operation soapAction="" />
             <wsdl:input>
                 <soap:body use="literal" />


Reply via email to