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;
}
}
|