0

jaxwsを使用して Web サービスを作成しましたmyeclipse5.1.1GAが、この Web サービス メソッドを で呼び出すことができますeclipse indigo64 bit。問題は、soap オブジェクトのsetparameter()メソッドを使用して webservice にある webmethod のパラメーターを設定できるが、webservice の webmethod に設定されていない場合です。

パラメータの設定方法:

public class MyAsyncTask extends AsyncTask<String, Void, Object> {
    private String METHOD_NAME="";
    private String NAMESPACE="http://ws.easyway3e.com/";
    private String SOAP_ACTION="";
    private static final String URL="http://10.0.2.2:8080/WebService/DBConn?wsdl";
    @Override
    protected Object doInBackground(String... params) {
    System.out.println("Call-1 -----"+params[0]+","+params[1]+",
                       "+params[2]+","+params[3]);
    METHOD_NAME="openConnection";               
    SoapObject request=new SoapObject(NAMESPACE, METHOD_NAME);
    request.addProperty(DRIVERNAME);
    request.addProperty("d_Name",params[0]);
    request.addProperty("c_String",params[1]);
    request.addProperty("u_Name",params[2]);
    request.addProperty("pass",params[3]);
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope
                                         (SoapEnvelope.VER11);
    envelope.dotNet=true;
    envelope.setOutputSoapObject(request);
    System.out.println(envelope.bodyOut.toString());
    HttpTransportSE androidHttpTranportSE=new HttpTransportSE(URL);
    androidHttpTranportSE.setXmlVersionTag("<?xml version=\"1.0\" 
                                           encoding=\"UTF-8\"?>");
    try {
        SOAP_ACTION = NAMESPACE + METHOD_NAME;
        androidHttpTranportSE.call(SOAP_ACTION, envelope);
        SoapPrimitive  resultsRequestSOAP = (SoapPrimitive) envelope.getResponse();
        System.out.println(" Connection is =>"+resultsRequestSOAP.toString());

    } catch (IOException e) { e.printStackTrace(); } 
    Object result = null;
    try { result = envelope.getResponse(); } 
    return result;
}
4

1 に答える 1

0

あなたはすでに自分の質問に答えています。

request.addProperty("d_Name",params[0]);

これは、SOAP Web サービスにパラメーターを追加する正しい方法です。

次のリンクを参照して、Android のすべての Web サービスに関する概念を明確にすることもできます。

Android/Eclipse の Web サービス

http://www.ibm.com/developerworks/webservices/library/ws-android/index.html

于 2012-08-22T12:14:40.437 に答える