Клиент веб-службы SOAP создает исключение SOAPFaultException: исключение нулевого указателя - PullRequest
0 голосов
/ 10 апреля 2019

Мы сталкиваемся с проблемой при взаимодействии с веб-службой на основе 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 с исключением нулевого указателя.

...