You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by th...@apache.org on 2005/07/26 14:43:15 UTC

svn commit: r225292 - in /webservices/axis/trunk/java/modules: core/src/org/apache/axis2/transport/http/ samples/src/sample/mtom/interop/ samples/src/sample/mtom/interop/client/ samples/src/sample/mtom/interop/service/ samples/src/sample/mtom/interop/s...

Author: thilina
Date: Tue Jul 26 05:42:45 2005
New Revision: 225292

URL: http://svn.apache.org/viewcvs?rev=225292&view=rev
Log:
Commiting the interop service and some other changes due to addition of utils package to o.a.a2.attachements

Added:
    webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/
    webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/
    webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClient.java   (with props)
    webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClientModel.java   (with props)
    webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/UserInterface.java   (with props)
    webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/
    webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/META-INF/
    webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/META-INF/service.xml   (with props)
    webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/interopService.java
Modified:
    webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis2/mtom/EchoRawMTOMCommonsChunkingTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis2/mtom/EchoRawMTOMTest.java
    webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java
    webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java?rev=225292&r1=225291&r2=225292&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis2/transport/http/HTTPTransportUtils.java Tue Jul 26 05:42:45 2005
@@ -227,7 +227,7 @@
         /*
          * put a reference to Attachments in to the message context
          */
