AndroidでSOAPサービスのリクエストを投稿するにはどうすればよいですか?
例を教えてください
私に知識を共有してくれてありがとう
AndroidでSOAPサービスのリクエストを投稿するにはどうすればよいですか?
例を教えてください
私に知識を共有してくれてありがとう
KSoap ライブラリを使用します。これは私のプロジェクトのコードスニペットです。
SoapObject soapObject = new SoapObject(NAMESPACE_NIST_IMPORT,
METHOD_NAME_NIST_IMPORT);
ImportNistFileReq nistReq = new ImportNistFileReq(nistFile);
PropertyInfo pi = new PropertyInfo();
pi.setName("req");
pi.setValue(nistReq);
pi.setType(nistReq.getClass());
soapObject.addProperty(pi);
SoapSerializationEnvelope soapSerializationEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
new MarshalBase64().register(soapSerializationEnvelope);
soapSerializationEnvelope.setOutputSoapObject(soapObject);
soapSerializationEnvelope.addMapping(NAMESPACE_NIST_IMPORT, "ImportNistFileReq", new ImportNistFileReq().getClass());
soapSerializationEnvelope.dotNet = true;
Object objectResult = null;
try {
HttpTransportSE httpTransportSE = new HttpTransportSE(
URL_NIST_IMPORT);
httpTransportSE.debug = true;
httpTransportSE.call(SOAP_ACTION_NIST_IMPORT, soapSerializationEnvelope);
String host = httpTransportSE.getPath();
Log.i("HOST: ", host);
objectResult = (Object) soapSerializationEnvelope.getResponse();
} catch (IOException e) {
Log.e("IO: ", e.getMessage());
} catch (XmlPullParserException e) {
Log.e("XML: ", e.getMessage());
}
このコードは、エンコードされたNIST ファイルを Web サービスに送信します。このようなリクエストは、AsyncTaskなどの別のスレッドで呼び出す必要があります。byte array
Byte64
定数:
.NET サービスによって提供されるwsdlファイルを参照します。素晴らしいチュートリアルはこれです。不明な点がある場合は、質問してください。幸運を。