1

我在 andorid 中使用 web 服务 .svc WCF .net webservice 来获取登录详细信息。

private static final String SOAP_ACTION = "http://tempuri.org/IJobSeekerService/Authenticate";
private static final String METHOD_NAME = "Authenticate";
private static final String URL ="http://dev.spotjobs.com.au/api/SpotJobs.WebServices.JobSeekerService.svc" ;
private static final String  NAMESPACE = "http://tempuri.org/"; 
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);

    request.addProperty("apiSecret", "bksnd");
    request.addProperty("apiKey","{abcdhhyyrt}");
    request.addProperty("userID", "payal jain");
    request.addProperty("userPassword","11111111");
    request.addProperty("deviceType","Android");
    request.addProperty("deviceToken","abcd");
    request.addProperty("registrationID","12345a");
    Log.e("", "u urlenvelop-enevlop----" + request);
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
   // envelope.dotNet = true;
    envelope.setOutputSoapObject(request);
    Log.e("", "u urlenvelop-enevlop-...............................---" + envelope);
    HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

    try {


        Log.e("", "u urlenvelop-enevlop-................rrreeeeeeeeeeeeeee...............---" + envelope);
        androidHttpTransport.call(SOAP_ACTION, envelope);  
        if (envelope.bodyIn instanceof SoapFault) {
            String str= ((SoapFault) envelope.bodyIn).faultstring;
            Log.i("", str);

            // Another way to travers through the SoapFault object
        /*  Node detailsString =str= ((SoapFault) envelope.bodyIn).detail; 
            Element detailElem = (Element) details.getElement(0) 
                         .getChild(0); 
            Element e = (Element) detailElem.getChild(2);faultstring; 
            Log.i("", e.getName() + " " + e.getText(0)str); */
        } else {
            SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
            Log.d("WS", String.valueOf(resultsRequestSOAP));
        }
        /*SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn;
        Log.i("myApp", resultsRequestSOAP.toString());*/

    } catch (Exception e) {
        e.printStackTrace();
    }
}

但我收到一个错误:

DEBUG/dalvikvm(1809): DexOpt: not verifying 'Lorg/xmlpull/v1/XmlSerializer;':
multiple definitions
08-16 15:51:35.196: WARN/System.err(1848): org.xmlpull.v1.XmlPullParserException: unterminated entity ref (position:TEXT �������������`I�...@1:18 in java.io.InputStreamReader@44e9baa0) 
08-16 15:51:35.258: WARN/System.err(1848):     at org.kxml2.io.KXmlParser.exception(KXmlParser.java:273)
08-16 15:51:35.258: WARN/System.err(1848):     at org.kxml2.io.KXmlParser.error(KXmlParser.java:269)
08-16 15:51:35.258: WARN/System.err(1848):     at org.kxml2.io.KXmlParser.pushEntity(KXmlParser.java:787)
08-16 15:51:35.258: WARN/System.err(1848):     at org.kxml2.io.KXmlParser.pushText(KXmlParser.java:855)
08-16 15:51:35.258: WARN/System.err(1848):     at org.kxml2.io.KXmlParser.nextImpl(KXmlParser.java:354)
08-16 15:51:35.266: WARN/System.err(1848):     at org.kxml2.io.KXmlParser.next(KXmlParser.java:1385)
08-16 15:51:35.266: WARN/System.err(1848):     at org.kxml2.io.KXmlParser.nextTag(KXmlParser.java:1415)
08-16 15:51:35.266: WARN/System.err(1848):     at org.ksoap2.SoapEnvelope.parse(SoapEnvelope.java:127)
08-16 15:51:35.266: WARN/System.err(1848):     at org.ksoap2.transport.Transport.parseResponse(Transport.java:100)
08-16 15:51:35.266: WARN/System.err(1848):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:214)
08-16 15:51:35.276: WARN/System.err(1848):     at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:96)
08-16 15:51:35.276: WARN/System.err(1848):     at com.example.sample.MainActivity.onCreate(MainActivity.java:44)

谁能告诉我解决方案谢谢

4

0 回答 0