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/03 14:38:19 UTC
svn commit: r208916 - in /webservices/axis/trunk/java/modules/xml:
src/org/apache/axis2/attachments/ src/org/apache/axis2/om/
src/org/apache/axis2/om/impl/llom/ src/org/apache/axis2/om/impl/llom/mtom/
test/org/apache/axis2/attachments/
Author: thilina
Date: Sun Jul 3 05:38:18 2005
New Revision: 208916
URL: http://svn.apache.org/viewcvs?rev=208916&view=rev
Log:
Some changes
Modified:
webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/attachments/MIMEHelper.java
webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/MIMEOutputUtils.java
webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/OMTextImpl.java
webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/mtom/MTOMStAXSOAPModelBuilder.java
webservices/axis/trunk/java/modules/xml/test/org/apache/axis2/attachments/ImageSampleTest.java
Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/attachments/MIMEHelper.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/attachments/MIMEHelper.java?rev=208916&r1=208915&r2=208916&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/attachments/MIMEHelper.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/attachments/MIMEHelper.java Sun Jul 3 05:38:18 2005
@@ -84,6 +84,8 @@
* <code>partIndex</code>- Number of Mime parts parsed
*/
int partIndex = 0;
+
+ String firstPartId=null;
boolean fileCacheEnable = false;
@@ -172,10 +174,21 @@
*/
public InputStream getSOAPPartInputStream() throws OMException {
String rootContentID = contentType.getParameter("start");
+ // to handle the Start parameter not mentioned situation
+ if (rootContentID==null)
+ {
+ if (partIndex==0)
+ {
+ getNextPart();
+ }
+ rootContentID=firstPartId;
+ }
+ else
+ {
rootContentID.trim();
rootContentID = rootContentID
.substring(1, (rootContentID.length() - 1));
-
+ }
DataHandler dh;
try {
dh = getDataHandler(rootContentID);
@@ -246,20 +259,9 @@
private MimeBodyPart getMimeBodyPart() throws OMException {
MimeBodyPart mimeBodyPart = null;
- //String Line = pushbackInStream.readLine();
MimeBodyPartInputStream partStream;
-// try {
- //if (pushbackInStream.available() > 0) {
partStream = new MimeBodyPartInputStream(pushbackInStream,
boundary);
- //} else {
- // throw new OMException(
- // "Attachment not found. End of Stream reached");
- //}
-// } catch (IOException e1) {
-// throw new OMException("Attachement not found. Problem with Stream");
-// }
-
try {
mimeBodyPart = new MimeBodyPart(partStream);
} catch (MessagingException e) {
@@ -295,6 +297,16 @@
String partContentID;
try {
partContentID = nextMimeBodyPart.getContentID();
+ if (partContentID==null & partIndex==1)
+ {
+ bodyPartsMap.put("firstPart", nextMimeBodyPart);
+ firstPartId = "firstPart";
+ return nextMimeBodyPart;
+ }
+ else if (partIndex==1)
+ {
+ firstPartId = partContentID;
+ }
if (fileCacheEnable)
{
PartOnFile part = new PartOnFile(nextMimeBodyPart,partContentID,attachmentRepoDir);
Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/MIMEOutputUtils.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/MIMEOutputUtils.java?rev=208916&r1=208915&r2=208916&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/MIMEOutputUtils.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/MIMEOutputUtils.java Sun Jul 3 05:38:18 2005
@@ -32,7 +32,7 @@
private static byte[] CRLF = { 13, 10 };
- static String SOAP_PART_CONTENT_ID = "<SOAPPart>";
+ static String SOAP_PART_CONTENT_ID = "<http://apache.org/soappart>";
public static void complete(OutputStream outStream,
OutputStream bufferedSoapOutStream, LinkedList binaryNodeList,
@@ -44,7 +44,10 @@
"text/xml");
MimeBodyPart rootMimeBodyPart = new MimeBodyPart();
rootMimeBodyPart.setDataHandler(dh);
- rootMimeBodyPart.addHeader("Content-Type", "application/xop+xml");
+ ContentType partContentType = new ContentType("application/xop+xml");
+ partContentType.setParameter("charset","UTF-8");
+ partContentType.setParameter("type","application/soap+xml");
+ rootMimeBodyPart.addHeader("Content-Type",partContentType.toString() );
rootMimeBodyPart.addHeader("Content-Transfer-Encoding", "8bit");
rootMimeBodyPart.addHeader("Content-ID", SOAP_PART_CONTENT_ID);
@@ -58,10 +61,9 @@
}
finishWritingMime(outStream);
} catch (IOException e) {
- throw new OMException("Problem with the OutputStream."
- + e.toString());
+ throw new OMException("Problem with the OutputStream.",e);
} catch (MessagingException e) {
- throw new OMException("Problem writing Mime Parts." + e.toString());
+ throw new OMException("Problem writing Mime Parts." ,e);
}
}
@@ -130,7 +132,7 @@
contentType.setParameter("type", "application/xop+xml");
//TODO theres something called action that can be set with
// following. May be SOAPAction. Better check.
- contentType.setParameter("startinfo", "application/xop+xml");
+ contentType.setParameter("start-info", "application/soap+xml");
return contentType.toString();
}
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=208916&r1=208915&r2=208916&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 Sun Jul 3 05:38:18 2005
@@ -351,7 +351,7 @@
{
// We can use a UUID, taken using Apache commons id project.
// TODO change to UUID
- this.contentID = String.valueOf(rnd.nextLong());
+ this.contentID = "2"+String.valueOf(rnd.nextLong())+"@schemas.xmlsoap.org";
}
Modified: webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/mtom/MTOMStAXSOAPModelBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/mtom/MTOMStAXSOAPModelBuilder.java?rev=208916&r1=208915&r2=208916&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/mtom/MTOMStAXSOAPModelBuilder.java (original)
+++ webservices/axis/trunk/java/modules/xml/src/org/apache/axis2/om/impl/llom/mtom/MTOMStAXSOAPModelBuilder.java Sun Jul 3 05:38:18 2005
@@ -94,15 +94,18 @@
"Href attribute not found in XOP:Include element");
}
- if (lastNode.isComplete()) {
- node = new OMTextImpl(contentID, (OMElement) lastNode.getParent(), this);
- lastNode.setNextSibling(node);
- node.setPreviousSibling(lastNode);
- } else {
+ // This cannot happen. XOP:Include is always the only child of an parent element
+ // cause it is same as having some text
+// if (lastNode.isComplete()) {
+// node = new OMTextImpl(contentID, (OMElement) lastNode.getParent(), this);
+// lastNode.setNextSibling(node);
+// node.setPreviousSibling(lastNode);
+ //} else {
OMElement e = (OMElement) lastNode;
node = new OMTextImpl(contentID, (OMElement) lastNode, this);
e.setFirstChild(node);
- }
+ node.setComplete(true);
+ //}
return node;
} else {
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=208916&r1=208915&r2=208916&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 Sun Jul 3 05:38:18 2005
@@ -16,6 +16,18 @@
*/
package org.apache.axis2.attachments;
+import java.awt.Image;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import javax.activation.DataHandler;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamReader;
+
import org.apache.axis2.om.AbstractTestCase;
import org.apache.axis2.om.OMElement;
import org.apache.axis2.om.OMOutput;
@@ -25,12 +37,6 @@
import org.apache.axis2.om.impl.llom.OMTextImpl;
import org.apache.axis2.om.impl.llom.mtom.MTOMStAXSOAPModelBuilder;
-import javax.activation.DataHandler;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-import java.awt.*;
-import java.io.*;
-
/**
* @author <a href="mailto:thilina@opensource.lk">Thilina Gunarathne </a>
*/
@@ -67,7 +73,14 @@
String contentTypeString = "multipart/Related; type=\"application/xop+xml\";start=\"<SOAPPart>\"; boundary=\"----=_AxIs2_Def_boundary_=42214532\"";
-
+ /*
+ * @see TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+
+ }
+
public void testImageSampleSerialize() throws Exception {
outMTOMFile = getTestResourceFile(outFileName);
@@ -113,15 +126,8 @@
.getSOAPPartInputStream())));
builder = new MTOMStAXSOAPModelBuilder(reader, mimeHelper);
OMElement root = (OMElement) builder.getDocumentElement();
- // System.out.println(root.getLocalName() + " : "
- // + root.getNamespaceName());
OMElement body = (OMElement) root.getFirstChild();
- // System.out.println(body.getLocalName() + " : "
- // + body.getNamespaceName());
OMElement data = (OMElement) body.getFirstChild();
- // System.out.println(data.getLocalName() + " : "
- // + data.getNamespaceName());
-
OMText blob = (OMText) data.getFirstChild();
/*
* Following is the procedure the user has to follow to read objects in
@@ -137,9 +143,7 @@
FileOutputStream imageOutStream = new FileOutputStream(
getTestResourceFile(imageOutFileName));
new JDK13IO().saveImage("image/jpeg", actualObject, imageOutStream);
-
- System.out.println(data.getLocalName() + ":-\t" + actualObject);
-
+
}
}