Добавление нового поля внутри уже реализованного запроса Axis

Я попытаюсь объяснить это вкратце.

Мне нужно включить новое поле с именем shipToStoreGLN в запрос Axis, реализованный давно с использованием дескриптора WSDL.

Он должен появиться в пути OrderRequest -> PedidosIn(OrdersIn) -> Pedido (Order)-> Cabecera (Header)

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

Еще более странным является то, что есть еще одно поле с именем shipToStore, в которое добавлено добавленное в класс, но оно не добавлено в описание типов, но появляется в окончательном запросе.

Может кто-нибудь сказать мне, как добавить это поле, и, если возможно, объяснить, почему появляется это другое поле?

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

Спасибо всем.

Соответствующий код класса OrderRequestPedidosInPedidoCabecera.java (я не могу скопировать полный исходный код Java, потому что он слишком длинный):

//The getters and setters
public java.lang.String getShipToStoreGLN() {
    return shipToStoreGLN;
}

public void setShipToStoreGLN(java.lang.String shipToStoreGLN) {
    this.shipToStoreGLN = shipToStoreGLN;
}

//Applying it to the type descriptor
elemField = new org.apache.axis.description.ElementDesc();
elemField.setFieldName("shipToStoreGLN");
elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/GatewayService/", "shipToStoreGLN"));
elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
elemField.setMinOccurs(0);
elemField.setNillable(false);
typeDesc.addFieldDesc(elemField);

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

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gat="http://tempuri.org/GatewayService/">
   <soapenv:Header/>
   <soapenv:Body>
      <gat:OrderRequest>
         <gat:PedidosIn>
            <gat:Identificacion>
               <gat:IdUsuario>?</gat:IdUsuario>
               <gat:Password>?</gat:Password>
            </gat:Identificacion>
            <gat:Pedido>
               <gat:Cabecera>
                  <gat:NumeroPedido>?</gat:NumeroPedido>
                  <gat:shipToStore>?</gat:shipToStore>
                  <gat:shipToStoreGLN>?</gat:shipToStoreGLN>
                  <gat:FechaPedido>?</gat:FechaPedido>
                  <gat:Facturacion>
                     <gat:Nombre>?</gat:Nombre>
                     <gat:Apellidos>?</gat:Apellidos>
                     <gat:Direccion>?</gat:Direccion>
                     <gat:CodigoPostal>?</gat:CodigoPostal>
                     <gat:Poblacion>?</gat:Poblacion>
                     <gat:Provincia>?</gat:Provincia>
                     <gat:NIF>?</gat:NIF>
                     <gat:Telefono>?</gat:Telefono>
                  </gat:Facturacion>
                  <gat:Entrega>
                     <gat:Nombre>?</gat:Nombre>
                     <gat:Apellidos>?</gat:Apellidos>
                     <gat:Direccion>?</gat:Direccion>
                     <gat:CodigoPostal>?</gat:CodigoPostal>
                     <gat:Poblacion>?</gat:Poblacion>
                     <gat:Provincia>?</gat:Provincia>
                     <gat:NIF>?</gat:NIF>
                     <gat:Telefono>?</gat:Telefono>
                  </gat:Entrega>
                  <gat:Total>?</gat:Total>
                  <gat:Email>?</gat:Email>
                  <gat:CodigoTrackingTrans>?</gat:CodigoTrackingTrans>
                  <gat:NumeroExpedicion>?</gat:NumeroExpedicion>
                  <gat:CodigoRuta>?</gat:CodigoRuta>
                  <gat:NombreRuta>?</gat:NombreRuta>
                  <gat:CodigoAgenciaDestino>?</gat:CodigoAgenciaDestino>
                  <gat:NombreAgenciaDestino>?</gat:NombreAgenciaDestino>
               </gat:Cabecera>
               <gat:Lineas>
                  <!--Zero or more repetitions:-->
                  <gat:Linea>
                     <gat:IdPedidoLinea>?</gat:IdPedidoLinea>
                     <gat:Referencia>?</gat:Referencia>
                     <gat:ReferenciaMS>?</gat:ReferenciaMS>
                     <gat:Posicion>?</gat:Posicion>
                     <gat:Cantidad>?</gat:Cantidad>
                     <gat:Descripcion>?</gat:Descripcion>
                     <gat:PrecioUnitario>?</gat:PrecioUnitario>
                     <gat:Total>?</gat:Total>
                  </gat:Linea>
               </gat:Lineas>
            </gat:Pedido>
         </gat:PedidosIn>
      </gat:OrderRequest>
   </soapenv:Body>
