Я пытаюсь прочитать заголовок запроса SOAP от конечной весной так:чтения заголовка запроса SOAP с Spring
@PayloadRoot(namespace = NAMESPACE_URI, localPart = "getCountryRequest")
@ResponsePayload
public GetCountryResponse getCountry(@RequestPayload GetCountryRequest request, MessageContext context) {
GetCountryResponse response = new GetCountryResponse();
response.setCountry(countryRepository.findCountry(request.getName()));
return response;
}
Как вы можете видеть, у меня есть MessageContext в качестве параметра в методе Дескриптор конечная точка и я следующее, чтобы попытаться прочитать заголовок SOAP приходя из тэ запроса:
SaajSoapMessage soapRequest = (SaajSoapMessage) messageContext.getRequest();
SoapHeader reqheader = soapRequest.getSoapHeader();
while (itr.hasNext()) {
SoapHeaderElement ele = itr.next();
}
Видимо я получаю доступ к заголовку SOAP, но на данный момент I'm не совсем уверен, как читать значение любого элемента заголовка SOAP, я пробовал разные подходы без успеха.
Например, если следующий запрос SOAP исходит из SoapUI я хочу прочитать значение 123456 от NetworkCode элемента:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<ns1:RequestHeader
soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
soapenv:mustUnderstand="0"
xmlns:ns1="https://www.google.com/apis/ads/publisher/v201508">
<ns1:networkCode>123456</ns1:networkCode>
<ns1:applicationName>DfpApi-Java-2.1.0-dfp_test</ns1:applicationName>
</ns1:RequestHeader>
</soapenv:Header>
<soapenv:Body>
<getAdUnitsByStatement xmlns="https://www.google.com/apis/ads/publisher/v201508">
<filterStatement>
<query>WHERE parentId IS NULL LIMIT 500</query>
</filterStatement>
</getAdUnitsByStatement>
</soapenv:Body>
</soapenv:Envelope>
Заранее спасибо и наилучшие reards.
Привет, Спасибо за ваш ответ , Запросы могут быть отправлены от soapUI или любого другого клиента, вызывающего мою веб-службу, поэтому мне нужно будет прочитать заголовок мыла с конечной точки весной. Лучшие советы. – Rajesh
Эта ссылка может помочь вам http://forum.spring.io/forum/spring-projects/web-services/21999-reading-soap-header-element-values-using-soapheaderelement – TestHat