您的位置:首页 > 其它

Axis2: 复杂数据类型传输

2015-04-28 23:36 423 查看
Axis2: 复杂数据类型传输

1.开发一个web services

(1)新建一个java project,加入axis2-1.4.1-bin\axis2-1.4.1\lib的jar包,目录结构如下:






IDataForm.java

package service;

public interface IDataForm {
public String getName();
}


DataForm.java

package service;

public class DataForm implements IDataForm{

@Override
public String getName() {
return "超人";
}
}


MyService.java

public class MyService {
public IDataForm getMsg(){
return new DataForm();
}

public boolean uploadWithByte(byte[] buffer,String fileName){
try{
String dir = "d:\\stub\\";
File f = new File(dir);
if(!f.exists()){
f.mkdir();
}
FileOutputStream fos = new FileOutputStream(dir+fileName);
fos.write(buffer);
fos.close();
}catch(Exception e){
e.printStackTrace();
}
return true;
}

public boolean uploadWithDataHandler(DataHandler dataHandler,String fileName){
FileOutputStream fos = null;
try{
String dir = "d:\\stub\\";
File f = new File(dir);
if(!f.exists()){
f.mkdir();
}
fos = new FileOutputStream(dir+fileName);
writeInputStreamToFile(dataHandler.getInputStream(),fos);
fos.close();
}catch(Exception e){
e.printStackTrace();
}
return true;
}

private void writeInputStreamToFile(InputStream is, OutputStream os) throws IOException{
int n = 0;
byte [] buffer = new byte[8192];
while((n = is.read(buffer))>0){
os.write(buffer,0,n);
}
}
}


services.xml

<service name="first">
<parameter name="ServiceClass">
service.MyService
</parameter>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</messageReceivers>
</service>


(2)导出,并发布到C:\tomcat\apache-tomcat-7.0.47\webapps\axis2\WEB-INF\services目录:



(3)启动tomcat,并生成stub类

启动台tomcat,并在浏览器上输入:http://localhost:8080/axis2/services/listServices

通过以下命令生成stub类,AXIS2_HOME为在环境变量中配置的axis2的根目录:

%AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/axis2/services/first?wsdl -p client -s -o D:\stub

2.开发一个web services调用client

新建一个java project,将生成的FirstStub.java类拷贝到client包下,目录结构如下:



Test.java

package client;

import java.rmi.RemoteException;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;

public class Test {

public static void main(String[] args) throws RemoteException {
FirstStub stub = new FirstStub();

FirstStub.UploadWithByte uploadWithByte =
new FirstStub.UploadWithByte();
DataHandler dh = new DataHandler(new FileDataSource("C:\\Users\\think\\Desktop\\offer\\test.pdf"));
uploadWithByte.setBuffer(dh);
uploadWithByte.setFileName("aa.pdf");
boolean ret = stub.uploadWithByte(uploadWithByte).local_return;
System.out.println("ret="+ret);
/*
FirstStub.UploadWithDataHandler uploadWithDataHandler = new FirstStub.UploadWithDataHandler();
DataHandler dh = new DataHandler(new FileDataSource("C:\\Users\\think\\Desktop\\offer\\test.pdf"));
uploadWithDataHandler.setDataHandler(dh);
uploadWithDataHandler.setFileName("test.pdf");
boolean ret = stub.uploadWithDataHandler(uploadWithDataHandler).local_return;
System.out.println("ret="+ret);*/
}

}


FirstStub.java

/**
* FirstStub.java
*
* This file was auto-generated from WSDL
* by the Apache Axis2 version: 1.4.1  Built on : Aug 13, 2008 (05:03:35 LKT)
*/
package client;

/*
*  FirstStub java implementation
*/

public class FirstStub extends org.apache.axis2.client.Stub
{
protected org.apache.axis2.description.AxisOperation[] _operations;

//hashmaps to keep the fault mapping
private java.util.HashMap faultExceptionNameMap = new java.util.HashMap();
private java.util.HashMap faultExceptionClassNameMap = new java.util.HashMap();
private java.util.HashMap faultMessageMap = new java.util.HashMap();

private static int counter = 0;

private static synchronized String getUniqueSuffix(){
// reset the counter if it is greater than 99999
if (counter > 99999){
counter = 0;
}
counter = counter + 1;
return Long.toString(System.currentTimeMillis()) + "_" + counter;
}

private void populateAxisService() throws org.apache.axis2.AxisFault {

//creating the Service with a unique name
_service = new org.apache.axis2.description.AxisService("First" + getUniqueSuffix());
addAnonymousOperations();

//creating the operations
org.apache.axis2.description.AxisOperation __operation;

_operations = new org.apache.axis2.description.AxisOperation[3];

__operation = new org.apache.axis2.description.OutInAxisOperation();

__operation.setName(new javax.xml.namespace.QName("http://service", "uploadWithByte"));
_service.addOperation(__operation);

_operations[0]=__operation;

__operation = new org.apache.axis2.description.OutInAxisOperation();

__operation.setName(new javax.xml.namespace.QName("http://service", "getMsg"));
_service.addOperation(__operation);

_operations[1]=__operation;

__operation = new org.apache.axis2.description.OutInAxisOperation();

__operation.setName(new javax.xml.namespace.QName("http://service", "uploadWithDataHandler"));
_service.addOperation(__operation);

_operations[2]=__operation;

}

//populates the faults
private void populateFaults(){

}

/**
*Constructor that takes in a configContext
*/

public FirstStub(org.apache.axis2.context.ConfigurationContext configurationContext,
java.lang.String targetEndpoint)
throws org.apache.axis2.AxisFault {
this(configurationContext,targetEndpoint,false);
}

/**
* Constructor that takes in a configContext  and useseperate listner
*/
public FirstStub(org.apache.axis2.context.ConfigurationContext configurationContext,
java.lang.String targetEndpoint, boolean useSeparateListener)
throws org.apache.axis2.AxisFault {
//To populate AxisService
populateAxisService();
populateFaults();

_serviceClient = new org.apache.axis2.client.ServiceClient(configurationContext,_service);

configurationContext = _serviceClient.getServiceContext().getConfigurationContext();

_serviceClient.getOptions().setTo(new org.apache.axis2.addressing.EndpointReference(
targetEndpoint));
_serviceClient.getOptions().setUseSeparateListener(useSeparateListener);

//Set the soap version
_serviceClient.getOptions().setSoapVersionURI(org.apache.axiom.soap.SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);

}

/**
* Default Constructor
*/
public FirstStub(org.apache.axis2.context.ConfigurationContext configurationContext) throws org.apache.axis2.AxisFault {

this(configurationContext,"http://192.168.0.104:8080/axis2/services/first.firstHttpSoap12Endpoint/" );

}

/**
* Default Constructor
*/
public FirstStub() throws org.apache.axis2.AxisFault {

this("http://192.168.0.104:8080/axis2/services/first.firstHttpSoap12Endpoint/" );

}

/**
* Constructor taking the target endpoint
*/
public FirstStub(java.lang.String targetEndpoint) throws org.apache.axis2.AxisFault {
this(null,targetEndpoint);
}

/**
* Auto generated method signature
*
* @see client.First#uploadWithByte
* @param uploadWithByte

*/

public  client.FirstStub.UploadWithByteResponse uploadWithByte(

client.FirstStub.UploadWithByte uploadWithByte)

throws java.rmi.RemoteException

{
org.apache.axis2.context.MessageContext _messageContext = null;
try{
org.apache.axis2.client.OperationClient _operationClient = _serviceClient.createClient(_operations[0].getName());
_operationClient.getOptions().setAction("urn:uploadWithByte");
_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

addPropertyToOperationClient(_operationClient,org.apache.axis2.description.WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR,"&");

// create a message context
_messageContext = new org.apache.axis2.context.MessageContext();

// create SOAP envelope with that payload
org.apache.axiom.soap.SOAPEnvelope env = null;

env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),
uploadWithByte,
optimizeContent(new javax.xml.namespace.QName("http://service",
"uploadWithByte")));

//adding SOAP soap_headers
_serviceClient.addHeadersToEnvelope(env);
// set the message context with that soap envelope
_messageContext.setEnvelope(env);

// add the message contxt to the operation client
_operationClient.addMessageContext(_messageContext);

//execute the operation client
_operationClient.execute(true);

org.apache.axis2.context.MessageContext _returnMessageContext = _operationClient.getMessageContext(
org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_IN_VALUE);
org.apache.axiom.soap.SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

java.lang.Object object = fromOM(
_returnEnv.getBody().getFirstElement() ,
client.FirstStub.UploadWithByteResponse.class,
getEnvelopeNamespaces(_returnEnv));

return (client.FirstStub.UploadWithByteResponse)object;

}catch(org.apache.axis2.AxisFault f){

org.apache.axiom.om.OMElement faultElt = f.getDetail();
if (faultElt!=null){
if (faultExceptionNameMap.containsKey(faultElt.getQName())){
//make the fault by reflection
try{
java.lang.String exceptionClassName = (java.lang.String)faultExceptionClassNameMap.get(faultElt.getQName());
java.lang.Class exceptionClass = java.lang.Class.forName(exceptionClassName);
java.lang.Exception ex=
(java.lang.Exception) exceptionClass.newInstance();
//message class
java.lang.String messageClassName = (java.lang.String)faultMessageMap.get(faultElt.getQName());
java.lang.Class messageClass = java.lang.Class.forName(messageClassName);
java.lang.Object messageObject = fromOM(faultElt,messageClass,null);
java.lang.reflect.Method m = exceptionClass.getMethod("setFaultMessage",
new java.lang.Class[]{messageClass});
m.invoke(ex,new java.lang.Object[]{messageObject});

throw new java.rmi.RemoteException(ex.getMessage(), ex);
}catch(java.lang.ClassCastException e){
// we cannot intantiate the class - throw the original Axis fault
throw f;
} catch (java.lang.ClassNotFoundException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}catch (java.lang.NoSuchMethodException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
} catch (java.lang.reflect.InvocationTargetException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}  catch (java.lang.IllegalAccessException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}   catch (java.lang.InstantiationException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}
}else{
throw f;
}
}else{
throw f;
}
} finally {
_messageContext.getTransportOut().getSender().cleanup(_messageContext);
}
}

