WebServiceにデータを送信したいが、それが正常に動作し、文字列にエラーを表示するフィードバックを返さなかった。私はKSOAP2を使用しています。 AndroidアプリケーションでWebサービスが動作していません
私はデバッグするとき、私は次のメッセージが出ます:すべてがそれに応じて働いた場合
オブジェクトが収集されてきたが、org.ksoap2.serialization.SoapObject.toString()
を評価することはできません、それは答える必要があります?私に 'OK' が、WebServiceがXML(responseDump)を返します。
< XMLバージョンを= "1.0" エンコード= "UTF-8"> <石鹸:?Envelopexmlns:石鹸= "のhttp://sc hemas.xmlsoap.org/soap/envelope/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "xmlns:xsd =" http://www.w3.org/2001/XMLSchema "> < soap:Faultsoap:サーバー</faultcode < faultstring> System.Web.Services.Protocols.SoapException:サーバーが要求を処理できませんでした。 --- > System.InvalidOperationException:CommandTextプロパティが初期化されていません。 System.Data.OracleClient.OracleCommandでSystem.Data.OracleClient.OracleCommand.ExecuteでSystem.Data.OracleClient.OracleCommand.get_StatementText()(OciStatementHandle StatementHandleで、CommandBehaviorの行動、ブールneedRowid、OciRowidDescriptor & rowidDescriptor、ArrayListの& resultParameterOrdinals)で mobPrev_SAP.wsvmetta.EnviarDados(文字列でMettaWebService.MettaServicos.EnviarDados(文字列クエリ)でMettaWebService.BancoDados.executaComando(文字列のクエリ)で.ExecuteNonQueryInternal System.Data.OracleClient.OracleCommand.ExecuteNonQueryで(ブールneedRowid、OciRowidDescriptor & rowidDescriptor)()クエリは、c:¥Users¥Deivite¥AppData¥Local¥Temp¥Compilacao¥wsvMetta_Eng¥wsvmetta.asmx.cs:line 65 --- 内の例外スタックトレースの末尾 ---
ここ
WebServiceの送信および受信するためのコードです:終わり
public String transmitWS(String col_numero, String qtd_consumo, String idate_itime, String vlr_med,
String cod_valor, String matric, String texto_obs, String observacao,
String idProgramacao){
String HOST = "";
String NAMESPACE = "";
String URL = ""; //all right here
String SOAP_ACTION = "";
String METHOD_NAME = "";
String resultWS = null;
SoapObject requestTransmit = new SoapObject(NAMESPACE, METHOD_NAME);
PropertyInfo transmitPI = new PropertyInfo();
transmitPI.setType(String.class);
transmitPI.setName("Query");
transmitPI.setValue("update prev_programacao set col_numero = " + col_numero + ", status_ponto = 3, qtd_consumo =" + qtd_consumo + "," +
" idate_itime = TO_DATE('"+ idate_itime +"','YYYY-MM-DD HH24:MI:SS'), vlr_med = " + vlr_med + ", cod_valor = " + cod_valor +
", matric = " + matric +", texto_obs = '" + texto_obs + "', observacao = '" +
observacao + "' where id_programacao = "+idProgramacao+"");
requestTransmit.addProperty(transmitPI);
SoapSerializationEnvelope envelopeTransmit = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelopeTransmit.dotNet = true;
envelopeTransmit.setAddAdornments(false);
envelopeTransmit.implicitTypes = false;
envelopeTransmit.setOutputSoapObject(requestTransmit);
HttpTransportSE androidHttpTransportTransmit = new HttpTransportSE(URL);
//AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);
try {
androidHttpTransportTransmit.debug = true;
androidHttpTransportTransmit.call(SOAP_ACTION, envelopeTransmit);
SoapObject responseTransmit = (SoapObject) envelopeTransmit.getResponse();
resultWS = androidHttpTransportTransmit.requestDump;
resultWS = androidHttpTransportTransmit.responseDump;
Log.i("t", "doInBackground");
} catch (Exception e) {
e.printStackTrace();
}
return resultWS;
}
を、resultWSはnullです。 誰もがこのエラーの原因を知っていますか?
どのようなコードの違いは? – Mushu