2

SOAP メッセージを作成して送信するために、Java 7 で SAAJ を使用しています。本体以外は揃っています。XML ファイルの内容を、フォーマット エラーなしで SOAP メッセージの本文に取り込む必要があります。DOM ドキュメントを使用してみました。スキャナーで行ごとに読み取り、手動で追加しようとしましたが、どれも機能しません。DOM ドキュメント ソリューションは、メッセージのヘッダーと本文を削除するだけで済み、他のソリューションは「<」と「">」の文字をそれぞれ「<」と「">」で上書きし続けます。String.replaceWith() を使用してこれをハックしようとしましたが、SOAP メッセージが送信されると変更が発生します。xml ファイルから SAAJ オブジェクトを作成する巨大なパーサーをコーディングせずにこれを達成する方法を知っている人はいますか? ありがとう。

4

2 に答える 2

0

使用することもできます

 SOAPMessage message = getSoapMessageFromString("<a><b><c>hello</c><d test='attrib'>foo</d></b>blablabla</a>");

 private static SOAPMessage getSoapMessageFromString(String xml)
        throws SOAPException, IOException {

    MessageFactory factory = MessageFactory.newInstance();

    // Create a new message object with default MIME headers and the data
    // from the XML string we passed in
    SOAPMessage message = factory
            .createMessage(
                    new MimeHeaders(),
                    new ByteArrayInputStream(xml.getBytes(Charset
                            .forName("UTF-8"))));
    return message;
}

xml テキストを既に文字列オブジェクトに解析しており、解析や検証を気にしない場合。

于 2015-02-27T21:50:42.520 に答える