2016-09-21 7 views
1

SOAPメッセージを処理し始めています。この応答の文字列を取得して画像に変換する必要がありますが、問題は文字列を取得することですと。JavaのSOAP C#Webserviceから単一のデータを取得

<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> 
     <ObtenerImagenResponse xmlns="http://localhost/WebService"> 
     <ObtenerImagenResult>This is a picture</ObtenerImagenResult> 
     </ObtenerImagenResponse> 
    </soap:Body> 
</soap:Envelope> 

Javaから「これは画像です」を抽出するにはどうすればよいですか。

(私はSOAPメッセージを送信することに慣れていて、C & Pのおかげでいくつかのメッセージを受け取ることもできますが、すべての方法で作業する方法はわかりません)。

ありがとうございます。必要に応じてより多くの情報を提供することができますが、これは私が読むことができず、1つの要素を持つ同様のSOAP応答の例です。

+0

XPathを使用できます。http://stackoverflow.com/questions/2811001/how-to-read-xml-using-xpath-in-java –

答えて

0

まあ、これに対する答えはあまり複雑ではありませんでした。

SOAPリクエストの応答が得られたら、本文をDocumentとして抽出し、最初の子の値をStringとして取得します。

SOAPBody sb = soapResponse.getSOAPBody(); 
Document XMLDoc = sb.extractContentAsDocument(); 
NodeList nl = XMLDoc.getElementsByTagName("ObtenerImagenResult"); 
String response = nl.item(0).getFirstChild().getNodeValue(); 
return response; 

これは、アイテムのみを取得するための最良の方法です。それがあなたに役立つことを願っています。

0

あなたはjSoupを使用して、同じような何か行うことができます:基本的にjSoupはあなたがHTML/XMLの大きな塊を通じて照会するためにjqueryのようなセレクタの構文を使用することを可能にするJava用のライブラリです

doc.select("ObtenerImagenResult"); 

を。

コードと説明の詳細を以下に示します。jSoup

関連する問題