API kSoap для J2ME - PullRequest
       13

API kSoap для J2ME

0 голосов
/ 31 октября 2009

Я использую API-интерфейс ksoap / ksoap2 для вызова веб-службы php из j2me.

Для ksoap:

SoapObject client = new SoapObject(NAMESPACE, "ns2221:save_record");
        client.addProperty("cc", "1234560789");

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        XmlWriter xw = new XmlWriter(new OutputStreamWriter(bos));

        SoapEnvelope envelope = new SoapEnvelope(new ClassMap(Soap.VER11));
        envelope.setEncodingStyle("http://schemas.xmlsoap.org/soap/encoding/");
        envelope.setBody(client);
        envelope.write(xw);
        xw.flush();
        bos.write('\r');
        bos.write('\n');

        byte[] requestData = bos.toByteArray();
        String requestSOAPmesg = new String(requestData);
        System.out.println("request Soap Message: " + requestSOAPmesg);

        HttpTransport ht = new HttpTransport();
        ht.setUrl(url);
        ht.setSoapAction(NAMESPACE);
        SoapObject o = (SoapObject) ht.call(client);

использовали ..

и в ksoap2

SoapObject client = new SoapObject("http://192.168.0.205:82/imageuploader/save_record.php#save_record", "ns8862:save_record");
        client.addProperty("cc", "1234560789");

        //Create Envelope for
        Object so=soapMsg;
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.dotNet=false;
        envelope.bodyOut=client;
        System.out.println("Before Envelope");


        HttpTransport ht = new HttpTransport(url);
        ht.call("http://192.168.0.205:82/imageuploader/save_record.php#save_record", envelope);
        SoapObject o=(SoapObject) envelope.getResponse();

использовали ..

возвращает меня

Строка ошибки:

faultstring: 'Операция' ns8862: save_record 'не определена в WSDL для этой службы' faultactor: '' detail: org.kxml2.kdom.Node@ea0ef881

в веб-сервисе первый тег ns8862: save_record меняется каждый раз, когда передается запрос на 4 числа.

Есть решение?

1 Ответ

1 голос
/ 03 марта 2010

Проверьте веб-сервис на наличие заглавных букв. Ошибка гласит, что «save_record» не определено. Может быть, это «Save_Record» или «saveRecord». Убедитесь, что вы придерживаетесь шаблона.

...