Мы сталкиваемся с проблемой при взаимодействии с веб-службой на основе SOAP в IBM WebSphere Application Server 9. Вызов происходит через файл EAR, который развернут в WAS 9.0 и 8.5.5.12.
Ниже приведентрассировка стека журналов, созданных при взаимодействии: -
javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException ** at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.createSystemException (MethodMarshallerUtils.java:1363) в org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils.demarshalFaultResponse (MethodMarshallerUtils.jis2.ax.ache.j.jj.jjjjjjjjjjjjjjjjjjjjjjrr) .89.alt.DocLitBareMethodMarshaller..createResponse (JAXWSProxyHandler.java:566) в org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod (JAXWSProxyHandler.java:432) в org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke (JAXWSProxyHandler.java:211proxy (неизвестный прокси).в com.nucleus.finnaxia.getAcctname.businessObject.service.SBSAIFTNameValidation.generateMessageForNIPS (SBSAIFTNameValidation.java:313)
1009 * nameEnquiry вызывается, когда вызывается операция SOAPapplication.
SOAP-запрос при попытке через SOAP UI работает абсолютно нормально.
Пример запроса:
<soapenv:Envelope xmlns:tran="http://abcd.xyz.com/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<tran:nameEnquiryRequest xmlns:ns0="http://abcd.xyz.com/">
<submissionTime>2019-03-26T11:18:32.184+01:00</submissionTime>
<batchId>0123456789</batchId>
<interbankChannel>XYZ</interbankChannel>
<reqTranId>9876543210</reqTranId>
<nameEnquiryDetails>
<items>
<item>
<id>1234598765</id>
<sourceAcctNumber>000000000</sourceAcctNumber>
<destAcctNumber>1122334455</destAcctNumber>
<destAcctBankCode>090</destAcctBankCode>
</item>
</items>
</nameEnquiryDetails>
</tran:nameEnquiryRequest>
</soapenv:Body>
</soapenv:Envelope>
что здесь упускается?
То же самое приложение при попытке и тестировании с Weblogic Server 12C работает нормально.
- Попытался изменить загрузку класса с «Родитель с первого на Родитель с последним»
- Попытался изменить путь к классу, удалил конфликтующийjars (jaxb-api и jaxbimpl.jar)
- Попытались отключить JAX-WS Engine WAS, установив свойство true в свойстве JVMs.
response = service.nameEnquiry (requestObj);
nameEnquiry - это операция SOAP.Служба - это объект службы (создается с помощью команды wsimport)
Ожидается: он должен попасть в веб-службу и вернуть ответ. Actual : - Возвращает SOAPFault с исключением нулевого указателя.