View Single Post
Old 05-29-2006, 04:01 PM   #11
itnwc
New Member
 
Join Date: Apr 2006
Model: 7100
Posts: 7
Default

thanks jfisher, i use ksoap 1.2 now, and i use all the files from your example, but the result is the same, now my code is as following:
********************************************
package Server2BB_WebService.Server2BBService;

import net.rim.device.api.ui.*;
import net.rim.device.api.ui.component.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.system.*;

import java.util.*;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
import javax.microedition.io.*;
import Server2BB_WebService.Server2BBService.MarshalAddr;
import org.ksoap.*;
import org.ksoap.ClassMap;
import org.ksoap.transport.*;


public class StockQuoteDemo extends UiApplication
{
public static void main (String[] args)
{
StockQuoteDemo theApp = new StockQuoteDemo ();
theApp.enterEventDispatcher ();
}

public StockQuoteDemo ()
{
pushScreen (new StockQuoteScreen ());
doSOAP();
}

final class StockQuoteScreen extends MainScreen //implements FieldChangeListener
{
LabelField resultItem;
BasicEditField symbolField;
ButtonField bf;

public StockQuoteScreen ()
{
LabelField title = new LabelField ("StockQuote Sample", LabelField.ELLIPSIS|LabelField.USE_ALL_WIDTH);
setTitle (title);

symbolField = new BasicEditField ("Stock Symbol ", "ORCL", 4, BasicEditField.EDITABLE|BasicEditField.FILTER_UPPE RCASE);
resultItem = new LabelField ("Stock Price", LabelField.ELLIPSIS|LabelField.USE_ALL_WIDTH);

bf = new ButtonField ("Get price", Field.FOCUSABLE);
//bf.setChangeListener (this);

add (symbolField);
add (resultItem);
add (bf);
}

public boolean onClose ()
{
Dialog.alert ("Goodbye!");
System.exit (0);
return true;
}
}
public void doSOAP()
{
try
{
ClassMap classMap = new ClassMap ();
classMap.addMapping ("http: ipadresse/Server2BB-WebService/Server2BBService", "SimpleClass", new SimpleClass().getClass());
SoapObject rpc = new SoapObject ("http: ipadresse/Server2BB-WebService/Server2BBService",
"getSimpleClass1");
rpc.addProperty("userstr","sam");
rpc.addProperty("conStr","sung");


HttpTransport ht = new HttpTransport ("http:ipadresse/Server2BB_WebService/Server2BBWebservice.asmx",
"http: ipadresse/Server2BB_WebService/Server2BBService/getSimpleClass1");
ht.setClassMap(classMap);
ht.debug = true;

SimpleClass sc = (SimpleClass) ht.call(rpc);
System.out.println(sc.i);
System.out.println(sc.str);
}

catch (Exception e)
{
e.printStackTrace ();
System.out.println(e.toString());

}
}
}
************************************************** *
/*
* SimpleClass.java
*
* xxx169; <your company here>, 2003-2005
* Confidential and proprietary.
*/

package Server2BB_WebService.Server2BBService;

import java.lang.*;
import java.util.Calendar;
import org.kobjects.serialization.*;


/**
*
*/
class SimpleClass implements KvmSerializable{
public String str;
public int i;
SimpleClass(){}
SimpleClass(String str,int i) {this.str = str; this.i = i; }

public Object getProperty (int index) {
switch (index) {
case 0: return str;
case 1: return new Integer (i);
default: throw new RuntimeException ();
}
}
public int getPropertyCount(){return 2;}
public void getPropertyInfo (int index, PropertyInfo info) {
switch (index) {
case 0:
info.name = "str";
info.type = Integer.class;
break;
case 1:
info.name = "i";
info.type = Integer.class;
break;
default:
throw new RuntimeException ();
}
}
public void setProperty (int index, Object value) {
switch (index) {
case 0: str = (String) value; break;
case 1: i = ((Integer) value).intValue (); break;
default: throw new RuntimeException ();
}
}
}
**************************************
and the exception is always:
SoapFault - faultcode: 'soap:Client' faultstring: 'System.Web.Services.Protocols.SoapException: Der Server konnte die Anforderung nicht lesen. ---> System.InvalidOperationException: Fehler im XML-Dokument (4,4). ---> System.InvalidOperationException: <getSimpleClass1 xmlns='http: ipaddress/Server2BB-WebService/Server2BBService'> wurde nicht erwartet.
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlS erializationReader1.Read9_getSimpleClass1()
at Microsoft.Xml.Serialization.GeneratedAssembly.getS impleClass1Serializer.Deserialize(XmlSerialization Reader reader)
at System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
--- Ende der internen Ausnahmestapelxxx195;xxx188;berwachung ---
at System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader xmlReader, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize (XmlReader xmlReader)
at System.Web.Services.Protocols.SoapServerProtocol.R eadParameters()
--- Ende der internen Ausnahmestapelxxx195;xxx188;berwachung ---
at System.Web.Services.Protocols.SoapServerProtocol.R eadParameters()
at System.Web.Services.Protocols.WebServiceHandler.In voke()
at System.Web.Services.Protocols.WebServiceHandler.Co reProcessRequest()' faultactor: 'null' detail: [EndTag </detail>]
************************************************** **
i saw many articles and checked the code again and again, but always not resolved it, so does anyone have idea to resolve this problem? any suggestion is helpful.

thanks in advance

itnwc
Offline   Reply With Quote