/**
* Auto generated method signature
*
* @see client.First#getMsg
*/

public  client.FirstStub.GetMsgResponse getMsg(

)

throws java.rmi.RemoteException

{
org.apache.axis2.context.MessageContext _messageContext = null;
try{
org.apache.axis2.client.OperationClient _operationClient = _serviceClient.createClient(_operations[1].getName());
_operationClient.getOptions().setAction("urn:getMsg");
_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

addPropertyToOperationClient(_operationClient,org.apache.axis2.description.WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR,"&");

// create a message context
_messageContext = new org.apache.axis2.context.MessageContext();

// create SOAP envelope with that payload
org.apache.axiom.soap.SOAPEnvelope env = null;

//Style is taken to be "document". No input parameters
// according to the WS-Basic profile in this case we have to send an empty soap message
org.apache.axiom.soap.SOAPFactory factory = getFactory(_operationClient.getOptions().getSoapVersionURI());
env = factory.getDefaultEnvelope();

//adding SOAP soap_headers
_serviceClient.addHeadersToEnvelope(env);
// set the message context with that soap envelope
_messageContext.setEnvelope(env);

// add the message contxt to the operation client
_operationClient.addMessageContext(_messageContext);

//execute the operation client
_operationClient.execute(true);

org.apache.axis2.context.MessageContext _returnMessageContext = _operationClient.getMessageContext(
org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_IN_VALUE);
org.apache.axiom.soap.SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

java.lang.Object object = fromOM(
_returnEnv.getBody().getFirstElement() ,
client.FirstStub.GetMsgResponse.class,
getEnvelopeNamespaces(_returnEnv));

return (client.FirstStub.GetMsgResponse)object;

}catch(org.apache.axis2.AxisFault f){

org.apache.axiom.om.OMElement faultElt = f.getDetail();
if (faultElt!=null){
if (faultExceptionNameMap.containsKey(faultElt.getQName())){
//make the fault by reflection
try{
java.lang.String exceptionClassName = (java.lang.String)faultExceptionClassNameMap.get(faultElt.getQName());
java.lang.Class exceptionClass = java.lang.Class.forName(exceptionClassName);
java.lang.Exception ex=
(java.lang.Exception) exceptionClass.newInstance();
//message class
java.lang.String messageClassName = (java.lang.String)faultMessageMap.get(faultElt.getQName());
java.lang.Class messageClass = java.lang.Class.forName(messageClassName);
java.lang.Object messageObject = fromOM(faultElt,messageClass,null);
java.lang.reflect.Method m = exceptionClass.getMethod("setFaultMessage",
new java.lang.Class[]{messageClass});
m.invoke(ex,new java.lang.Object[]{messageObject});

throw new java.rmi.RemoteException(ex.getMessage(), ex);
}catch(java.lang.ClassCastException e){
// we cannot intantiate the class - throw the original Axis fault
throw f;
} catch (java.lang.ClassNotFoundException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}catch (java.lang.NoSuchMethodException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
} catch (java.lang.reflect.InvocationTargetException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}  catch (java.lang.IllegalAccessException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}   catch (java.lang.InstantiationException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}
}else{
throw f;
}
}else{
throw f;
}
} finally {
_messageContext.getTransportOut().getSender().cleanup(_messageContext);
}
}

/**
* Auto generated method signature
*
* @see client.First#uploadWithDataHandler
* @param uploadWithDataHandler

*/

public  client.FirstStub.UploadWithDataHandlerResponse uploadWithDataHandler(

client.FirstStub.UploadWithDataHandler uploadWithDataHandler)

throws java.rmi.RemoteException

{
org.apache.axis2.context.MessageContext _messageContext = null;
try{
org.apache.axis2.client.OperationClient _operationClient = _serviceClient.createClient(_operations[2].getName());
_operationClient.getOptions().setAction("urn:uploadWithDataHandler");
_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);

addPropertyToOperationClient(_operationClient,org.apache.axis2.description.WSDL2Constants.ATTR_WHTTP_QUERY_PARAMETER_SEPARATOR,"&");

// create a message context
_messageContext = new org.apache.axis2.context.MessageContext();

// create SOAP envelope with that payload
org.apache.axiom.soap.SOAPEnvelope env = null;

env = toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),
uploadWithDataHandler,
optimizeContent(new javax.xml.namespace.QName("http://service",
"uploadWithDataHandler")));

//adding SOAP soap_headers
_serviceClient.addHeadersToEnvelope(env);
// set the message context with that soap envelope
_messageContext.setEnvelope(env);

// add the message contxt to the operation client
_operationClient.addMessageContext(_messageContext);

//execute the operation client
_operationClient.execute(true);

org.apache.axis2.context.MessageContext _returnMessageContext = _operationClient.getMessageContext(
org.apache.axis2.wsdl.WSDLConstants.MESSAGE_LABEL_IN_VALUE);
org.apache.axiom.soap.SOAPEnvelope _returnEnv = _returnMessageContext.getEnvelope();

java.lang.Object object = fromOM(
_returnEnv.getBody().getFirstElement() ,
client.FirstStub.UploadWithDataHandlerResponse.class,
getEnvelopeNamespaces(_returnEnv));

return (client.FirstStub.UploadWithDataHandlerResponse)object;

}catch(org.apache.axis2.AxisFault f){

org.apache.axiom.om.OMElement faultElt = f.getDetail();
if (faultElt!=null){
if (faultExceptionNameMap.containsKey(faultElt.getQName())){
//make the fault by reflection
try{
java.lang.String exceptionClassName = (java.lang.String)faultExceptionClassNameMap.get(faultElt.getQName());
java.lang.Class exceptionClass = java.lang.Class.forName(exceptionClassName);
java.lang.Exception ex=
(java.lang.Exception) exceptionClass.newInstance();
//message class
java.lang.String messageClassName = (java.lang.String)faultMessageMap.get(faultElt.getQName());
java.lang.Class messageClass = java.lang.Class.forName(messageClassName);
java.lang.Object messageObject = fromOM(faultElt,messageClass,null);
java.lang.reflect.Method m = exceptionClass.getMethod("setFaultMessage",
new java.lang.Class[]{messageClass});
m.invoke(ex,new java.lang.Object[]{messageObject});

throw new java.rmi.RemoteException(ex.getMessage(), ex);
}catch(java.lang.ClassCastException e){
// we cannot intantiate the class - throw the original Axis fault
throw f;
} catch (java.lang.ClassNotFoundException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}catch (java.lang.NoSuchMethodException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
} catch (java.lang.reflect.InvocationTargetException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}  catch (java.lang.IllegalAccessException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}   catch (java.lang.InstantiationException e) {
// we cannot intantiate the class - throw the original Axis fault
throw f;
}
}else{
throw f;
}
}else{
throw f;
}
} finally {
_messageContext.getTransportOut().getSender().cleanup(_messageContext);
}
}

/**
*  A utility method that copies the namepaces from the SOAPEnvelope
*/
private java.util.Map getEnvelopeNamespaces(org.apache.axiom.soap.SOAPEnvelope env){
java.util.Map returnMap = new java.util.HashMap();
java.util.Iterator namespaceIterator = env.getAllDeclaredNamespaces();
while (namespaceIterator.hasNext()) {
org.apache.axiom.om.OMNamespace ns = (org.apache.axiom.om.OMNamespace) namespaceIterator.next();
returnMap.put(ns.getPrefix(),ns.getNamespaceURI());
}
return returnMap;
}

private javax.xml.namespace.QName[] opNameArray = null;
private boolean optimizeContent(javax.xml.namespace.QName opName) {

if (opNameArray == null) {
return false;
}
for (int i = 0; i < opNameArray.length; i++) {
if (opName.equals(opNameArray[i])) {
return true;
}
}
return false;
}
//http://192.168.0.104:8080/axis2/services/first.firstHttpSoap12Endpoint/
public static class UploadWithByte
implements org.apache.axis2.databinding.ADBBean{

public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
"http://service",
"uploadWithByte",
"ns2");

