es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Crear una estructura de formato XSD para generar automáticamente una clase en Java.

Estoy trabajando en un proyecto que necesita enviar una solicitud a la API en formato xsd. Solo necesito agregar un parámetro adicional como xsd para pasar exitosamente el parámetro modificado en la solicitud. Soy nuevo en xsd, así que busqué en Internet los cambios que necesito hacer.

<v1:Major>
    <v1:Minor11>
        <v1:Minor111>123456</v1:Minor111>
        <v1:Minor112>abcd</v1:Minor112>
    </v1:Minor11>
    <v1:Minor12>
        <v1:Minor121>123456</v1:Minor121>
        <v1:Minor122>12345</v1:Minor122>
        <v1:Minor123>123456</v1:Minor123>
        <v1:Minor124>123456</v1:Minor124>
        <v1:Minor125>abcdef</v1:Minor125>
    </v1:Minor12>
    ***<v1:Minor13>abcdef123</v1:Minor13>*** {Necesito agregar esto}
    <v1:Minor14>
        <v1:ChargeTotal>15</v1:ChargeTotal>
        <v1:Currency>INR</v1:Currency>
    </v1:Minor14>
</v1:Major>

Simplemente agregué

<xs:element minOccurs="0" name="Minor13" type="v1:String1024max"/>

Lo encontré en algún lugar. Esto me está dando una excepción de solicitud de SOAP. También en Java, crea un archivo generado automáticamente por el nombre de clase Minor13.java con una clase vacía. Quiero que se cree esta clase para poder agregar una cadena de entrada a este elemento y agregar ese Minor13 al elemento Major a través de Java. Tengo el código en su lugar, pero solo necesito hacer esta parte. ¿Alguien puede ayudar?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para añadir el elemento “Minor13” al formato XSD, necesitas modificar el archivo XSD y añadir el siguiente bloque de código:

    <xs:element name="Minor13" type="v1:String1024max"></xs:element>
    

    Asegúrate de agregar este bloque de código dentro de la definición del elemento “v1:Major” en el archivo XSD.

    Una vez que hayas modificado el archivo XSD, puedes generar las clases de Java utilizando JAXB si aún no lo has hecho. Esto debería crear la clase “Minor13” con un campo de entrada de tipo string.

    Para crear una solicitud SOAP con el formato XSD modificado y el elemento “Minor13”, puedes utilizar las clases de Java generadas y completar el elemento “Minor13” con el valor de string deseado:

    // crear el elemento Major
    Major major = new Major();
    
    // crear el elemento Minor13 y asignarle el valor
    Minor13 minor13 = new Minor13();
    minor13.setValue("abcdef123");
    
    // agregar Minor13 a Major
    major.getMinor().add(minor13);
    
    // enviar la solicitud con el elemento Major modificado
    

    Utilizando las clases de Java generadas, ahora puedes crear fácilmente solicitudes SOAP con el formato XSD modificado y el elemento “Minor13” añadido.

Comments are closed.