Please use the Axis2-1.1-RC2 [1].. Also please use the same version to
generate code too.. You seem to be
On 11/4/06, Moiz Ghori <[EMAIL PROTECTED]> wrote:
Thanks for your reply.
I am generating code from WSDLToJava. First there were some compile time
errors of converttoString, convertofloat etc which got fixed easily with the
help of Eclipse IDE.
But there is also a complile time error in the Stub saying
getElement(SOAPEnvelope,String) is not defined in
OnlineBooksADBImageServiceStub.
I am using Axis2_1.0 snapshot.
/**
* OnlineBooksADBImageServiceStub.java
*
* This file was auto-generated from WSDL
* by the Apache Axis2 version: 1.0 May 05, 2006 (12:31:13 IST)
*/
package org.apache.axis2;
/*
* OnlineBooksADBImageServiceStub java implementation
*/
public class OnlineBooksADBImageServiceStub extends
org.apache.axis2.client.Stub
{
//default axis home being null forces the system to pick up the mars
from the axis2 library
public static final java.lang.String AXIS2_HOME = null;
protected static
org.apache.axis2.description.AxisOperation[] _operations;
//hashmaps to keep the fault mapping
private java.util.HashMap faultExeptionNameMap = new
java.util.HashMap();
private java.util.HashMap faultExeptionClassNameMap = new
java.util.HashMap();
private java.util.HashMap faultMessageMap = new java.util.HashMap();
private void populateAxisService(){
//creating the Service
_service = new
org.apache.axis2.description.AxisService("OnlineBooksADBImageService");
//creating the operations
org.apache.axis2.description.AxisOperation
__operation;
_operations = new
org.apache.axis2.description.AxisOperation[1];
__operation = new
org.apache.axis2.description.OutInAxisOperation();
__operation.setName(new javax.xml.namespace.QName("",
"FindBooks"));
_operations[0]=__operation;
_service.addOperation(__operation);
}
//populates the faults
private void populateFaults(){
}
public
OnlineBooksADBImageServiceStub(org.apache.axis2.context.ConfigurationContext
configurationContext,
java.lang.String targetEndpoint)
throws java.lang.Exception {
//To populate AxisService
populateAxisService();
populateFaults();
_serviceClient = new
org.apache.axis2.client.ServiceClient(configurationContext,_service);
_serviceClient.getOptions().setTo(new
org.apache.axis2.addressing.EndpointReference(
targetEndpoint));
}
/**
* Default Constructor
*/
public OnlineBooksADBImageServiceStub() throws
java.lang.Exception {
this("http://localhost/axis2/services/OnlineBooksADBImageService"
);
}
/**
* Constructor taking the target endpoint
*/
public OnlineBooksADBImageServiceStub(java.lang.String targetEndpoint)
throws java.lang.Exception {
this(org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContextFromFileSystem(AXIS2_HOME,null),
targetEndpoint);
}
/**
* Auto generated method signature
* @see
org.apache.axis2.OnlineBooksADBImageService#FindBooks
* @param param12
*/
public
com.example.www.onlinebooksadbimage.xsd.FindBooksResponse
FindBooks(
com.example.www.onlinebooksadbimage.xsd.FindBooksRequest
param12)
throws java.rmi.RemoteException
{
try{
org.apache.axis2.client.OperationClient
_operationClient =
_serviceClient.createClient(_operations[0].getName());
_operationClient.getOptions().setAction("http://www.example.com/OnlineBooksADBImage/FindBooks");
_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);
// create SOAP envelope with that payload
org.apache.axiom.soap.SOAPEnvelope env =
null;
//Style is Doc.
env =
toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),
param12,
optimizeContent(new javax.xml.namespace.QName("",
"FindBooks")));
// create message context with that soap envelope
org.apache.axis2.context.MessageContext
_messageContext = new
org.apache.axis2.context.MessageContext() ;
_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(
getElement(_returnEnv,"document"),
com.example.www.onlinebooksadbimage.xsd.FindBooksResponse.class,
getEnvelopeNamespaces(_returnEnv));
_messageContext.getTransportOut().getSender().cleanup(_messageContext);
return
(com.example.www.onlinebooksadbimage.xsd.FindBooksResponse)object;
}catch(org.apache.axis2.AxisFault f){
org.apache.axiom.om.OMElement faultElt = f.getDetail();
if (faultElt!=null){
if
(faultExeptionNameMap.containsKey(faultElt.getQName())){
//make the fault by reflection
try{
java.lang.String exceptionClassName =
(java.lang.String)faultExeptionClassNameMap.get(faultElt.getQName());
java.lang.Class exceptionClass =
java.lang.Class.forName(exceptionClassName);
java.rmi.RemoteException ex=
(java.rmi.RemoteException)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 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;
}
}
}
/**
* Auto generated method signature for Asynchronous
Invocations
* @see
org.apache.axis2.OnlineBooksADBImageService#startFindBooks
* @param param12
*/
public void startFindBooks(
com.example.www.onlinebooksadbimage.xsd.FindBooksRequest
param12,final
org.apache.axis2.OnlineBooksADBImageServiceCallbackHandler
callback)
throws java.rmi.RemoteException{
org.apache.axis2.client.OperationClient
_operationClient =
_serviceClient.createClient(_operations[0].getName());
_operationClient.getOptions().setAction("http://www.example.com/OnlineBooksADBImage/FindBooks");
_operationClient.getOptions().setExceptionToBeThrownOnSOAPFault(true);
// create SOAP envelope with that payload
org.apache.axiom.soap.SOAPEnvelope env=null;
//Style is Doc.
env =
toEnvelope(getFactory(_operationClient.getOptions().getSoapVersionURI()),
param12, optimizeContent(new javax.xml.namespace.QName("", "FindBooks")));
// create message context with that soap envelope
org.apache.axis2.context.MessageContext
_messageContext = new
org.apache.axis2.context.MessageContext() ;
_messageContext.setEnvelope(env);
// add the message contxt to the operation client
_operationClient.addMessageContext(_messageContext);
_operationClient.setCallback(new
org.apache.axis2.client.async.Callback() {
public void onComplete(
org.apache.axis2.client.async.AsyncResult result) {
java.lang.Object object = fromOM(getElement(
result.getResponseEnvelope(), "document"),
com.example.www.onlinebooksadbimage.xsd.FindBooksResponse.class,
getEnvelopeNamespaces(result.getResponseEnvelope())
);
callback.receiveResultFindBooks((com.example.www.onlinebooksadbimage.xsd.FindBooksResponse)
object);
}
public void onError(java.lang.Exception e) {
callback.receiveErrorFindBooks(e);
}
});
org.apache.axis2.util.CallbackReceiver
_callbackReceiver = null;
if ( _operations[0].getMessageReceiver()==null &&
_operationClient.getOptions().isUseSeparateListener()) {
_callbackReceiver = new
org.apache.axis2.util.CallbackReceiver();
_operations[0].setMessageReceiver(
_callbackReceiver);
}
//execute the operation client
_operationClient.execute(false);
}
/**
* 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.getName());
}
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://localhost/axis2/services/OnlineBooksADBImageService
private org.apache.axiom.om.OMElement
toOM(com.example.www.onlinebooksadbimage.xsd.FindBooksResponse
param, boolean optimizeContent){
if (param instanceof
org.apache.axis2.databinding.ADBBean){
org.apache.axiom.om.impl.builder.StAXOMBuilder builder
= new
org.apache.axiom.om.impl.builder.StAXOMBuilder
(org.apache.axiom.om.OMAbstractFactory.getOMFactory(),
new
org.apache.axis2.util.StreamWrapper(param.getPullParser(com.example.www.onlinebooksadbimage.xsd.FindBooksResponse.MY_QNAME)));
org.apache.axiom.om.OMElement documentElement =
builder.getDocumentElement();
((org.apache.axiom.om.impl.OMNodeEx)
documentElement).setParent(null); // remove the parent link
return documentElement;
}else{
//todo finish this onece the bean serializer has
the necessary methods
return null;
}
}
private
org.apache.axiom.soap.SOAPEnvelope
toEnvelope(org.apache.axiom.soap.SOAPFactory factory,
com.example.www.onlinebooksadbimage.xsd.FindBooksResponse
param, boolean optimizeContent){
if (param instanceof
org.apache.axis2.databinding.ADBBean){
org.apache.axis2.databinding.ADBSOAPModelBuilder builder =
new
org.apache.axis2.databinding.ADBSOAPModelBuilder(param.getPullParser(com.example.www.onlinebooksadbimage.xsd.FindBooksResponse.MY_QNAME),
factory);
return builder.getEnvelope();
}else{
//todo finish this onece the bean serializer has
the necessary methods
return null;
}
}
private org.apache.axiom.om.OMElement
toOM(com.example.www.onlinebooksadbimage.xsd.FindBooksRequest
param, boolean optimizeContent){
if (param instanceof
org.apache.axis2.databinding.ADBBean){
org.apache.axiom.om.impl.builder.StAXOMBuilder builder
= new
org.apache.axiom.om.impl.builder.StAXOMBuilder
(org.apache.axiom.om.OMAbstractFactory.getOMFactory(),
new
org.apache.axis2.util.StreamWrapper(param.getPullParser(com.example.www.onlinebooksadbimage.xsd.FindBooksRequest.MY_QNAME)));
org.apache.axiom.om.OMElement documentElement =
builder.getDocumentElement();
((org.apache.axiom.om.impl.OMNodeEx)
documentElement).setParent(null); // remove the parent link
return documentElement;
}else{
//todo finish this onece the bean serializer has
the necessary methods
return null;
}
}
private
org.apache.axiom.soap.SOAPEnvelope
toEnvelope(org.apache.axiom.soap.SOAPFactory factory,
com.example.www.onlinebooksadbimage.xsd.FindBooksRequest
param, boolean optimizeContent){
if (param instanceof
org.apache.axis2.databinding.ADBBean){
org.apache.axis2.databinding.ADBSOAPModelBuilder builder =
new
org.apache.axis2.databinding.ADBSOAPModelBuilder(param.getPullParser(com.example.www.onlinebooksadbimage.xsd.FindBooksRequest.MY_QNAME),
factory);
return builder.getEnvelope();
}else{
//todo finish this onece the bean serializer has
the necessary methods
return null;
}
}
/**
* 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){
try {
if
(com.example.www.onlinebooksadbimage.xsd.FindBooksResponse.class.equals(type)){
return
com.example.www.onlinebooksadbimage.xsd.FindBooksResponse.Factory.parse(param.getXMLStreamReaderWithoutCaching());
}
if
(com.example.www.onlinebooksadbimage.xsd.FindBooksRequest.class.equals(type)){
return
com.example.www.onlinebooksadbimage.xsd.FindBooksRequest.Factory.parse(param.getXMLStreamReaderWithoutCaching());
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return null;
}
}
>Hi,
>There was a considerable number of changes in MTOM as well as in ADB.
>Hope you are using the same set of jars to code generate as well as to
>compile. Please don't mix the stuff at any cost...
>In the mean time please post your WSDL and any stack trace you are
>getting...
>~Thilina
On 10/29/06, moiz ghori <[EMAIL PROTECTED]> wrote:
> Hi, I wanted to know that is there any difference b/w the implementation
of
> MTOM in Axis2 (1.0 release) and Axis2 1.0 SANPSHOT available. My code is
> working fine on Axis2 1.0 release but it is not working on the SNAPSHOT
and
> giving wired compile time errors.
> I am generating code from WSDLToJava(using ADB) and this genetated code is
> different and shows complile time errors. I spend whole day but I couldnt
> make it to work.
--
http://webservices.apache.org/~thilina/
http://thilinag.blogspot.com/
________________________________
Now you can have a huge leap forward in email: get the new Yahoo! Mail.
--
http://webservices.apache.org/~thilina/
http://thilinag.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]