黑莓肥皂反应

时间:2011-10-12 09:34:19

标签: web-services blackberry

我正在尝试使用.net webservices,我可以建立连接。然而,这是我得到的回应:

[0.0] anyType{NewDataSet=anyType{Table=anyType{Card_ID_PK=2243; PAN=63369610009001016; Expiry_Date[0.0] =15/06/2015; Embossed_Name=IDL IG scheme; 

我希望他们拆分并将其显示为表格。我在谷歌搜索,我发现了一些方法,如split(),但只能划分单个字符,我还需要删除字符的方法,并使用它们作为键值对使用。

这是我的肥皂代码:

       // TODO Auto-generated method stub
    if (DeviceInfo.isSimulator()) {
        URL = URL + ";deviceSide=true";
    }

        SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);    //soap object to open the namespace and method name
        rpc.addProperty("CH_ID","15");              
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);                     

    envelope.bodyOut = rpc;
    System.out.println("envelope response"+envelope.bodyOut.toString());
    envelope.dotNet = true;                                                                                                                    
    envelope.encodingStyle = SoapSerializationEnvelope.XSD;             
    System.out.println("in soap");

    envelope.setOutputSoapObject(rpc);

        HttpTransport ht = new HttpTransport(URL);          
        ht.debug = true;                    
       try {
    System.out.println("int try");
    ht.call(SOAP_ACTION, envelope);                 
              System.out.println("int try");

               SoapObject resultProperties = (SoapObject) envelope.getResponse();       
            System.out.println("IN TRY");
                                            String res=resultProperties.getProperty(1).toString();
            System.out.println("Response"+res);

            String[] pattern={"{","}","anytype","Table",";"};
            String replacement="";
            String array=replaceall(res,pattern,replacement);


                System.out.println(" array element:"+array[i]);

替换所有方法:

   public String replaceall(String str, String[] pattern, String replacement)
       {
    if(str==null)
    {
        return "";
    }
    StringBuffer sb=new StringBuffer();

    int index=-1;
    String workingSource = str;

        for(int i=0;i<pattern.length;i++)
    {
    while ((index = workingSource.indexOf(pattern[i])) != -1)
    {

        sb.append(workingSource.substring(0, index));
                sb.append(replacement);

        sb.append(workingSource.substring(index + pattern[i].length()));

                workingSource = sb.toString();

                sb.delete(0, sb.length());
    }
    }


    return workingSource;




}

}

0 个答案:

没有答案