Spring WS で Jaxb 2 を使用しています。特定のペイロードに向けられたインターセプターがあり、正常に動作します。
ここで私の要件は、インターセプターの handleRequest メソッドから要求パラメーターを読み取ることです。私はこれがかなり簡単であることを知っています。ただし、リクエスト パラメータを読み取る方法がわかりませんでした。現時点では、私の handleRequest メソッドは以下のようになっています。
@Override
public boolean handleRequest(MessageContext messageContext, Object endpoint)
throws Exception {
boolean proceed = true;
SaajSoapMessage saajSoapMessage =
(SaajSoapMessage) messageContext.getRequest();
SOAPMessage soapMessage = saajSoapMessage.getSaajMessage();
Document doc = saajSoapMessage.getDocument();
Element element = doc.getElementById("request");
}
私のエンドポイントクラスの関連部分は
@PayloadRoot(namespace = NAMESPACE, localPart = "confirOrderRequest")
public @ResponsePayload ConfirmOrderResponse handleConfirmOrder(
@RequestPayload ConfirmOrderRequest confirmOrderRequest) {
...........
}
ここで私の要件はConfirmOrderRequest
、インターセプターの handleRequest メソッドに付属する orderId を取得することです。これを直接行う方法はありますか、それとも XML 解析を行う必要がありますか?