Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在blackberry中使用ksoap开发应用程序_Blackberry_Native_Ksoap2 - Fatal编程技术网

在blackberry中使用ksoap开发应用程序

在blackberry中使用ksoap开发应用程序,blackberry,native,ksoap2,Blackberry,Native,Ksoap2,我是黑莓开发的新手。我的任务是使用web服务开发应用程序,以查找位置并将数据发送到服务器 我已经为soap请求开发了以下代码,但是当我将它运行到我的手机上时,什么都没有发生。甚至数据也没有发送到服务器。请帮助我,并提供一些指导,为这个源代码 final class MyScreen extends SplashScreen { private String serviceUrl = "myurl/GPStracker.asmx"; private String service

我是黑莓开发的新手。我的任务是使用web服务开发应用程序,以查找位置并将数据发送到服务器

我已经为soap请求开发了以下代码,但是当我将它运行到我的手机上时,什么都没有发生。甚至数据也没有发送到服务器。请帮助我,并提供一些指导,为这个源代码

final class MyScreen extends SplashScreen  {

    private String serviceUrl = "myurl/GPStracker.asmx";
    private String serviceNamespace = "http://tempuri.org/";
    private String soapAction = "http://tempuri.org/GPSUnikeylogin";
    private String methodName = "GPSUnikeylogin";

    private String imei = GPRSInfo.imeiToString(GPRSInfo.getIMEI(), false);

    private BasicEditField roundedBorderEdit = null;
    private ButtonField bf;
    private String responseBody;
    Hashtable persistentHashtable; 
    PersistentObject persistentObject;
    static final long KEY = 0x9df9f961bc6d6baL;

    public MyScreen(Bitmap popup, int seconds) {
            super(Bitmap.getBitmapResource("bg.png"), 5);

                //persistentObject = PersistentStore.getPersistentObject(KEY);
                 roundedBorderEdit = new BasicEditField();
                 roundedBorderEdit = new BasicEditField("","",50,EditField.EDITABLE | EditField.FILTER_NUMERIC | EditField.FIELD_HCENTER) {
                     public void paint(Graphics g) {
                         super.paint(g);
                         g.drawRect(0, 0, getWidth(), getHeight());
                     }
                 };
                 add(roundedBorderEdit);

                 bf = new ButtonField ("Register", Field.FOCUSABLE);
                 bf.setChangeListener(new FieldChangeListener(){
                     public void fieldChanged(Field field, int context) {

                         callWebService();

                     }
                 });
                 add (bf);

    }   
    private void callWebService()
    {
        String e =  "123";//MyScreen.this.roundedBorderEdit.getText();
        //Dialog.alert(e.toString());

        SoapObject rpc = new SoapObject(serviceNamespace, methodName);
        //Dialog.alert(rpc.toString());

        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

        rpc.addProperty("vUnikey",e.toString());
        rpc.addProperty("vImei_No",imei.toString());

        //Dialog.alert(rpc.toString());
        envelope.setOutputSoapObject(rpc);
        envelope.bodyOut = rpc;
        envelope.dotNet = true;
        envelope.encodingStyle = SoapSerializationEnvelope.XSI;

        HttpTransport ht = new HttpTransport(serviceUrl);//+ ";deviceside=true;apn=blackberry.net");

        Dialog.alert(ht.toString());

        //HttpTransport ht = new HttpTransport(serviceUrl);
        ht.debug = true;
        ht.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
        //Dialog.alert("set to xml");
        String result= null;

        try{

            ht.call(soapAction, envelope);
            Dialog.alert(ht.toString());
            result = (envelope.toString());
            Dialog.alert(result.toString());
        }

        catch (org.xmlpull.v1.XmlPullParserException ex2) {
        }

        catch (Exception ex) {
             String bah = ex.toString();
             System.out.println(bah);
        }
    }
} 
final class MyScreen扩展SplashScreen{
私有字符串serviceUrl=“myurl/GPStracker.asmx”;
私有字符串serviceNamespace=”http://tempuri.org/";
私有字符串soapAction=”http://tempuri.org/GPSUnikeylogin";
私有字符串methodName=“GPSUnikeylogin”;
私有字符串imei=GPRSInfo.imeiToString(GPRSInfo.getIMEI(),false);
private BasicEditField roundedBorderEdit=null;
私人住宅区;
私有字符串响应体;
哈希表持久化哈希表;
PersistentObject PersistentObject;
静态最终长键=0x9df9f961bc6d6baL;
公共MyScreen(位图弹出,整数秒){
super(Bitmap.getBitmapResource(“bg.png”),5);
//persistentObject=PersistentStore.getPersistentObject(键);
roundedBorderEdit=新建基本编辑字段();
roundedBorderEdit=new BasicEditField(“,”,50,EditField.EDITABLE | EditField.FILTER|u NUMERIC | EditField.FIELD_HCENTER){
公共空间涂料(图g){
超级油漆(g);
g、 drawRect(0,0,getWidth(),getHeight());
}
};
添加(圆角边框编辑);
bf=新按钮字段(“寄存器”,字段可聚焦);
bf.setChangeListener(新的FieldChangeListener(){
公共无效字段已更改(字段,int上下文){
callWebService();
}
});
添加(bf);
}   
私有void callWebService()
{
字符串e=“123”//MyScreen.this.roundedBorderEdit.getText();
//Dialog.alert(例如toString());
SoapObject rpc=新的SoapObject(serviceNamespace,methodName);
//Dialog.alert(rpc.toString());
SoapSerializationEnvelope=新的SoapSerializationEnvelope(SoapEnvelope.VER11);
rpc.addProperty(“vUnikey”,例如toString());
rpc.addProperty(“vImei_No”,imei.toString());
//Dialog.alert(rpc.toString());
信封.setOutputSoapObject(rpc);
envelope.bodyOut=rpc;
envelope.dotNet=true;
envelope.encodingStyle=SoapSerializationEnvelope.XSI;
HttpTransport ht=newhttptransport(serviceUrl);//+“deviceside=true;apn=blackberry.net”);
Dialog.alert(ht.toString());
//HttpTransport ht=新的HttpTransport(serviceUrl);
ht.debug=true;
ht.setXmlVersionTag(“”);
//警报(“设置为xml”);
字符串结果=null;
试一试{
ht.呼叫(soapAction,信封);
Dialog.alert(ht.toString());
结果=(envelope.toString());
Dialog.alert(result.toString());
}
catch(org.xmlpull.v1.XmlPullParserException ex2){
}
捕获(例外情况除外){
字符串bah=ex.toString();
系统输出打印项次(bah);
}
}
} 
在上面的代码中,我一直得到调用,直到ht.call(soapAction,信封);在此之后,我没有从服务器得到任何响应。而且我也没有获得适当的方式来授予从设备访问互联网和其他访问权限


所以,请帮助我,并提供一些步骤,帮助我上传数据的soap信封的帮助

您可能想看看ksoap2 android项目。它的代码仍然与Java 1.3/Java ME兼容,应该可以在黑莓设备上正常工作

哎呀。请在另一台计算机上进行网络连接thread@rfsk2010谢谢你的回复,请你解释一下我的代码的哪一部分需要保存在单独的线程中。