2012-01-18 10 views
13

iOSから来ています。私はAndroidでウェブサービスにかなり苦労しています。例を試したり、ブログを読んだり、ウェブサービスとうまくやり取りしたりするのに数時間を費やしましたが、まだ運の問題だと思っています....Ksoap2でエンベロープをチェックする(Android)

ボトムラインと私はエンベロープを見たい送信されます。 iOSでは、送信されるXMLメッセージを見て、それをSoapUIなどと比較し、何が間違っているかを理解できます。私たちはそれをすることはできませんか?呼び出しの前にXMLをSystem.out.printに出力しますか?

また、Ksoap2の例外が非常に貧弱であるため、私は応答に同じことをしたいと思います。

申し訳

これはかなり基本的な質問ですが、私は少しイライラ取得しています:(

答えて

32

あなたHttpTransportSE androidHttpTransportを作成した後、あなたが行を追加することができた場合:あなたができるandroidHttpTransport.call(SOAP_ACTION, envelope);を呼び出した後

androidHttpTransport.debug = true; 

androidHttpTransport.requestDump; 
androidHttpTransport.responseDump; 

これらの値をログに出力するか、次の2つの文字列変数にアクセスして、XML形式で要求と応答を取得します。 mをデバッグモードの内側に設定します。

+0

それは働いた。 Tnks – inversus

+0

私のために働いた:) thanks – user1007522

+0

androidHttpTransport.requestDump give me null – Killer

2

Eclipse(ウィンドウ - >表示 - >デバッグ - > TCP/IPモニタ)などのTCP/IPモニタを使用します。私は、XMLエンベロープを印刷することは、デバッグのためだけであるため、コードには含まれていないと主張します。 Webサービスがポート8080でリッスンしている場合は、ポート8081でリッスンし、ポート8080を監視するようにモニターを構成します。次にSOAPクライアントをポート8081でポイントします。TCP/IPモニターはXMLを受信して​​表示し、それは8080で実際のサービスにそれを返します。それは応答のために同じことを行います。これはまた、SoapUI(ポート8081でポイントするだけ)を動作させます。

関連する問題