-        msgContext.setProperty("Attachments", mimeHelper);
+        msgContext.setProperty(MIMEHelper.ATTACHMENTS, mimeHelper);
         if (mimeHelper.getAttachmentSpecType().equals(MIMEHelper.MTOM_TYPE)) {
             /*
              * Creates the MTOM specific MTOMStAXSOAPModelBuilder

Added: webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClient.java?rev=225292&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClient.java (added)
+++ webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClient.java Tue Jul 26 05:42:45 2005
@@ -0,0 +1,39 @@
+ /*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package sample.mtom.interop.client;
+
+import javax.swing.*;
+import java.awt.*;
+
+public class InteropClient extends JFrame {
+
+    public InteropClient(String title) throws HeadlessException {
+        super(title);
+
+        this.getContentPane().add(new UserInterface(this));
+        this.show();
+    }
+
+    public static void main(String[] args) {
+        InteropClient form = new InteropClient("Interop Client");
+        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
+        form.setLocation(screenSize.width / 4 - 20,
+                screenSize.height / 4);
+        form.setSize(screenSize.width / 2 - 80, screenSize.height / 2);
+        form.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+        form.show();
+    }
+}

Propchange: webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClient.java
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClientModel.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClientModel.java?rev=225292&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClientModel.java (added)
+++ webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClientModel.java Tue Jul 26 05:42:45 2005
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package sample.mtom.interop.client;
+
+import java.io.File;
+
+import javax.activation.DataHandler;
+import javax.activation.FileDataSource;
+import javax.xml.namespace.QName;
+
+import org.apache.axis2.Constants;
+import org.apache.axis2.addressing.AddressingConstants;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.clientapi.Call;
+import org.apache.axis2.om.OMAbstractFactory;
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMFactory;
+import org.apache.axis2.om.OMNamespace;
+import org.apache.axis2.om.OMText;
+
+
+public class InteropClientModel {
+    private File inputFile = null;
+
+    private EndpointReference targetEPR = new EndpointReference(
+            AddressingConstants.WSA_TO,
+            "http://127.0.0.1:8080/axis2/services/interopService");
+
+    private QName operationName = new QName("mtomSample");
+
+
+    public InteropClientModel() {
+
+    }
+
+    private OMElement createEnvelope(String fileName) throws Exception {
+
+        DataHandler expectedDH;
+        OMFactory fac = OMAbstractFactory.getOMFactory();
+        OMNamespace omNs = fac.createOMNamespace("http://example.org/mtom/data", "x");
+        OMElement data = fac.createOMElement("Data", omNs);
+        
+        File dataFile = new File(fileName);
+        FileDataSource dataSource = new FileDataSource(dataFile);
+        expectedDH = new DataHandler(dataSource);
+        OMText textData = fac.createText(expectedDH, true);
+        data.addChild(textData);
+        return data;
+    }
+
+    public OMElement testEchoXMLSync(String fileName) throws Exception {
+
+        OMElement payload = createEnvelope(fileName);
+        Call call = new Call();
+        call.setTo(targetEPR);
+        // enabling MTOM in the client side
+        call.set(Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE);
+        call.setTransportInfo(Constants.TRANSPORT_COMMONS_HTTP,
+                Constants.TRANSPORT_HTTP, false);
+        OMElement result = (OMElement) call.invokeBlocking(operationName
+                .getLocalPart(),
+                payload);
+        return result;
+    }
+
+    public void setTargetEPR(String targetEPR) {
+        this.targetEPR = new EndpointReference(AddressingConstants.WSA_TO,
+                targetEPR);
+    }
+}

Propchange: webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/InteropClientModel.java
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/UserInterface.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/UserInterface.java?rev=225292&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/UserInterface.java (added)
+++ webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/UserInterface.java Tue Jul 26 05:42:45 2005
@@ -0,0 +1,160 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package sample.mtom.interop.client;
+
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+
+import javax.swing.JButton;
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+
+import org.apache.axis2.om.OMElement;
+
+public class UserInterface extends JPanel implements ActionListener {
+
+    JButton browse;
+
+    JButton send;
+
+    JTextArea jTextArea;
+
+    JFileChooser jFileChooser;
+
+    File file = null;
+
+    JTextField EPR;
+
+    JTextField fileName;
+
+    JTextField fileFeild;
+
+    JLabel label;
+
+    JLabel savefile;
+
+    private String desiredFileName = null;
+
+    private String EPRName = null;
+
+    private InteropClient parent;
+
+    public UserInterface(InteropClient parent) {
+        this.parent = parent;
+        EPR = new JTextField();
+        fileFeild = new JTextField();
+        fileName = new JTextField();
+        label = new JLabel("END Point:");
+        savefile = new JLabel("Desired File Name:");
+        jTextArea = new JTextArea(5, 5);
+        jTextArea.setPreferredSize(new Dimension(200, 100));
+
+        jFileChooser = new JFileChooser();
+        jFileChooser.setName("File Chooser");
+        this.browse = new JButton("Browse");
+        this.send = new JButton("Send The File");
+        fileFeild.setBounds(20, 20, 270, 20);
+        browse.setBounds(300, 20, 120, 20);
+        savefile.setBounds(20, 60, 200, 20);
+        fileName.setBounds(150, 60, 270, 20);
+
+        label.setBounds(20, 90, 200, 20);
+        EPR.setBounds(150, 90, 270, 20);
+
+        EPR.setText("http://127.0.0.1:8080/axis2/services/interopService");
+
+        send.setBounds(140, 120, 150, 20);
+
+        jTextArea.setBounds(20, 150, 400, 180);
+
+        browse.addActionListener(this);
+        send.addActionListener(this);
+
+        Container pane = parent.getContentPane();
+        this.setLayout(null);
+
+        pane.add(browse);
+
+        pane.add(send);
+        pane.add(jTextArea);
+        pane.add(EPR);
+        pane.add(fileFeild);
+        pane.add(label);
+        pane.add(savefile);
+        pane.add(fileName);
+
+    }
+
+    public void actionPerformed(ActionEvent e) {
+
+        if (e.getSource() == browse) {
+
+            int returnVal = jFileChooser.showDialog(this,
+                    "Choose the File to Send");
+
+            if (returnVal == JFileChooser.APPROVE_OPTION) {
+                file = jFileChooser.getSelectedFile();
+                if (file.getAbsolutePath() != null) {
+                    fileFeild.setText(file.getAbsolutePath());
+                }
+            } 
+            jFileChooser.setSelectedFile(null);
+        }
+        if (e.getSource() == send) {
+            if (fileName.getText() != null) {
+                desiredFileName = fileName.getText();
+            }
+            if (file == null) {
+                JOptionPane.showMessageDialog(parent,
+                        "Attachments should not be null.", " error",
+                        JOptionPane.ERROR_MESSAGE);
+
+            } else if (("").equals(EPR.getText())) {
+                JOptionPane.showMessageDialog(parent, "END Point null",
+                        " error", JOptionPane.ERROR_MESSAGE);
+
+            } else {
+                EPRName = EPR.getText();
+                this.send(desiredFileName);
+            }
+
+        }
+    }
+
+    public void send(String fileName) {
+
+        InteropClientModel mtomTest = new InteropClientModel();
+
+        try {
+            mtomTest.setTargetEPR(EPRName);
+            OMElement result = (OMElement) mtomTest.testEchoXMLSync(fileName);
+//            jTextArea.setText(result.toString());
+//            jTextArea.append("\n"+result.getText());
+//            JOptionPane.showMessageDialog(parent, "Sent & saved Image Succesfully",
+//                    " Success", JOptionPane.PLAIN_MESSAGE);
+        } catch (Exception e) {
+            e.printStackTrace(); 
+        }
+
+    }
+}
\ No newline at end of file

Propchange: webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/client/UserInterface.java
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/META-INF/service.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/META-INF/service.xml?rev=225292&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/META-INF/service.xml (added)
+++ webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/META-INF/service.xml Tue Jul 26 05:42:45 2005
@@ -0,0 +1,9 @@
+<service name="MTOMService">
+    <description>
+        This is a sample Web Service with two operations,echo and ping.
+    </description>
+    <parameter name="ServiceClass" locked="xsd:false">sample.mtom.interop.service.interopService</parameter>
+    <operation name="interopService">
+        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
+    </operation>
+</service>
\ No newline at end of file

Propchange: webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/META-INF/service.xml
------------------------------------------------------------------------------
    svn:executable = *

Added: webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/interopService.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/interopService.java?rev=225292&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/interopService.java (added)
+++ webservices/axis/trunk/java/modules/samples/src/sample/mtom/interop/service/interopService.java Tue Jul 26 05:42:45 2005
@@ -0,0 +1,45 @@
+/*
+ * Copyright  2004 The Apache Software Foundation.
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+package sample.mtom.interop.service;
+
+import java.util.Iterator;
+
+import org.apache.axis2.om.OMElement;
+import org.apache.axis2.om.OMText;
+
+/**
+ * @author <a href="mailto:thilina@opensource.lk"> Thilina Gunarathne </a>
+ */
+public class interopService {
+    public OMElement mtomSample(OMElement element) throws Exception {
+        if (element.getLocalName().equalsIgnoreCase("Data")
+                && element.getNamespace().getName().equalsIgnoreCase(
+                        "http://example.org/mtom/data")) {
+                OMText binaryNode = (OMText)element.getFirstChild();
+                binaryNode.setOptimize(!binaryNode.isOptimized());
+            }
+         else if (element.getLocalName().equalsIgnoreCase("EchoTest") && element.getNamespace().getName().equalsIgnoreCase("http://example.org/mtom/data")) {
+            Iterator childrenIterator = element.getChildren();
+            while (childrenIterator.hasNext()) {
+                OMElement dataElement = (OMElement) childrenIterator.next();
+                OMText binaryNode = (OMText)dataElement.getFirstChild();
+                binaryNode.setOptimize(!binaryNode.isOptimized());
+            }
+        }
+        return element;
+    }
+}
\ No newline at end of file

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis2/mtom/EchoRawMTOMCommonsChunkingTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis2/mtom/EchoRawMTOMCommonsChunkingTest.java?rev=225292&r1=225291&r2=225292&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis2/mtom/EchoRawMTOMCommonsChunkingTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis2/mtom/EchoRawMTOMCommonsChunkingTest.java Tue Jul 26 05:42:45 2005
@@ -30,8 +30,8 @@
 import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.attachments.ImageDataSource;
-import org.apache.axis2.attachments.JDK13IO;
+import org.apache.axis2.attachments.utils.ImageDataSource;
+import org.apache.axis2.attachments.utils.JDK13IO;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.ServiceContext;
 import org.apache.axis2.description.ServiceDescription;

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis2/mtom/EchoRawMTOMTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis2/mtom/EchoRawMTOMTest.java?rev=225292&r1=225291&r2=225292&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis2/mtom/EchoRawMTOMTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis2/mtom/EchoRawMTOMTest.java Tue Jul 26 05:42:45 2005
@@ -24,8 +24,8 @@
 import org.apache.axis2.Constants;
 import org.apache.axis2.addressing.AddressingConstants;
 import org.apache.axis2.addressing.EndpointReference;
-import org.apache.axis2.attachments.ImageDataSource;
-import org.apache.axis2.attachments.JDK13IO;
+import org.apache.axis2.attachments.utils.ImageDataSource;
+import org.apache.axis2.attachments.utils.JDK13IO;
 import org.apache.axis2.context.MessageContext;
 import org.apache.axis2.context.ServiceContext;
 import org.apache.axis2.description.ServiceDescription;

Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java?rev=225292&r1=225291&r2=225292&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java Tue Jul 26 05:42:45 2005
@@ -26,7 +26,7 @@
 
 import org.apache.axis2.attachments.Base64;
 import org.apache.axis2.attachments.ByteArrayDataSource;
-import org.apache.axis2.attachments.IOUtils;
+import org.apache.axis2.attachments.utils.IOUtils;
 import org.apache.axis2.om.OMAttribute;
 import org.apache.axis2.om.OMConstants;
 import org.apache.axis2.om.OMElement;

Modified: webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java?rev=225292&r1=225291&r2=225292&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java (original)
+++ webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java Tue Jul 26 05:42:45 2005
@@ -16,6 +16,8 @@
  */
 package org.apache.axis2.attachments;
 
+import org.apache.axis2.attachments.utils.ImageDataSource;
+import org.apache.axis2.attachments.utils.JDK13IO;
 import org.apache.axis2.om.AbstractTestCase;
 import org.apache.axis2.om.OMElement;
 import org.apache.axis2.om.impl.OMOutputImpl;