| | |
Include Base64 encoded data into XML
Thread Solved
![]() |
•
•
Join Date: Sep 2008
Posts: 2
Reputation:
Solved Threads: 0
Hello,
I have to base64 encode a large quantity of data and include it in the XML response of the webservice.The WSDL define the XML element in the following way:
I have implemented it but I have some doubts. I'm not sure it's the better way for doing it.
What about performance if I have an attachment of 1MB? I'm specially worried about the "new String()" operation.
Any suggestion will be appreciated. Thanks,
Alessandro
I have to base64 encode a large quantity of data and include it in the XML response of the webservice.The WSDL define the XML element in the following way:
Java Syntax (Toggle Plain Text)
<xs:complexType name="MessagePart"> <xs:simpleContent> <xs:extension base="xs:base64Binary"> <xs:attribute name="contentType" type="xs:string" default="text/plain" use="optional"/> <xs:attribute name="length" type="xs:int" default="0" use="optional"/> <xs:attribute name="offset" type="xs:int" default="0" use="optional"/> </xs:extension> </xs:simpleContent> </xs:complexType>
I have implemented it but I have some doubts. I'm not sure it's the better way for doing it.
Java Syntax (Toggle Plain Text)
import org.apache.commons.codec.binary.Base64; ... OMElement part = factory.createOMElement("part", emptyNs); part.addAttribute("length", this.attachment.getLength(), null); byte[] value = Base64.encodeBase64(this.attachment.getValue()); part.setText( new String(value) );
What about performance if I have an attachment of 1MB? I'm specially worried about the "new String()" operation.
Any suggestion will be appreciated. Thanks,
Alessandro
•
•
Join Date: Sep 2008
Posts: 2
Reputation:
Solved Threads: 0
In fact I'm encoding binary data. Actually, I have changed it in the following way.
Alessandro
Java Syntax (Toggle Plain Text)
import com.sun.xml.rpc.encoding.simpletype.XSDBase64BinaryEncoder; ... OMElement part = factory.createOMElement("part", emptyNs); part.addAttribute("length", "" + this.attachment.getLength() + "",null); part.setText(XSDBase64BinaryEncoder.getInstance().objectToString( this.attachment.get_value() , null ));
Alessandro
![]() |
Other Threads in the Java Forum
- Previous Thread: Need Help on calling classes
- Next Thread: Guys I Need help about explaining the code of this PEMDAS calculator.
| Thread Tools | Search this Thread |
-xlint actionlistener add android applet application array automation bank bi binary blackberry block bluetooth character class client code compile compiler component consumer database desktop developmenthelp eclipse equation error event fractal ftp functiontesting game gameprogramming givemetehcodez graphics gui health html hyper idea image infinite int j2me j2seprojects java javac javaee javame javaprojects jetbrains jni jpanel jtable julia learningresources lego linked linux mac main method mobile myregfun netbeans notdisplaying number online pearl printf problem program qt researchinmotion rotatetext rsa scanner screen server set singleton sms sort spamblocker sql string swing system textfields thread threads time title tree tutorial-sample update variablebinding windows xor






