WSDL で KSOAP2 3.0.0 を使用しており、Web サービスから「getAllPklNoSort」という関数を呼び出そうとしています。
今、アンドロイドを使って関数を呼び出そうとしています。参考までに、Web サービスには他にもいくつかの機能がありますが、この「getAllPklSort」は機能しませんが、他の機能はうまく機能します。
もう1つの奇妙な点は、この「getAllPklSort」には「email」、「page」、「itemPerPage」の3つの入力パラメーターが必要であり、これら3つのパラメーターはNuSOAPクライアントを使用して呼び出すと正常に機能することです。
これらのコードは常に XMLPullParserException を返しますが、ここでどこが間違っているのかわかりません。
これがコードです。どんな助けでも大歓迎です。
private static final String NAMESPACE = "urn:Server";
private static final String URL = "http://10.0.2.2/project/server.php";
private static String SOAP_ACTION = "urn:Server#getAllPklNoSort";
private static String METHOD_NAME = "Functions.getAllPklNoSort";
public void getSoap()
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
PropertyInfo pi = new PropertyInfo();
pi.setName("email");
pi.setValue(email);
pi.setType(String.class);
PropertyInfo pi2 = new PropertyInfo();
pi2.setName("page");
pi2.setValue(0);
pi2.setType(Integer.class);
PropertyInfo pi3 = new PropertyInfo();
pi3.setName("itemPerPage");
pi3.setValue(10);
pi3.setType(Integer.class);
request.addProperty(pi);
request.addProperty(pi2);
request.addProperty(pi3);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransport = new HttpTransportSE(URL);
try
{
httpTransport.call(SOAP_ACTION, envelope);
}
catch (Exception exception)
{
exception.printStackTrace();
}