2

DIGEST 認証を使用して PHP SOAP Web サービスから Authorization ヘッダーを取得する際に問題が発生しています。(PHP クライアントは Web サービスで正しく動作します)。

エラー 401 が表示されますが、封筒のヘッダーが見つかりません。headerIn フィールドが空です。

何らかの方法で Web サービスに接続する必要があります。ヘッダーを取得し (主な問題)、Digest 認証ヘッダーを再作成し (これは簡単です)、認証情報を使用して Web サービスに再度接続します。

何かアドバイス?

@Override
protected String doInBackground(SoapProperty... soapProperties) {
    if(this.methodName.isEmpty())
        throw new IllegalArgumentException("methodName is not specified");

    String response="";
    android.os.Debug.waitForDebugger();

    try{
        String SOAP_ACTION = this.namespace + "/" + this.methodName;
        SoapObject request = new SoapObject(this.namespace, this.methodName);

        for(SoapProperty s : soapProperties){
            request.addProperty(s.getKey(), s.getValue());
        }

        SoapSerializationEnvelope envelope;
        envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        envelope.setOutputSoapObject(request);

        HttpTransportSE ht = new HttpTransportSE(this.url);

        ht.call(SOAP_ACTION, envelope);
        response = (String)envelope.getResponse();
    }
    catch(Exception e){
        e.printStackTrace();
        publishProgress(true);
    }

    return response;
}
4

0 に答える 0