private static java.lang.String generatePrefix(java.lang.String namespace) {
if(namespace.equals("http://service")){
return "ns2";
}
return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

/**
* field for Buffer
*/

protected javax.activation.DataHandler localBuffer ;

/*  This tracker boolean wil be used to detect whether the user called the set method
*   for this attribute. It will be used to determine whether to include this field
*   in the serialized XML
*/
protected boolean localBufferTracker = false ;

/**
* Auto generated getter method
* @return javax.activation.DataHandler
*/
public  javax.activation.DataHandler getBuffer(){
return localBuffer;
}

/**
* Auto generated setter method
* @param param Buffer
*/
public void setBuffer(javax.activation.DataHandler param){

if (param != null){
//update the setting tracker
localBufferTracker = true;
} else {
localBufferTracker = true;

}

this.localBuffer=param;

}

/**
* field for FileName
*/

protected java.lang.String localFileName ;

/*  This tracker boolean wil be used to detect whether the user called the set method
*   for this attribute. It will be used to determine whether to include this field
*   in the serialized XML
*/
protected boolean localFileNameTracker = false ;

/**
* Auto generated getter method
* @return java.lang.String
*/
public  java.lang.String getFileName(){
return localFileName;
}

/**
* Auto generated setter method
* @param param FileName
*/
public void setFileName(java.lang.String param){

if (param != null){
//update the setting tracker
localFileNameTracker = true;
} else {
localFileNameTracker = true;

}

this.localFileName=param;

}

/**
* isReaderMTOMAware
* @return true if the reader supports MTOM
*/
public static boolean isReaderMTOMAware(javax.xml.stream.XMLStreamReader reader) {
boolean isReaderMTOMAware = false;

try{
isReaderMTOMAware = java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE));
}catch(java.lang.IllegalArgumentException e){
isReaderMTOMAware = false;
}
return isReaderMTOMAware;
}

/**
*
* @param parentQName
* @param factory
* @return org.apache.axiom.om.OMElement
*/
public org.apache.axiom.om.OMElement getOMElement (
final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{

org.apache.axiom.om.OMDataSource dataSource =
new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME){

public void serialize(org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
UploadWithByte.this.serialize(MY_QNAME,factory,xmlWriter);
}
};
return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl(
MY_QNAME,factory,dataSource);

}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
serialize(parentQName,factory,xmlWriter,false);
}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter,
boolean serializeType)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{

java.lang.String prefix = null;
java.lang.String namespace = null;

prefix = parentQName.getPrefix();
namespace = parentQName.getNamespaceURI();

if ((namespace != null) && (namespace.trim().length() > 0)) {
java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
if (writerPrefix != null) {
xmlWriter.writeStartElement(namespace, parentQName.getLocalPart());
} else {
if (prefix == null) {
prefix = generatePrefix(namespace);
}

xmlWriter.writeStartElement(prefix, parentQName.getLocalPart(), namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}
} else {
xmlWriter.writeStartElement(parentQName.getLocalPart());
}

if (serializeType){

java.lang.String namespacePrefix = registerPrefix(xmlWriter,"http://service");
if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
namespacePrefix+":uploadWithByte",
xmlWriter);
} else {
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
"uploadWithByte",
xmlWriter);
}

}
if (localBufferTracker){
namespace = "http://service";
if (! namespace.equals("")) {
prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

xmlWriter.writeStartElement(prefix,"buffer", namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

} else {
xmlWriter.writeStartElement(namespace,"buffer");
}

} else {
xmlWriter.writeStartElement("buffer");
}

if (localBuffer!=null)
{
xmlWriter.writeDataHandler(localBuffer);
}

xmlWriter.writeEndElement();
} if (localFileNameTracker){
namespace = "http://service";
if (! namespace.equals("")) {
prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

xmlWriter.writeStartElement(prefix,"fileName", namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

} else {
xmlWriter.writeStartElement(namespace,"fileName");
}

} else {
xmlWriter.writeStartElement("fileName");
}

if (localFileName==null){
// write the nil attribute

writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);

}else{

xmlWriter.writeCharacters(localFileName);

}

xmlWriter.writeEndElement();
}
xmlWriter.writeEndElement();

}

/**
* Util method to write an attribute with the ns prefix
*/
private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (xmlWriter.getPrefix(namespace) == null) {
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

}

xmlWriter.writeAttribute(namespace,attName,attValue);

}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeAttribute(java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (namespace.equals(""))
{
xmlWriter.writeAttribute(attName,attValue);
}
else
{
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace,attName,attValue);
}
}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

java.lang.String attributeNamespace = qname.getNamespaceURI();
java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
if (attributePrefix == null) {
attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
}
java.lang.String attributeValue;
if (attributePrefix.trim().length() > 0) {
attributeValue = attributePrefix + ":" + qname.getLocalPart();
} else {
attributeValue = qname.getLocalPart();
}

if (namespace.equals("")) {
xmlWriter.writeAttribute(attName, attributeValue);
} else {
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace, attName, attributeValue);
}
}
/**
*  method to handle Qnames
*/

private void writeQName(javax.xml.namespace.QName qname,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
java.lang.String namespaceURI = qname.getNamespaceURI();
if (namespaceURI != null) {
java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
if (prefix == null) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
} else {
// i.e this is the default namespace
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}

} else {
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}
}

private void writeQNames(javax.xml.namespace.QName[] qnames,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

if (qnames != null) {
// we have to store this data until last moment since it is not possible to write any
// namespace data after writing the charactor data
java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
java.lang.String namespaceURI = null;
java.lang.String prefix = null;

for (int i = 0; i < qnames.length; i++) {
if (i > 0) {
stringToWrite.append(" ");
}
namespaceURI = qnames[i].getNamespaceURI();
if (namespaceURI != null) {
prefix = xmlWriter.getPrefix(namespaceURI);
if ((prefix == null) || (prefix.length() == 0)) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
}
xmlWriter.writeCharacters(stringToWrite.toString());
}

}

/**
* Register a namespace prefix
*/
private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
java.lang.String prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

while (xmlWriter.getNamespaceContext().getNamespaceURI(prefix) != null) {
prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}

return prefix;
}

/**
* databinding method to get an XML representation of this object
*
*/
public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
throws org.apache.axis2.databinding.ADBException{

java.util.ArrayList elementList = new java.util.ArrayList();
java.util.ArrayList attribList = new java.util.ArrayList();

if (localBufferTracker){
elementList.add(new javax.xml.namespace.QName("http://service",
"buffer"));

elementList.add(localBuffer);
} if (localFileNameTracker){
elementList.add(new javax.xml.namespace.QName("http://service",
"fileName"));

elementList.add(localFileName==null?null:
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localFileName));
}

return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());

}

/**
*  Factory class that keeps the parse method
*/
public static class Factory{

/**
* static method to create the object
* Precondition:  If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
*                If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
* Postcondition: If this object is an element, the reader is positioned at its end element
*                If this object is a complex type, the reader is positioned at the end element of its outer element
*/
public static UploadWithByte parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
UploadWithByte object =
new UploadWithByte();

int event;
java.lang.String nillableValue = null;
java.lang.String prefix ="";
java.lang.String namespaceuri ="";
try {

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
"type");
if (fullTypeName!=null){
java.lang.String nsPrefix = null;
if (fullTypeName.indexOf(":") > -1){
nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
}
nsPrefix = nsPrefix==null?"":nsPrefix;

java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);

if (!"uploadWithByte".equals(type)){
//find namespace for the prefix
java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
return (UploadWithByte)ExtensionMapper.getTypeObject(
nsUri,type,reader);
}

}

}

// Note all attributes that were handled. Used to differ normal attributes
// from anyAttributes.
java.util.Vector handledAttributes = new java.util.Vector();

reader.next();

while (!reader.isStartElement() && !reader.isEndElement()) reader.next();

if (reader.isStartElement() && new javax.xml.namespace.QName("http://service","buffer").equals(reader.getName())){
reader.next();
if (isReaderMTOMAware(reader)
&&
java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_BINARY)))
{
//MTOM aware reader - get the datahandler directly and put it in the object
object.setBuffer(
(javax.activation.DataHandler) reader.getProperty(org.apache.axiom.om.OMConstants.DATA_HANDLER));
} else {
if (reader.getEventType() == javax.xml.stream.XMLStreamConstants.START_ELEMENT && reader.getName().equals(new javax.xml.namespace.QName(org.apache.axiom.om.impl.MTOMConstants.XOP_NAMESPACE_URI, org.apache.axiom.om.impl.MTOMConstants.XOP_INCLUDE)))
{
java.lang.String id = org.apache.axiom.om.util.ElementHelper.getContentID(reader, "UTF-8");
object.setBuffer(((org.apache.axiom.soap.impl.builder.MTOMStAXSOAPModelBuilder) ((org.apache.axiom.om.impl.llom.OMStAXWrapper) reader).getBuilder()).getDataHandler(id));
reader.next();

reader.next();

} else if(reader.hasText()) {
//Do the usual conversion
java.lang.String content = reader.getText();
object.setBuffer(
org.apache.axis2.databinding.utils.ConverterUtil.convertToBase64Binary(content));

reader.next();

}
}

reader.next();

}  // End of if for expected property start element

else {

}

while (!reader.isStartElement() && !reader.isEndElement()) reader.next();

if (reader.isStartElement() && new javax.xml.namespace.QName("http://service","fileName").equals(reader.getName())){

nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){

java.lang.String content = reader.getElementText();

object.setFileName(
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));

} else {

reader.getElementText(); // throw away text nodes if any.
}

reader.next();

}  // End of if for expected property start element

else {

}

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.isStartElement())
// A start element we are not expecting indicates a trailing invalid property
throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName());

} catch (javax.xml.stream.XMLStreamException e) {
throw new java.lang.Exception(e);
}

return object;
}

}//end of factory class

}

public static class GetMsgResponse
implements org.apache.axis2.databinding.ADBBean{

public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
"http://service",
"getMsgResponse",
"ns2");

