2012-02-28 6 views
1

生XMLを文字列として含むSoapPrimitiveを返すWSを介して実行しました。この例応答に見ることができるように、ResultXML要素の内容は、エスケープXMLWebServiceはエスケープされたXMLを含むSoapPrimitiveを返します

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetJourneyPathResponse xmlns="http://www.etis.fskab.se/v1.0/ETISws"><GetJourneyPathResult><Code>0</Code><Message /><ResultXML>&lt;Part&gt;&lt;From&gt;&lt;Id&gt;254197... 

通常、私は

SoapObject soapObject = (SoapObject) response.getProperty("EndPoints"); 

ような何かを行うが、この場合でしまうのいくつかの種類そのものである文字列ですそれは動作していません(クラスキャスト例外)。これは、KSOAPが結果を複雑なオブジェクトではなく文字列プリミティブとして見ているからだと思います。だから私は代わりに

SoapPrimitive Partsp = (SoapPrimitive) response.getProperty("ResultXML"); 

これは動作し、今は文字列のXMLにアクセスできます。しかし、次に何?

私は気持ちよくするために、XML文字列をSoapObjectに変換したいと考えています。それは可能ですか?

このSOAPレスポンスは、私にはむしろうんざりしているようですが、私ができることはそれほどありません。

Peter

答えて

0

どのように応答していますか?応答がどのように見えるかを確認するためにデバッグを試みましたか?これは間違いなく奇妙で、どのようにすべきかではありません。

+0

このwsは約5のファミリの1つです。もう1つは、私が返すSoapObjectsを使用しており、すべてが順調です。私はこのWSを呼び出すときには何もしません。異なる応答の内容です。 – Rhubarb65

+0

第2の考えでは、XML文字列をSoapObjectに変換しようとするのはおそらく悪い考えです。 XMLにはルートを構成する多くの座標が含まれています。私はたぶん文字列を解析したいだけです。私はJavaでこれを経験していませんが、XMLPullParserは最も簡単で速いかもしれません。 – Rhubarb65

+0

getResponseを呼び出して解析するだけで自動的にSoapObjectツリーになります。 XMLPullParserを使用している場合、ksoapを使用しない場合は、それを2回実行します。 –

関連する問題