Как читать заголовки запросов SOAP API с помощью Java SpringJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как читать заголовки запросов SOAP API с помощью Java Spring

Сообщение Anonymous »

Ниже приведен мой запрос на мыло. Мне нужно прочитать заголовки мыла с помощью Spring Boot Java, как я могу это сделать.
Перепробовал все возможные сценарии. Я могу читать заголовки без целевого пространства имен, но если я задействую целевое пространство имен это выдает ошибку исключения нулевого указателя. Заранее спасибо за помощь.
Фактическое требование, требующее решения:

Код: Выделить всё


XmasTree
kite123



NEFT
AUT1123456
1000.00
124236541582
AUT1
30-04-2021
Collection



Возможность обойтись без целевого пространства имен:

Код: Выделить всё


XmasTree
kite123



NEFT
ADAN12345678
1000
108328359093
ADAN
17-11-2020 13:10:12
Collection



Рабочий код:

Код: Выделить всё

@Endpoint
public class EcCustom67AEndPoint {

private static final String NAMESPACE_URI = "http://www.example.org/EcCustom67ARequest/";

@PayloadRoot(namespace = NAMESPACE_URI, localPart = "EcCustom67A")
@ResponsePayload
public EcCustom67AResponse getEcCustom67A(@RequestPayload EcCustom67A request,
@SoapHeader(value = "CUSTOMERNAME") SoapHeaderElement customerName,
@SoapHeader(value = "EMPID") SoapHeaderElement empid) throws JAXBException {
EcCustom67AResponse response = new EcCustom67AResponse();

String custName = customerName.getText();
String empID = empid.getText();

response.setAMOUNT(request.getAMOUNT().replaceAll(",", ","));
response.setCREDITACCOUNTNUMBER(request.getCREDITACCOUNTNUMBER());
response.setCUSTOMERCODE(request.getCUSTOMERCODE());
response.setVAN(request.getVAN());
response.setPAYMENTMODE(request.getPAYMENTMODE());
response.setTRANSACTIONDATE(request.getTRANSACTIONDATE());
response.setADDINFO(request.getADDINFO());

if (custName.equals("XmasTree") && empID.equals("kite123")) {
if (response.getAMOUNT() != null) {
if (Float.parseFloat(response.getAMOUNT().replaceAll(",", "")) >= 1000) {
response.setSTATUS("Success");
response.setREMARKS("Beneficiary Account Credited");
} else if (Float.parseFloat(response.getAMOUNT().replaceAll(",", "")) <  1000) {
response.setSTATUS("Reject");
response.setREMARKS("Transaction Failed");
}
} else {
response.setSTATUS("Reject");
response.setREMARKS("Transaction Failed");
}

} else{
response.setPAYMENTMODE(null);
response.setVAN(null);
response.setAMOUNT(null);
response.setCREDITACCOUNTNUMBER(null);
response.setCUSTOMERCODE(null);
response.setTRANSACTIONDATE(null);
response.setADDINFO(null);

response.setSTATUS("Reject");
response.setREMARKS("Invalid Authentication");

JAXBContext jc = JAXBContext.newInstance(IPValAllField219Response.class);
Marshaller marshaller = jc.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
}

return response;
}

}
Примечание: Рабочий код выполняет работу без spce целевого имени, но если я включаю spce целевого имени, это дает мне исключение нулевого указателя. Пожалуйста, помогите по вышеуказанной проблеме и заранее спасибо .

Подробнее здесь: https://stackoverflow.com/questions/673 ... ava-spring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»