private static java.lang.String generatePrefix(java.lang.String namespace) {
if(namespace.equals("http://service")){
return "ns2";
}
return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

/**
* field for _return
*/

protected IDataForm local_return ;

/*  This tracker boolean wil be used to detect whether the user called the set method
*   for this attribute. It will be used to determine whether to include this field
*   in the serialized XML
*/
protected boolean local_returnTracker = false ;

/**
* Auto generated getter method
* @return IDataForm
*/
public  IDataForm get_return(){
return local_return;
}

/**
* Auto generated setter method
* @param param _return
*/
public void set_return(IDataForm param){

if (param != null){
//update the setting tracker
local_returnTracker = true;
} else {
local_returnTracker = true;

}

this.local_return=param;

}

/**
* isReaderMTOMAware
* @return true if the reader supports MTOM
*/
public static boolean isReaderMTOMAware(javax.xml.stream.XMLStreamReader reader) {
boolean isReaderMTOMAware = false;

try{
isReaderMTOMAware = java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE));
}catch(java.lang.IllegalArgumentException e){
isReaderMTOMAware = false;
}
return isReaderMTOMAware;
}

/**
*
* @param parentQName
* @param factory
* @return org.apache.axiom.om.OMElement
*/
public org.apache.axiom.om.OMElement getOMElement (
final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{

org.apache.axiom.om.OMDataSource dataSource =
new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME){

public void serialize(org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
GetMsgResponse.this.serialize(MY_QNAME,factory,xmlWriter);
}
};
return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl(
MY_QNAME,factory,dataSource);

}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
serialize(parentQName,factory,xmlWriter,false);
}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter,
boolean serializeType)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{

java.lang.String prefix = null;
java.lang.String namespace = null;

prefix = parentQName.getPrefix();
namespace = parentQName.getNamespaceURI();

if ((namespace != null) && (namespace.trim().length() > 0)) {
java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
if (writerPrefix != null) {
xmlWriter.writeStartElement(namespace, parentQName.getLocalPart());
} else {
if (prefix == null) {
prefix = generatePrefix(namespace);
}

xmlWriter.writeStartElement(prefix, parentQName.getLocalPart(), namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}
} else {
xmlWriter.writeStartElement(parentQName.getLocalPart());
}

if (serializeType){

java.lang.String namespacePrefix = registerPrefix(xmlWriter,"http://service");
if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
namespacePrefix+":getMsgResponse",
xmlWriter);
} else {
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
"getMsgResponse",
xmlWriter);
}

}
if (local_returnTracker){
if (local_return==null){

java.lang.String namespace2 = "http://service";

if (! namespace2.equals("")) {
java.lang.String prefix2 = xmlWriter.getPrefix(namespace2);

if (prefix2 == null) {
prefix2 = generatePrefix(namespace2);

xmlWriter.writeStartElement(prefix2,"return", namespace2);
xmlWriter.writeNamespace(prefix2, namespace2);
xmlWriter.setPrefix(prefix2, namespace2);

} else {
xmlWriter.writeStartElement(namespace2,"return");
}

} else {
xmlWriter.writeStartElement("return");
}

// write the nil attribute
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);
xmlWriter.writeEndElement();
}else{
local_return.serialize(new javax.xml.namespace.QName("http://service","return"),
factory,xmlWriter);
}
}
xmlWriter.writeEndElement();

}

/**
* Util method to write an attribute with the ns prefix
*/
private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (xmlWriter.getPrefix(namespace) == null) {
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

}

xmlWriter.writeAttribute(namespace,attName,attValue);

}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeAttribute(java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (namespace.equals(""))
{
xmlWriter.writeAttribute(attName,attValue);
}
else
{
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace,attName,attValue);
}
}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

java.lang.String attributeNamespace = qname.getNamespaceURI();
java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
if (attributePrefix == null) {
attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
}
java.lang.String attributeValue;
if (attributePrefix.trim().length() > 0) {
attributeValue = attributePrefix + ":" + qname.getLocalPart();
} else {
attributeValue = qname.getLocalPart();
}

if (namespace.equals("")) {
xmlWriter.writeAttribute(attName, attributeValue);
} else {
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace, attName, attributeValue);
}
}
/**
*  method to handle Qnames
*/

private void writeQName(javax.xml.namespace.QName qname,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
java.lang.String namespaceURI = qname.getNamespaceURI();
if (namespaceURI != null) {
java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
if (prefix == null) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
} else {
// i.e this is the default namespace
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}

} else {
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}
}

private void writeQNames(javax.xml.namespace.QName[] qnames,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

if (qnames != null) {
// we have to store this data until last moment since it is not possible to write any
// namespace data after writing the charactor data
java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
java.lang.String namespaceURI = null;
java.lang.String prefix = null;

for (int i = 0; i < qnames.length; i++) {
if (i > 0) {
stringToWrite.append(" ");
}
namespaceURI = qnames[i].getNamespaceURI();
if (namespaceURI != null) {
prefix = xmlWriter.getPrefix(namespaceURI);
if ((prefix == null) || (prefix.length() == 0)) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
}
xmlWriter.writeCharacters(stringToWrite.toString());
}

}

/**
* Register a namespace prefix
*/
private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
java.lang.String prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

while (xmlWriter.getNamespaceContext().getNamespaceURI(prefix) != null) {
prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}

return prefix;
}

/**
* databinding method to get an XML representation of this object
*
*/
public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
throws org.apache.axis2.databinding.ADBException{

java.util.ArrayList elementList = new java.util.ArrayList();
java.util.ArrayList attribList = new java.util.ArrayList();

if (local_returnTracker){
elementList.add(new javax.xml.namespace.QName("http://service",
"return"));

elementList.add(local_return==null?null:
local_return);
}

return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());

}

/**
*  Factory class that keeps the parse method
*/
public static class Factory{

/**
* static method to create the object
* Precondition:  If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
*                If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
* Postcondition: If this object is an element, the reader is positioned at its end element
*                If this object is a complex type, the reader is positioned at the end element of its outer element
*/
public static GetMsgResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
GetMsgResponse object =
new GetMsgResponse();

int event;
java.lang.String nillableValue = null;
java.lang.String prefix ="";
java.lang.String namespaceuri ="";
try {

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
"type");
if (fullTypeName!=null){
java.lang.String nsPrefix = null;
if (fullTypeName.indexOf(":") > -1){
nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
}
nsPrefix = nsPrefix==null?"":nsPrefix;

java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);

if (!"getMsgResponse".equals(type)){
//find namespace for the prefix
java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
return (GetMsgResponse)ExtensionMapper.getTypeObject(
nsUri,type,reader);
}

}

}

// Note all attributes that were handled. Used to differ normal attributes
// from anyAttributes.
java.util.Vector handledAttributes = new java.util.Vector();

reader.next();

while (!reader.isStartElement() && !reader.isEndElement()) reader.next();

if (reader.isStartElement() && new javax.xml.namespace.QName("http://service","return").equals(reader.getName())){

nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
if ("true".equals(nillableValue) || "1".equals(nillableValue)){
object.set_return(null);
reader.next();

reader.next();

}else{

object.set_return(IDataForm.Factory.parse(reader));

reader.next();
}
}  // End of if for expected property start element

else {

}

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.isStartElement())
// A start element we are not expecting indicates a trailing invalid property
throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName());

} catch (javax.xml.stream.XMLStreamException e) {
throw new java.lang.Exception(e);
}

return object;
}

}//end of factory class

}

public static class IDataForm
implements org.apache.axis2.databinding.ADBBean{
/* This type was generated from the piece of schema that had
name = IDataForm
Namespace URI = http://service/xsd Namespace Prefix = ns1
*/

private static java.lang.String generatePrefix(java.lang.String namespace) {
if(namespace.equals("http://service/xsd")){
return "ns1";
}
return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

/**
* field for Name
*/

protected java.lang.String localName ;

/*  This tracker boolean wil be used to detect whether the user called the set method
*   for this attribute. It will be used to determine whether to include this field
*   in the serialized XML
*/
protected boolean localNameTracker = false ;

/**
* Auto generated getter method
* @return java.lang.String
*/
public  java.lang.String getName(){
return localName;
}

/**
* Auto generated setter method
* @param param Name
*/
public void setName(java.lang.String param){

if (param != null){
//update the setting tracker
localNameTracker = true;
} else {
localNameTracker = true;

}

this.localName=param;

}

/**
* isReaderMTOMAware
* @return true if the reader supports MTOM
*/
public static boolean isReaderMTOMAware(javax.xml.stream.XMLStreamReader reader) {
boolean isReaderMTOMAware = false;

try{
isReaderMTOMAware = java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE));
}catch(java.lang.IllegalArgumentException e){
isReaderMTOMAware = false;
}
return isReaderMTOMAware;
}

/**
*
* @param parentQName
* @param factory
* @return org.apache.axiom.om.OMElement
*/
public org.apache.axiom.om.OMElement getOMElement (
final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{

org.apache.axiom.om.OMDataSource dataSource =
new org.apache.axis2.databinding.ADBDataSource(this,parentQName){

public void serialize(org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
IDataForm.this.serialize(parentQName,factory,xmlWriter);
}
};
return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl(
parentQName,factory,dataSource);

}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
serialize(parentQName,factory,xmlWriter,false);
}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter,
boolean serializeType)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{

java.lang.String prefix = null;
java.lang.String namespace = null;

prefix = parentQName.getPrefix();
namespace = parentQName.getNamespaceURI();

if ((namespace != null) && (namespace.trim().length() > 0)) {
java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
if (writerPrefix != null) {
xmlWriter.writeStartElement(namespace, parentQName.getLocalPart());
} else {
if (prefix == null) {
prefix = generatePrefix(namespace);
}

xmlWriter.writeStartElement(prefix, parentQName.getLocalPart(), namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}
} else {
xmlWriter.writeStartElement(parentQName.getLocalPart());
}

if (serializeType){

java.lang.String namespacePrefix = registerPrefix(xmlWriter,"http://service/xsd");
if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
namespacePrefix+":IDataForm",
xmlWriter);
} else {
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
"IDataForm",
xmlWriter);
}

}
if (localNameTracker){
namespace = "http://service/xsd";
if (! namespace.equals("")) {
prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

xmlWriter.writeStartElement(prefix,"name", namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

} else {
xmlWriter.writeStartElement(namespace,"name");
}

} else {
xmlWriter.writeStartElement("name");
}

if (localName==null){
// write the nil attribute

writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);

}else{

xmlWriter.writeCharacters(localName);

}

