[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ksoap: Problem with ksoap and .Net


I'm new to ksoap so I tried to use the StockQuoteDemo to my way.


My problem is that I can connect to the WebService that I created but I can't 
get to pass parameters to the methods.

For example when I try to send something to the "Test" (like "teste") method I 
get for response the string " sssss   ss" but the result I was hoping for was 
" sssss   ssteste".

If someone can help me...

Thanks in advance.

This is my java code:


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
import javax.microedition.io.*;

import org.ksoap2.*;
import org.ksoap2.serialization.*;
import org.ksoap2.transport.*;

public class StockQuoteDemo2 extends MIDlet implements CommandListener {

    Form mainForm = new Form("DF");
    TextField symbolField = new TextField("Symbol", "IBM", 5, TextField.ANY);
    StringItem resultItem = new StringItem("", "");
    Command getCommand = new Command("Get", Command.SCREEN, 1);

    public StockQuoteDemo2() {
        mainForm.append(symbolField);
        mainForm.append(resultItem);
        mainForm.addCommand(getCommand);
        mainForm.setCommandListener(this);
    }

    public void startApp() {
        Display.getDisplay(this).setCurrent(mainForm);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command c, Displayable d) {
        try {
            // build request string
            String symbol = symbolField.getString();
 

            //SoapObject rpc = new SoapObject("http://tempuri.org/","Test";);
                
              SoapObject rpc = new SoapObject("","Test");   
          rpc.addProperty("a","teste");

		
            SoapSerializationEnvelope envelope =
                new SoapSerializationEnvelope(SoapEnvelope.VER11);
		

            envelope.bodyOut = rpc;
           

            resultItem.setLabel(symbol);

            HttpTransport ht = new HttpTransport("http://localhost:8080/NewFile.
asmx");
             ht.debug = true;
             
             try {
             	System.out.println("Vai tentar ligar");
             
                ht.call("http://tempuri.org/Test",envelope);
                System.out.println(envelope.bodyIn.toString());
                
                System.out.println(envelope.toString());
                System.err.println (ht.requestDump);  
                System.err.println (ht.responseDump);  
              
             }
             catch (Exception e) {
                e.printStackTrace();
                System.err.println (ht.requestDump);  
                System.err.println (ht.responseDump);  
             }

            resultItem.setText("" + envelope.getResult());

        }
        catch (Exception e) {
            e.printStackTrace();
            resultItem.setLabel("Error:");
            resultItem.setText(e.toString());
        }
    }

    /** for me4se */

    public static void main(String[] argv) {
        new StockQuoteDemo2().startApp();
    }
}



And this is my C# webservice : NewFile.asmx


<%@ WebService language="C#" class="teste" %>

using System;
using System.Web.Services;
using System.Xml.Serialization;



public class teste{

    [WebMethod]
    public string Add(string param1, string param2) {
        return " cdfs  "+param1;
    }

    [WebMethod]
    public string Sub(string a, string b) {


        return "testes"+a+b;
    }

    [WebMethod]
    public string Test(string a)
    {
        return " sssss   ss"+a;
    }
}