Проблема с классом заглушки клиента SOAP в Spring Boot

Я использую веб-службы SOAP в проекте Spring Boot. Я могу попасть на сервер, но запрос идет на сервер как нулевой.

Поскольку я не понимаю, что не так. перед отправкой запроса на сервер, и я могу распечатать данные в консоли с помощью регистратора.

а также есть ли возможность распечатать xml-формат запроса в java перед вызовом сервера?

Пожалуйста, найдите приведенный ниже метод создания заглушки:

 public UserListResponse UserList(UserListRequest XMLRequest) throws java.rmi.RemoteException {
        if (super.cachedEndpoint == null) {
            throw new org.apache.axis.NoEndPointException();
        }
        org.apache.axis.client.Call _call = createCall();
        _call.setOperation(_operations[14]);
        _call.setUseSOAPAction(true);
        _call.setSOAPActionURI("http://...../...Services/UserList");
        //_call.setProperty(org.apache.axis.client.Call.CHARACTER_SET_ENCODING,"UTF-8"); 
        _call.setEncodingStyle(null);
        _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
        _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
        _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
        _call.setOperationName(new javax.xml.namespace.QName("http://...../...Services", "UserList"));

        setRequestHeaders(_call);
        setAttachments(_call);

        System.out.println("1 XMLRequest :: message ID ::STUB::"+XMLRequest.getHeader().toString());


 try {        java.lang.Object _resp = _call.invoke(new java.lang.Object[] {XMLRequest});



        if (_resp instanceof java.rmi.RemoteException) {
            throw (java.rmi.RemoteException)_resp;
        }
        else {
            extractAttachments(_call);
            try {
                return (UserListResponse) _resp;
            } catch (java.lang.Exception _exception) {
                return (UserListResponse) org.apache.axis.utils.JavaUtils.convert(_resp, UserListResponse.class);
            }
        }
  } catch (org.apache.axis.AxisFault axisFaultException) {
  throw axisFaultException;
}
    }

Запрос пользовательского интерфейса SOAP, как показано ниже:

<soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:prim = "http://..../..Services">
   <soapenv:Header/>
   <soapenv:Body>
      <prim:UserList>
         <!--Optional:-->
         <prim:XMLRequest>
            <!--Optional:-->
            <prim:Header>
               <!--Optional:-->
               <prim:MessageID>1</prim:MessageID>
               <!--Optional:-->
               <prim:CorrelationID>1</prim:CorrelationID>
               <!--Optional:-->
               <prim:SystemID>1</prim:SystemID>
               <!--Optional:-->
               <prim:RequestorID>1</prim:RequestorID>
               <!--Optional:-->
               <prim:InstitutionID>2</prim:InstitutionID>
            </prim:Header>
            <prim:Reference>Card</prim:Reference>
            <!--Optional:-->
            <prim:Number>500</prim:Number>
            <!--Optional:-->
            <prim:count>800</prim:count>
         </prim:XMLRequest>
      </prim:UserList>
   </soapenv:Body>
</soapenv:Envelope>

Может ли кто-нибудь помочь в этом.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
418
1

Ответы 1

Используйте свойство ниже в вашем application.yml или файле свойств. Он распечатает XML запроса и XML ответа

log4j.logger.org.springframework.ws.client.MessageTracing.sent = TRACE log4j.logger.org.springframework.ws.client.MessageTracing.received = TRACE

На самом деле он печатает, когда вызывается метод, и печатает сообщение пользовательского интерфейса SOAP, но не печатает запрос, который собирается разорвать. @ User3401007

Rajeswari Reddy 11.06.2018 07:16

Другие вопросы по теме