xmlWriter.writeEndElement();
}
xmlWriter.writeEndElement();

}

/**
* Util method to write an attribute with the ns prefix
*/
private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (xmlWriter.getPrefix(namespace) == null) {
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

}

xmlWriter.writeAttribute(namespace,attName,attValue);

}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeAttribute(java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (namespace.equals(""))
{
xmlWriter.writeAttribute(attName,attValue);
}
else
{
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace,attName,attValue);
}
}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

java.lang.String attributeNamespace = qname.getNamespaceURI();
java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
if (attributePrefix == null) {
attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
}
java.lang.String attributeValue;
if (attributePrefix.trim().length() > 0) {
attributeValue = attributePrefix + ":" + qname.getLocalPart();
} else {
attributeValue = qname.getLocalPart();
}

if (namespace.equals("")) {
xmlWriter.writeAttribute(attName, attributeValue);
} else {
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace, attName, attributeValue);
}
}
/**
*  method to handle Qnames
*/

private void writeQName(javax.xml.namespace.QName qname,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
java.lang.String namespaceURI = qname.getNamespaceURI();
if (namespaceURI != null) {
java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
if (prefix == null) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
} else {
// i.e this is the default namespace
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}

} else {
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}
}

private void writeQNames(javax.xml.namespace.QName[] qnames,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

if (qnames != null) {
// we have to store this data until last moment since it is not possible to write any
// namespace data after writing the charactor data
java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
java.lang.String namespaceURI = null;
java.lang.String prefix = null;

for (int i = 0; i < qnames.length; i++) {
if (i > 0) {
stringToWrite.append(" ");
}
namespaceURI = qnames[i].getNamespaceURI();
if (namespaceURI != null) {
prefix = xmlWriter.getPrefix(namespaceURI);
if ((prefix == null) || (prefix.length() == 0)) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
}
xmlWriter.writeCharacters(stringToWrite.toString());
}

}

/**
* Register a namespace prefix
*/
private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
java.lang.String prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

while (xmlWriter.getNamespaceContext().getNamespaceURI(prefix) != null) {
prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}

return prefix;
}

/**
* databinding method to get an XML representation of this object
*
*/
public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
throws org.apache.axis2.databinding.ADBException{

java.util.ArrayList elementList = new java.util.ArrayList();
java.util.ArrayList attribList = new java.util.ArrayList();

if (localNameTracker){
elementList.add(new javax.xml.namespace.QName("http://service/xsd",
"name"));

elementList.add(localName==null?null:
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localName));
}

return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());

}

/**
*  Factory class that keeps the parse method
*/
public static class Factory{

/**
* static method to create the object
* Precondition:  If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
*                If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
* Postcondition: If this object is an element, the reader is positioned at its end element
*                If this object is a complex type, the reader is positioned at the end element of its outer element
*/
public static IDataForm parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
IDataForm object =
new IDataForm();

int event;
java.lang.String nillableValue = null;
java.lang.String prefix ="";
java.lang.String namespaceuri ="";
try {

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
"type");
if (fullTypeName!=null){
java.lang.String nsPrefix = null;
if (fullTypeName.indexOf(":") > -1){
nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
}
nsPrefix = nsPrefix==null?"":nsPrefix;

java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);

if (!"IDataForm".equals(type)){
//find namespace for the prefix
java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
return (IDataForm)ExtensionMapper.getTypeObject(
nsUri,type,reader);
}

}

}

// Note all attributes that were handled. Used to differ normal attributes
// from anyAttributes.
java.util.Vector handledAttributes = new java.util.Vector();

reader.next();

while (!reader.isStartElement() && !reader.isEndElement()) reader.next();

if (reader.isStartElement() && new javax.xml.namespace.QName("http://service/xsd","name").equals(reader.getName())){

nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){

java.lang.String content = reader.getElementText();

object.setName(
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));

} else {

reader.getElementText(); // throw away text nodes if any.
}

reader.next();

}  // End of if for expected property start element

else {

}

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.isStartElement())
// A start element we are not expecting indicates a trailing invalid property
throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName());

} catch (javax.xml.stream.XMLStreamException e) {
throw new java.lang.Exception(e);
}

return object;
}

}//end of factory class

}

public static class ExtensionMapper{

public static java.lang.Object getTypeObject(java.lang.String namespaceURI,
java.lang.String typeName,
javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{

if (
"http://service/xsd".equals(namespaceURI) &&
"IDataForm".equals(typeName)){

return  IDataForm.Factory.parse(reader);

}

throw new org.apache.axis2.databinding.ADBException("Unsupported type " + namespaceURI + " " + typeName);
}

}

public static class UploadWithByteResponse
implements org.apache.axis2.databinding.ADBBean{

public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
"http://service",
"uploadWithByteResponse",
"ns2");

private static java.lang.String generatePrefix(java.lang.String namespace) {
if(namespace.equals("http://service")){
return "ns2";
}
return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

/**
* field for _return
*/

protected boolean local_return ;

/*  This tracker boolean wil be used to detect whether the user called the set method
*   for this attribute. It will be used to determine whether to include this field
*   in the serialized XML
*/
protected boolean local_returnTracker = false ;

/**
* Auto generated getter method
* @return boolean
*/
public  boolean get_return(){
return local_return;
}

/**
* Auto generated setter method
* @param param _return
*/
public void set_return(boolean param){

// setting primitive attribute tracker to true

if (false) {
local_returnTracker = false;

} else {
local_returnTracker = true;
}

this.local_return=param;

}

/**
* isReaderMTOMAware
* @return true if the reader supports MTOM
*/
public static boolean isReaderMTOMAware(javax.xml.stream.XMLStreamReader reader) {
boolean isReaderMTOMAware = false;

try{
isReaderMTOMAware = java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE));
}catch(java.lang.IllegalArgumentException e){
isReaderMTOMAware = false;
}
return isReaderMTOMAware;
}

/**
*
* @param parentQName
* @param factory
* @return org.apache.axiom.om.OMElement
*/
public org.apache.axiom.om.OMElement getOMElement (
final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{

org.apache.axiom.om.OMDataSource dataSource =
new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME){

public void serialize(org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
UploadWithByteResponse.this.serialize(MY_QNAME,factory,xmlWriter);
}
};
return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl(
MY_QNAME,factory,dataSource);

}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
serialize(parentQName,factory,xmlWriter,false);
}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter,
boolean serializeType)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{

java.lang.String prefix = null;
java.lang.String namespace = null;

prefix = parentQName.getPrefix();
namespace = parentQName.getNamespaceURI();

if ((namespace != null) && (namespace.trim().length() > 0)) {
java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
if (writerPrefix != null) {
xmlWriter.writeStartElement(namespace, parentQName.getLocalPart());
} else {
if (prefix == null) {
prefix = generatePrefix(namespace);
}

xmlWriter.writeStartElement(prefix, parentQName.getLocalPart(), namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}
} else {
xmlWriter.writeStartElement(parentQName.getLocalPart());
}

if (serializeType){

java.lang.String namespacePrefix = registerPrefix(xmlWriter,"http://service");
if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
namespacePrefix+":uploadWithByteResponse",
xmlWriter);
} else {
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
"uploadWithByteResponse",
xmlWriter);
}

}
if (local_returnTracker){
namespace = "http://service";
if (! namespace.equals("")) {
prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

xmlWriter.writeStartElement(prefix,"return", namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

} else {
xmlWriter.writeStartElement(namespace,"return");
}

} else {
xmlWriter.writeStartElement("return");
}

if (false) {

throw new org.apache.axis2.databinding.ADBException("return cannot be null!!");

} else {
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(local_return));
}

xmlWriter.writeEndElement();
}
xmlWriter.writeEndElement();

}

/**
* Util method to write an attribute with the ns prefix
*/
private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (xmlWriter.getPrefix(namespace) == null) {
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

}

xmlWriter.writeAttribute(namespace,attName,attValue);

}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeAttribute(java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (namespace.equals(""))
{
xmlWriter.writeAttribute(attName,attValue);
}
else
{
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace,attName,attValue);
}
}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

java.lang.String attributeNamespace = qname.getNamespaceURI();
java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
if (attributePrefix == null) {
attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
}
java.lang.String attributeValue;
if (attributePrefix.trim().length() > 0) {
attributeValue = attributePrefix + ":" + qname.getLocalPart();
} else {
attributeValue = qname.getLocalPart();
}

if (namespace.equals("")) {
xmlWriter.writeAttribute(attName, attributeValue);
} else {
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace, attName, attributeValue);
}
}
/**
*  method to handle Qnames
*/

private void writeQName(javax.xml.namespace.QName qname,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
java.lang.String namespaceURI = qname.getNamespaceURI();
if (namespaceURI != null) {
java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
if (prefix == null) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
} else {
// i.e this is the default namespace
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}

} else {
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}
}

