SOAPメッセージの解析に関連する問題があります。
これはメッセージである:添付ファイル付きのSOAP SAAJ
------=_Part_3_5438437.1107262647279
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Body>
<content>
[...]
</content>
</soap-env:Body>
</soap-env:Envelope>
------=_Part_3_5438437.1107262647279
Content-Type: text/plain; charset=ISO-8859-1
text
------=_Part_3_5438437.1107262647279--
これは、メッセージを受信して解析する必要があり、私のJavaサーブレットの抽出物である:
messageFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
message = messageFactory.createMessage(mimeHeaders, req.getInputStream());
サーブレットをテストするために、私はJMeterのを使用しています。 HTTPリクエストの生のポストボディにSOAPメッセージを入れます。この置くIヘッダーで : コンテンツタイプのマルチパート/関連; Part_3_5438437.1107262647279
境界= ---- = _を問題番号1:デバッグ私はその境界を見るので、SAAJで解析が盗聴されているようです - = nullのように見えますが、=がトークンとして使用でき、それ以上のものは使用できません。だから、身体とヘッダーの両方から取り除いた。私は受け取った入力を変更することができないので、これは大きな問題ですが、しばらく私ができるとふりましょう。 これで問題番号2に進みます:境界が正しく解析されましたが、この例外が発生しました。com.sun.xml.messaging.saaj.SOAPExceptionImpl:SOAPパートのContent-Typeが不正です:text/plain
[OK]を、私はContent-Typeヘッダにタイプを追加する必要があり、私はそれを解決する方法を知っていると信じて: コンテンツタイプ関連/マルチパート;タイプ= text/xmlで、境界= ----_ Part_3_5438437.1107262647279
はい、もちろん、私は別の厄介な例外があります。com.sun.xml.messaging.saaj.SOAPExceptionImpl:com.sun.xml.messaging.saaj.soap.MessageImpl.parseContentTyでメッセージ を内部化することができませんがpe(MessageImpl.java:337)
私はsaaj-impl-1.3.18とsaaj-api-1.3.3を使用しています。
Javaのバージョン "1.6.0_29"
のJava(TM)SEランタイム環境(1.6.0_29-b11-402-11D50bを構築)
は、Java HotSpot(TM)64ビットサーバーVM(20.4-b02-402を構築し、混合モード)問題番号2の嘘に