</soapenv:Envelope>

Как выглядит запрос сейчас:

<soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <OrderRequest xmlns="http://tempuri.org/GatewayService/">
        <PedidosIn>
            <Identificacion>
                <IdUsuario>MMKTTEST</IdUsuario>
                <Password>H23mLu3RieDr</Password>
            </Identificacion>
            <Pedido>
                <Cabecera>
                    <NumeroPedido>000123657</NumeroPedido>
                    <FechaPedido>20140911 122523</FechaPedido>
                    <CodigoTiendaFacturacion>E290</CodigoTiendaFacturacion>
                    <CodigoTiendaEntrega>E290</CodigoTiendaEntrega>
                    <Facturacion>
                        <Nombre>Cristina</Nombre>
                        <Apellidos>Franco</Apellidos>
                        <Direccion>barcelona,gggg gggg</Direccion>
                        <CodigoPostal>08022</CodigoPostal>
                        <Poblacion>BARCELONA</Poblacion>
                        <Provincia>BARCELONA</Provincia>
                        <CodigoProvincia>08</CodigoProvincia>
                        <NIF>52173198K</NIF>
                        <Telefono>677714997</Telefono>
                        <pais>es</pais>
                    </Facturacion>
                    <Entrega>
                        <Nombre>MEDIA MARKT DIAGONAL MAR-BARCELONA VIDEO-TV-HIFI-E</Nombre>
                        <Apellidos>LEKTRO-COMPUTER-FOTO, S.A </Apellidos>
                        <Direccion>C.C DIAGONAL MAR AVDA DIAGONAL N&#xBA;3, planta B local 14000</Direccion>
                        <CodigoPostal>08019</CodigoPostal>
                        <Poblacion>BARCELONA</Poblacion>
                        <Provincia>BARCELONA</Provincia>
                        <NIF/>
                        <Telefono>934857200</Telefono>
                        <direccion1>C.C DIAGONAL MAR AVDA DIAGONAL N&#xBA;3, planta B local 14000</direccion1>
                        <direccion2/>
                        <direccion3/>
                    </Entrega>
                    <Total>219.0</Total>
                    <Email>crisfrancob@gmail.com</Email>
                    <CodigoTrackingTrans/>
                    <NumeroExpedicion/>
                    <CodigoRuta/>
                    <NombreRuta/>
                    <CodigoAgenciaDestino/>
                    <NombreAgenciaDestino/>
                    <shipToStore>1</shipToStore>
                </Cabecera>
                <Lineas>
                    <Linea>
                        <IdPedidoLinea>0</IdPedidoLinea>
                        <Referencia>B99B329</Referencia>
                        <ReferenciaMS>1148842</ReferenciaMS>
                        <ReferenciaUni/>
                        <Posicion>1</Posicion>
                        <Cantidad>1.0</Cantidad>
                        <Descripcion>GF EN210 SILENT/DI/1GD3/V2     CTLR 1GB DDR3 PCI-E DVI-I  HDMI       IN</Descripcion>
                        <PrecioUnitario>0.0</PrecioUnitario>
                        <Total>0.0</Total>
                    </Linea>
                </Lineas>
            </Pedido>
        </PedidosIn>
    </OrderRequest>
</soapenv:Body>

1 ответ

Я устанавливал ноль в поле shipToStoreGLN. Теперь я знаю, что вы не можете установить значение NULL и ожидать появления тега XML.

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