private void writeQNames(javax.xml.namespace.QName[] qnames,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

if (qnames != null) {
// we have to store this data until last moment since it is not possible to write any
// namespace data after writing the charactor data
java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
java.lang.String namespaceURI = null;
java.lang.String prefix = null;

for (int i = 0; i < qnames.length; i++) {
if (i > 0) {
stringToWrite.append(" ");
}
namespaceURI = qnames[i].getNamespaceURI();
if (namespaceURI != null) {
prefix = xmlWriter.getPrefix(namespaceURI);
if ((prefix == null) || (prefix.length() == 0)) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
}
xmlWriter.writeCharacters(stringToWrite.toString());
}

}

/**
* Register a namespace prefix
*/
private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
java.lang.String prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

while (xmlWriter.getNamespaceContext().getNamespaceURI(prefix) != null) {
prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}

return prefix;
}

/**
* databinding method to get an XML representation of this object
*
*/
public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
throws org.apache.axis2.databinding.ADBException{

java.util.ArrayList elementList = new java.util.ArrayList();
java.util.ArrayList attribList = new java.util.ArrayList();

if (local_returnTracker){
elementList.add(new javax.xml.namespace.QName("http://service",
"return"));

elementList.add(
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(local_return));
}

return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());

}

/**
*  Factory class that keeps the parse method
*/
public static class Factory{

/**
* static method to create the object
* Precondition:  If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
*                If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
* Postcondition: If this object is an element, the reader is positioned at its end element
*                If this object is a complex type, the reader is positioned at the end element of its outer element
*/
public static UploadWithByteResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
UploadWithByteResponse object =
new UploadWithByteResponse();

int event;
java.lang.String nillableValue = null;
java.lang.String prefix ="";
java.lang.String namespaceuri ="";
try {

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
"type");
if (fullTypeName!=null){
java.lang.String nsPrefix = null;
if (fullTypeName.indexOf(":") > -1){
nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
}
nsPrefix = nsPrefix==null?"":nsPrefix;

java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);

if (!"uploadWithByteResponse".equals(type)){
//find namespace for the prefix
java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
return (UploadWithByteResponse)ExtensionMapper.getTypeObject(
nsUri,type,reader);
}

}

}

// Note all attributes that were handled. Used to differ normal attributes
// from anyAttributes.
java.util.Vector handledAttributes = new java.util.Vector();

reader.next();

while (!reader.isStartElement() && !reader.isEndElement()) reader.next();

if (reader.isStartElement() && new javax.xml.namespace.QName("http://service","return").equals(reader.getName())){

java.lang.String content = reader.getElementText();

object.set_return(
org.apache.axis2.databinding.utils.ConverterUtil.convertToBoolean(content));

reader.next();

}  // End of if for expected property start element

else {

}

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.isStartElement())
// A start element we are not expecting indicates a trailing invalid property
throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName());

} catch (javax.xml.stream.XMLStreamException e) {
throw new java.lang.Exception(e);
}

return object;
}

}//end of factory class

}

public static class UploadWithDataHandler
implements org.apache.axis2.databinding.ADBBean{

public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
"http://service",
"uploadWithDataHandler",
"ns2");

private static java.lang.String generatePrefix(java.lang.String namespace) {
if(namespace.equals("http://service")){
return "ns2";
}
return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

/**
* field for DataHandler
*/

protected javax.activation.DataHandler localDataHandler ;

/*  This tracker boolean wil be used to detect whether the user called the set method
*   for this attribute. It will be used to determine whether to include this field
*   in the serialized XML
*/
protected boolean localDataHandlerTracker = false ;

/**
* Auto generated getter method
* @return javax.activation.DataHandler
*/
public  javax.activation.DataHandler getDataHandler(){
return localDataHandler;
}

/**
* Auto generated setter method
* @param param DataHandler
*/
public void setDataHandler(javax.activation.DataHandler param){

if (param != null){
//update the setting tracker
localDataHandlerTracker = true;
} else {
localDataHandlerTracker = true;

}

this.localDataHandler=param;

}

/**
* field for FileName
*/

protected java.lang.String localFileName ;

/*  This tracker boolean wil be used to detect whether the user called the set method
*   for this attribute. It will be used to determine whether to include this field
*   in the serialized XML
*/
protected boolean localFileNameTracker = false ;

/**
* Auto generated getter method
* @return java.lang.String
*/
public  java.lang.String getFileName(){
return localFileName;
}

/**
* Auto generated setter method
* @param param FileName
*/
public void setFileName(java.lang.String param){

if (param != null){
//update the setting tracker
localFileNameTracker = true;
} else {
localFileNameTracker = true;

}

this.localFileName=param;

}

/**
* isReaderMTOMAware
* @return true if the reader supports MTOM
*/
public static boolean isReaderMTOMAware(javax.xml.stream.XMLStreamReader reader) {
boolean isReaderMTOMAware = false;

try{
isReaderMTOMAware = java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE));
}catch(java.lang.IllegalArgumentException e){
isReaderMTOMAware = false;
}
return isReaderMTOMAware;
}

/**
*
* @param parentQName
* @param factory
* @return org.apache.axiom.om.OMElement
*/
public org.apache.axiom.om.OMElement getOMElement (
final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{

org.apache.axiom.om.OMDataSource dataSource =
new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME){

public void serialize(org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
UploadWithDataHandler.this.serialize(MY_QNAME,factory,xmlWriter);
}
};
return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl(
MY_QNAME,factory,dataSource);

}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
serialize(parentQName,factory,xmlWriter,false);
}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter,
boolean serializeType)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{

java.lang.String prefix = null;
java.lang.String namespace = null;

prefix = parentQName.getPrefix();
namespace = parentQName.getNamespaceURI();

if ((namespace != null) && (namespace.trim().length() > 0)) {
java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
if (writerPrefix != null) {
xmlWriter.writeStartElement(namespace, parentQName.getLocalPart());
} else {
if (prefix == null) {
prefix = generatePrefix(namespace);
}

xmlWriter.writeStartElement(prefix, parentQName.getLocalPart(), namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}
} else {
xmlWriter.writeStartElement(parentQName.getLocalPart());
}

if (serializeType){

java.lang.String namespacePrefix = registerPrefix(xmlWriter,"http://service");
if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
namespacePrefix+":uploadWithDataHandler",
xmlWriter);
} else {
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
"uploadWithDataHandler",
xmlWriter);
}

}
if (localDataHandlerTracker){
namespace = "http://service";
if (! namespace.equals("")) {
prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

xmlWriter.writeStartElement(prefix,"dataHandler", namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

} else {
xmlWriter.writeStartElement(namespace,"dataHandler");
}

} else {
xmlWriter.writeStartElement("dataHandler");
}

if (localDataHandler!=null)
{
xmlWriter.writeDataHandler(localDataHandler);
}

xmlWriter.writeEndElement();
} if (localFileNameTracker){
namespace = "http://service";
if (! namespace.equals("")) {
prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

xmlWriter.writeStartElement(prefix,"fileName", namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

} else {
xmlWriter.writeStartElement(namespace,"fileName");
}

} else {
xmlWriter.writeStartElement("fileName");
}

if (localFileName==null){
// write the nil attribute

writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","nil","1",xmlWriter);

}else{

xmlWriter.writeCharacters(localFileName);

}

xmlWriter.writeEndElement();
}
xmlWriter.writeEndElement();

}

/**
* Util method to write an attribute with the ns prefix
*/
private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (xmlWriter.getPrefix(namespace) == null) {
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

}

xmlWriter.writeAttribute(namespace,attName,attValue);

}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeAttribute(java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (namespace.equals(""))
{
xmlWriter.writeAttribute(attName,attValue);
}
else
{
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace,attName,attValue);
}
}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

java.lang.String attributeNamespace = qname.getNamespaceURI();
java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
if (attributePrefix == null) {
attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
}
java.lang.String attributeValue;
if (attributePrefix.trim().length() > 0) {
attributeValue = attributePrefix + ":" + qname.getLocalPart();
} else {
attributeValue = qname.getLocalPart();
}

if (namespace.equals("")) {
xmlWriter.writeAttribute(attName, attributeValue);
} else {
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace, attName, attributeValue);
}
}
/**
*  method to handle Qnames
*/

private void writeQName(javax.xml.namespace.QName qname,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
java.lang.String namespaceURI = qname.getNamespaceURI();
if (namespaceURI != null) {
java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
if (prefix == null) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
} else {
// i.e this is the default namespace
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}

} else {
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}
}

private void writeQNames(javax.xml.namespace.QName[] qnames,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

if (qnames != null) {
// we have to store this data until last moment since it is not possible to write any
// namespace data after writing the charactor data
java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
java.lang.String namespaceURI = null;
java.lang.String prefix = null;

for (int i = 0; i < qnames.length; i++) {
if (i > 0) {
stringToWrite.append(" ");
}
namespaceURI = qnames[i].getNamespaceURI();
if (namespaceURI != null) {
prefix = xmlWriter.getPrefix(namespaceURI);
if ((prefix == null) || (prefix.length() == 0)) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
}
xmlWriter.writeCharacters(stringToWrite.toString());
}

}

/**
* Register a namespace prefix
*/
private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
java.lang.String prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

while (xmlWriter.getNamespaceContext().getNamespaceURI(prefix) != null) {
prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}

return prefix;
}

/**
* databinding method to get an XML representation of this object
*
*/
public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
throws org.apache.axis2.databinding.ADBException{

java.util.ArrayList elementList = new java.util.ArrayList();
java.util.ArrayList attribList = new java.util.ArrayList();

if (localDataHandlerTracker){
elementList.add(new javax.xml.namespace.QName("http://service",
"dataHandler"));

elementList.add(localDataHandler);
} if (localFileNameTracker){
elementList.add(new javax.xml.namespace.QName("http://service",
"fileName"));

elementList.add(localFileName==null?null:
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(localFileName));
}

return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());

}

