Проблема в SOAP пользовательском интерфейсе при вызове метода с аргументом complexType abstract = true - PullRequest
0 голосов
/ 14 марта 2020

У меня есть файл WSDL, через SOAP пользовательский интерфейс, я пытаюсь вызвать метод, который принимает абстрактный аргумент. Когда я пытаюсь вызвать это через SOAP пользовательский интерфейс, происходит сбой с ошибкой клиента «Unmarshalling Error: Невозможно создать экземпляр». Где у AbstractClass есть один класс реализации - AbstractImpl Class

Вот мой пример arg0 запроса -

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://v1.myservice.com/">
<soapenv:Header/>
<soapenv:Body>
  <v1:myRequest1>
     <arg0>
       <AbstractClass>
          <startDate>2020-03-13 00:00:00.0 CET</startDate>
       </AbstractClass>
     </arg0>
  </v1:isTokenActive>
</soapenv:Body>
</soapenv:Envelope>

В ответ я получаю Soap Ошибка клиента -

<soap:Body>
  <soap:Fault>
     <faultcode>soap:Client</faultcode>
     <faultstring>Unmarshalling Error: Unable to create an instance ofcom.AbstractClass</faultstring>
  </soap:Fault>
</soap:Body>

Диагностика, которую я уже сделал: - Когда вызывается с использованием класса java и объект AbstractImpl передается в качестве аргумента, он работает .. Но почему я не могу передать аналогичный аргумент через SOAP клиент пользовательского интерфейса, есть ли способ?

Обратите внимание: - Я не могу изменить WSDL и сгенерированные Java классы.

Короче говоря, есть ли способ, где в SOAP запрос пользовательского интерфейса, для аргумента типа Аннотация / Интерфейс, я могу передать его объект реализации ..

Заранее спасибо.

...