I had to make the following changes in the addParameter:

_call.addParameter(new javax.xml.namespace.QName("http://tempuri.org/";, "A"),org.apache.axis.Constants.XSD_FLOAT,float.class,ParameterMode.IN); _call.addParameter(new javax.xml.namespace.QName("http://tempuri.org/";, "B"),org.apache.axis.Constants.XSD_FLOAT,float.class,ParameterMode.IN);

instead of
_call.addParameter( "A",org.apache.axis.Constants.XSD_FLOAT,float.class,ParameterMode.IN); _call.addParameter( "B",org.apache.axis.Constants.XSD_FLOAT,float.class,ParameterMode.IN);
Dont know why I did not get any exception if that is not right!!

Thanks,
Ravi

Ravi Krishnamurthy wrote:

Hello:
I'm trying to write a client to document/literal webservice as wrapped style to the following webservice:

http://chs.gotdotnet.com/quickstart/aspplus/samples/services/MathService/VB/MathService.asmx

I have attached my client program. I'm trying to invoke the Add operation. There are 2 static methods in the program:

1. add_good - this gives the expected result (12 + 12 = 24)
2. add_bad - returns 0 - Passing the same input. Looks like I'm doing something wrong which is not very obvious to me. Could someone throw some pointers.

Thanks for your help and time.

Regards,
Ravi


------------------------------------------------------------------------

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.enum.Style;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.ParameterMode;
import java.net.URL;


import java.util.Iterator;

public class MathClient
{
    private static String endpoint = 
"http://chs.gotdotnet.com/quickstart/aspplus/samples/services/MathService/VB/MathService.asmx";;
    private static String wsdlURL = endpoint + "?WSDL";
    public static void main(String [] args) throws Exception {
//checkExists();
        add_good();
add_bad();
        //checkExists();
} public static void add_good() throws Exception{ Service service = new Service(new URL(wsdlURL), new QName("http://tempuri.org/","MathService";));
       Call     _call    = (Call)(service.createCall(new 
QName("http://tempuri.org/","MathServiceSoap";),
                       new QName("http://tempuri/org/","Add";)));
       _call.setSOAPActionURI("http://tempuri.org/Add";);
       _call.setOperationStyle(Style.WRAPPED);
       System.out.println(" Response from add_good is " + _call.invoke(new 
Object[] {new Float(12) , new Float(12)}));
   }
public static void add_bad() throws Exception{ Service service = new Service();
       Call     _call    = (Call)(service.createCall());
_call.setUseSOAPAction(true);
       _call.setSOAPActionURI("http://tempuri.org/Add";);
_call.setTargetEndpointAddress( new java.net.URL(endpoint) );
       _call.setOperationStyle(Style.WRAPPED);
_call.setOperationName(new QName("http://tempuri.org/","Add";));
       
_call.addParameter("A",org.apache.axis.Constants.XSD_FLOAT,Float.class,ParameterMode.IN);
       
_call.addParameter("B",org.apache.axis.Constants.XSD_FLOAT,Float.class,ParameterMode.IN);
_call.setReturnClass(Float.class); System.out.println(" Response from add_bad is " + _call.invoke(new Object[] {new Float(12) , new Float(12)}));
   }
}



Reply via email to