/**
*  Factory class that keeps the parse method
*/
public static class Factory{

/**
* static method to create the object
* Precondition:  If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
*                If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
* Postcondition: If this object is an element, the reader is positioned at its end element
*                If this object is a complex type, the reader is positioned at the end element of its outer element
*/
public static UploadWithDataHandler parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
UploadWithDataHandler object =
new UploadWithDataHandler();

int event;
java.lang.String nillableValue = null;
java.lang.String prefix ="";
java.lang.String namespaceuri ="";
try {

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
"type");
if (fullTypeName!=null){
java.lang.String nsPrefix = null;
if (fullTypeName.indexOf(":") > -1){
nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
}
nsPrefix = nsPrefix==null?"":nsPrefix;

java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);

if (!"uploadWithDataHandler".equals(type)){
//find namespace for the prefix
java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
return (UploadWithDataHandler)ExtensionMapper.getTypeObject(
nsUri,type,reader);
}

}

}

// Note all attributes that were handled. Used to differ normal attributes
// from anyAttributes.
java.util.Vector handledAttributes = new java.util.Vector();

reader.next();

while (!reader.isStartElement() && !reader.isEndElement()) reader.next();

if (reader.isStartElement() && new javax.xml.namespace.QName("http://service","dataHandler").equals(reader.getName())){
reader.next();
if (isReaderMTOMAware(reader)
&&
java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_BINARY)))
{
//MTOM aware reader - get the datahandler directly and put it in the object
object.setDataHandler(
(javax.activation.DataHandler) reader.getProperty(org.apache.axiom.om.OMConstants.DATA_HANDLER));
} else {
if (reader.getEventType() == javax.xml.stream.XMLStreamConstants.START_ELEMENT && reader.getName().equals(new javax.xml.namespace.QName(org.apache.axiom.om.impl.MTOMConstants.XOP_NAMESPACE_URI, org.apache.axiom.om.impl.MTOMConstants.XOP_INCLUDE)))
{
java.lang.String id = org.apache.axiom.om.util.ElementHelper.getContentID(reader, "UTF-8");
object.setDataHandler(((org.apache.axiom.soap.impl.builder.MTOMStAXSOAPModelBuilder) ((org.apache.axiom.om.impl.llom.OMStAXWrapper) reader).getBuilder()).getDataHandler(id));
reader.next();

reader.next();

} else if(reader.hasText()) {
//Do the usual conversion
java.lang.String content = reader.getText();
object.setDataHandler(
org.apache.axis2.databinding.utils.ConverterUtil.convertToBase64Binary(content));

reader.next();

}
}

reader.next();

}  // End of if for expected property start element

else {

}

while (!reader.isStartElement() && !reader.isEndElement()) reader.next();

if (reader.isStartElement() && new javax.xml.namespace.QName("http://service","fileName").equals(reader.getName())){

nillableValue = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","nil");
if (!"true".equals(nillableValue) && !"1".equals(nillableValue)){

java.lang.String content = reader.getElementText();

object.setFileName(
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(content));

} else {

reader.getElementText(); // throw away text nodes if any.
}

reader.next();

}  // End of if for expected property start element

else {

}

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.isStartElement())
// A start element we are not expecting indicates a trailing invalid property
throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName());

} catch (javax.xml.stream.XMLStreamException e) {
throw new java.lang.Exception(e);
}

return object;
}

}//end of factory class

}

public static class UploadWithDataHandlerResponse
implements org.apache.axis2.databinding.ADBBean{

public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName(
"http://service",
"uploadWithDataHandlerResponse",
"ns2");

private static java.lang.String generatePrefix(java.lang.String namespace) {
if(namespace.equals("http://service")){
return "ns2";
}
return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

/**
* field for _return
*/

protected boolean local_return ;

/*  This tracker boolean wil be used to detect whether the user called the set method
*   for this attribute. It will be used to determine whether to include this field
*   in the serialized XML
*/
protected boolean local_returnTracker = false ;

/**
* Auto generated getter method
* @return boolean
*/
public  boolean get_return(){
return local_return;
}

/**
* Auto generated setter method
* @param param _return
*/
public void set_return(boolean param){

// setting primitive attribute tracker to true

if (false) {
local_returnTracker = false;

} else {
local_returnTracker = true;
}

this.local_return=param;

}

/**
* isReaderMTOMAware
* @return true if the reader supports MTOM
*/
public static boolean isReaderMTOMAware(javax.xml.stream.XMLStreamReader reader) {
boolean isReaderMTOMAware = false;

try{
isReaderMTOMAware = java.lang.Boolean.TRUE.equals(reader.getProperty(org.apache.axiom.om.OMConstants.IS_DATA_HANDLERS_AWARE));
}catch(java.lang.IllegalArgumentException e){
isReaderMTOMAware = false;
}
return isReaderMTOMAware;
}

/**
*
* @param parentQName
* @param factory
* @return org.apache.axiom.om.OMElement
*/
public org.apache.axiom.om.OMElement getOMElement (
final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory) throws org.apache.axis2.databinding.ADBException{

org.apache.axiom.om.OMDataSource dataSource =
new org.apache.axis2.databinding.ADBDataSource(this,MY_QNAME){

public void serialize(org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
UploadWithDataHandlerResponse.this.serialize(MY_QNAME,factory,xmlWriter);
}
};
return new org.apache.axiom.om.impl.llom.OMSourcedElementImpl(
MY_QNAME,factory,dataSource);

}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{
serialize(parentQName,factory,xmlWriter,false);
}

public void serialize(final javax.xml.namespace.QName parentQName,
final org.apache.axiom.om.OMFactory factory,
org.apache.axis2.databinding.utils.writer.MTOMAwareXMLStreamWriter xmlWriter,
boolean serializeType)
throws javax.xml.stream.XMLStreamException, org.apache.axis2.databinding.ADBException{

java.lang.String prefix = null;
java.lang.String namespace = null;

prefix = parentQName.getPrefix();
namespace = parentQName.getNamespaceURI();

if ((namespace != null) && (namespace.trim().length() > 0)) {
java.lang.String writerPrefix = xmlWriter.getPrefix(namespace);
if (writerPrefix != null) {
xmlWriter.writeStartElement(namespace, parentQName.getLocalPart());
} else {
if (prefix == null) {
prefix = generatePrefix(namespace);
}

xmlWriter.writeStartElement(prefix, parentQName.getLocalPart(), namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}
} else {
xmlWriter.writeStartElement(parentQName.getLocalPart());
}

if (serializeType){

java.lang.String namespacePrefix = registerPrefix(xmlWriter,"http://service");
if ((namespacePrefix != null) && (namespacePrefix.trim().length() > 0)){
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
namespacePrefix+":uploadWithDataHandlerResponse",
xmlWriter);
} else {
writeAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance","type",
"uploadWithDataHandlerResponse",
xmlWriter);
}

}
if (local_returnTracker){
namespace = "http://service";
if (! namespace.equals("")) {
prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

xmlWriter.writeStartElement(prefix,"return", namespace);
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

} else {
xmlWriter.writeStartElement(namespace,"return");
}

} else {
xmlWriter.writeStartElement("return");
}

if (false) {

throw new org.apache.axis2.databinding.ADBException("return cannot be null!!");

} else {
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(local_return));
}

xmlWriter.writeEndElement();
}
xmlWriter.writeEndElement();

}

/**
* Util method to write an attribute with the ns prefix
*/
private void writeAttribute(java.lang.String prefix,java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (xmlWriter.getPrefix(namespace) == null) {
xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);

}

xmlWriter.writeAttribute(namespace,attName,attValue);

}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeAttribute(java.lang.String namespace,java.lang.String attName,
java.lang.String attValue,javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException{
if (namespace.equals(""))
{
xmlWriter.writeAttribute(attName,attValue);
}
else
{
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace,attName,attValue);
}
}

/**
* Util method to write an attribute without the ns prefix
*/
private void writeQNameAttribute(java.lang.String namespace, java.lang.String attName,
javax.xml.namespace.QName qname, javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

java.lang.String attributeNamespace = qname.getNamespaceURI();
java.lang.String attributePrefix = xmlWriter.getPrefix(attributeNamespace);
if (attributePrefix == null) {
attributePrefix = registerPrefix(xmlWriter, attributeNamespace);
}
java.lang.String attributeValue;
if (attributePrefix.trim().length() > 0) {
attributeValue = attributePrefix + ":" + qname.getLocalPart();
} else {
attributeValue = qname.getLocalPart();
}

if (namespace.equals("")) {
xmlWriter.writeAttribute(attName, attributeValue);
} else {
registerPrefix(xmlWriter, namespace);
xmlWriter.writeAttribute(namespace, attName, attributeValue);
}
}
/**
*  method to handle Qnames
*/

private void writeQName(javax.xml.namespace.QName qname,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {
java.lang.String namespaceURI = qname.getNamespaceURI();
if (namespaceURI != null) {
java.lang.String prefix = xmlWriter.getPrefix(namespaceURI);
if (prefix == null) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
xmlWriter.writeCharacters(prefix + ":" + org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
} else {
// i.e this is the default namespace
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}

} else {
xmlWriter.writeCharacters(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qname));
}
}

private void writeQNames(javax.xml.namespace.QName[] qnames,
javax.xml.stream.XMLStreamWriter xmlWriter) throws javax.xml.stream.XMLStreamException {

if (qnames != null) {
// we have to store this data until last moment since it is not possible to write any
// namespace data after writing the charactor data
java.lang.StringBuffer stringToWrite = new java.lang.StringBuffer();
java.lang.String namespaceURI = null;
java.lang.String prefix = null;

for (int i = 0; i < qnames.length; i++) {
if (i > 0) {
stringToWrite.append(" ");
}
namespaceURI = qnames[i].getNamespaceURI();
if (namespaceURI != null) {
prefix = xmlWriter.getPrefix(namespaceURI);
if ((prefix == null) || (prefix.length() == 0)) {
prefix = generatePrefix(namespaceURI);
xmlWriter.writeNamespace(prefix, namespaceURI);
xmlWriter.setPrefix(prefix,namespaceURI);
}

if (prefix.trim().length() > 0){
stringToWrite.append(prefix).append(":").append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
} else {
stringToWrite.append(org.apache.axis2.databinding.utils.ConverterUtil.convertToString(qnames[i]));
}
}
xmlWriter.writeCharacters(stringToWrite.toString());
}

}

/**
* Register a namespace prefix
*/
private java.lang.String registerPrefix(javax.xml.stream.XMLStreamWriter xmlWriter, java.lang.String namespace) throws javax.xml.stream.XMLStreamException {
java.lang.String prefix = xmlWriter.getPrefix(namespace);

if (prefix == null) {
prefix = generatePrefix(namespace);

while (xmlWriter.getNamespaceContext().getNamespaceURI(prefix) != null) {
prefix = org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
}

xmlWriter.writeNamespace(prefix, namespace);
xmlWriter.setPrefix(prefix, namespace);
}

return prefix;
}

/**
* databinding method to get an XML representation of this object
*
*/
public javax.xml.stream.XMLStreamReader getPullParser(javax.xml.namespace.QName qName)
throws org.apache.axis2.databinding.ADBException{

java.util.ArrayList elementList = new java.util.ArrayList();
java.util.ArrayList attribList = new java.util.ArrayList();

if (local_returnTracker){
elementList.add(new javax.xml.namespace.QName("http://service",
"return"));

elementList.add(
org.apache.axis2.databinding.utils.ConverterUtil.convertToString(local_return));
}

return new org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl(qName, elementList.toArray(), attribList.toArray());

}

/**
*  Factory class that keeps the parse method
*/
public static class Factory{

/**
* static method to create the object
* Precondition:  If this object is an element, the current or next start element starts this object and any intervening reader events are ignorable
*                If this object is not an element, it is a complex type and the reader is at the event just after the outer start element
* Postcondition: If this object is an element, the reader is positioned at its end element
*                If this object is a complex type, the reader is positioned at the end element of its outer element
*/
public static UploadWithDataHandlerResponse parse(javax.xml.stream.XMLStreamReader reader) throws java.lang.Exception{
UploadWithDataHandlerResponse object =
new UploadWithDataHandlerResponse();

int event;
java.lang.String nillableValue = null;
java.lang.String prefix ="";
java.lang.String namespaceuri ="";
try {

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance","type")!=null){
java.lang.String fullTypeName = reader.getAttributeValue("http://www.w3.org/2001/XMLSchema-instance",
"type");
if (fullTypeName!=null){
java.lang.String nsPrefix = null;
if (fullTypeName.indexOf(":") > -1){
nsPrefix = fullTypeName.substring(0,fullTypeName.indexOf(":"));
}
nsPrefix = nsPrefix==null?"":nsPrefix;

java.lang.String type = fullTypeName.substring(fullTypeName.indexOf(":")+1);

if (!"uploadWithDataHandlerResponse".equals(type)){
//find namespace for the prefix
java.lang.String nsUri = reader.getNamespaceContext().getNamespaceURI(nsPrefix);
return (UploadWithDataHandlerResponse)ExtensionMapper.getTypeObject(
nsUri,type,reader);
}

}

}

// Note all attributes that were handled. Used to differ normal attributes
// from anyAttributes.
java.util.Vector handledAttributes = new java.util.Vector();

reader.next();

while (!reader.isStartElement() && !reader.isEndElement()) reader.next();

if (reader.isStartElement() && new javax.xml.namespace.QName("http://service","return").equals(reader.getName())){

java.lang.String content = reader.getElementText();

object.set_return(
org.apache.axis2.databinding.utils.ConverterUtil.convertToBoolean(content));

reader.next();

}  // End of if for expected property start element

else {

}

while (!reader.isStartElement() && !reader.isEndElement())
reader.next();

if (reader.isStartElement())
// A start element we are not expecting indicates a trailing invalid property
throw new org.apache.axis2.databinding.ADBException("Unexpected subelement " + reader.getLocalName());

} catch (javax.xml.stream.XMLStreamException e) {
throw new java.lang.Exception(e);
}

return object;
}

}//end of factory class

}

private  org.apache.axiom.om.OMElement  toOM(client.FirstStub.UploadWithByte param, boolean optimizeContent)
throws org.apache.axis2.AxisFault {

try{
return param.getOMElement(client.FirstStub.UploadWithByte.MY_QNAME,
org.apache.axiom.om.OMAbstractFactory.getOMFactory());
} catch(org.apache.axis2.databinding.ADBException e){
throw org.apache.axis2.AxisFault.makeFault(e);
}

}

private  org.apache.axiom.om.OMElement  toOM(client.FirstStub.UploadWithByteResponse param, boolean optimizeContent)
throws org.apache.axis2.AxisFault {

try{
return param.getOMElement(client.FirstStub.UploadWithByteResponse.MY_QNAME,
org.apache.axiom.om.OMAbstractFactory.getOMFactory());
} catch(org.apache.axis2.databinding.ADBException e){
throw org.apache.axis2.AxisFault.makeFault(e);
}

}

private  org.apache.axiom.om.OMElement  toOM(client.FirstStub.GetMsgResponse param, boolean optimizeContent)
throws org.apache.axis2.AxisFault {

try{
return param.getOMElement(client.FirstStub.GetMsgResponse.MY_QNAME,
org.apache.axiom.om.OMAbstractFactory.getOMFactory());
} catch(org.apache.axis2.databinding.ADBException e){
throw org.apache.axis2.AxisFault.makeFault(e);
}

}

private  org.apache.axiom.om.OMElement  toOM(client.FirstStub.UploadWithDataHandler param, boolean optimizeContent)
throws org.apache.axis2.AxisFault {

try{
return param.getOMElement(client.FirstStub.UploadWithDataHandler.MY_QNAME,
org.apache.axiom.om.OMAbstractFactory.getOMFactory());
} catch(org.apache.axis2.databinding.ADBException e){
throw org.apache.axis2.AxisFault.makeFault(e);
}

}

private  org.apache.axiom.om.OMElement  toOM(client.FirstStub.UploadWithDataHandlerResponse param, boolean optimizeContent)
throws org.apache.axis2.AxisFault {

try{
return param.getOMElement(client.FirstStub.UploadWithDataHandlerResponse.MY_QNAME,
org.apache.axiom.om.OMAbstractFactory.getOMFactory());
} catch(org.apache.axis2.databinding.ADBException e){
throw org.apache.axis2.AxisFault.makeFault(e);
}

}

private  org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, client.FirstStub.UploadWithByte param, boolean optimizeContent)
throws org.apache.axis2.AxisFault{

try{

org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
emptyEnvelope.getBody().addChild(param.getOMElement(client.FirstStub.UploadWithByte.MY_QNAME,factory));
return emptyEnvelope;
} catch(org.apache.axis2.databinding.ADBException e){
throw org.apache.axis2.AxisFault.makeFault(e);
}

}

/* methods to provide back word compatibility */

private  org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory, client.FirstStub.UploadWithDataHandler param, boolean optimizeContent)
throws org.apache.axis2.AxisFault{

try{

org.apache.axiom.soap.SOAPEnvelope emptyEnvelope = factory.getDefaultEnvelope();
emptyEnvelope.getBody().addChild(param.getOMElement(client.FirstStub.UploadWithDataHandler.MY_QNAME,factory));
return emptyEnvelope;
} catch(org.apache.axis2.databinding.ADBException e){
throw org.apache.axis2.AxisFault.makeFault(e);
}

}

/* methods to provide back word compatibility */

/**
*  get the default envelope
*/
private org.apache.axiom.soap.SOAPEnvelope toEnvelope(org.apache.axiom.soap.SOAPFactory factory){
return factory.getDefaultEnvelope();
}

private  java.lang.Object fromOM(
org.apache.axiom.om.OMElement param,
java.lang.Class type,
java.util.Map extraNamespaces) throws org.apache.axis2.AxisFault{

try {

if (client.FirstStub.UploadWithByte.class.equals(type)){

return client.FirstStub.UploadWithByte.Factory.parse(param.getXMLStreamReaderWithoutCaching());

}

if (client.FirstStub.UploadWithByteResponse.class.equals(type)){

return client.FirstStub.UploadWithByteResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());

}

if (client.FirstStub.GetMsgResponse.class.equals(type)){

return client.FirstStub.GetMsgResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());

}

if (client.FirstStub.UploadWithDataHandler.class.equals(type)){

return client.FirstStub.UploadWithDataHandler.Factory.parse(param.getXMLStreamReaderWithoutCaching());

}

if (client.FirstStub.UploadWithDataHandlerResponse.class.equals(type)){

return client.FirstStub.UploadWithDataHandlerResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());

}

} catch (java.lang.Exception e) {
throw org.apache.axis2.AxisFault.makeFault(e);
}
return null;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: