JAVA - получение пустых значений из SOAP UI при тестировании веб-сервисов SOAP - PullRequest
0 голосов
/ 27 июня 2018

Я работаю на клиенте SOAP, используя AXIS 1.4 сгенерированные классы. во время тестирования из пользовательского интерфейса SoAP получить значения (поля Title & LastName, как показано в приведенном ниже коде) как нулевые.

для всех полей, которые доступны в классе ApplicationPersonEntity и получает значение NULL.

Пожалуйста, найдите код, указанный ниже:

public class ApplicationCustomerEntity implements java.io.Serializable
{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    @XmlElement(name = "People")
    private List<ApplicationPersonEntity> people;

    //Setters & getters

     // Type metadata
    private static org.apache.axis.description.TypeDesc typeDesc =
        new org.apache.axis.description.TypeDesc(ApplicationCustomerEntity.class, true);

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("*..Services", "ApplicationCustomerEntity"));
        org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("people");
        elemField.setXmlName(new javax.xml.namespace.QName("*..Services", "People"));
        elemField.setXmlType(new javax.xml.namespace.QName("*..Services", "ApplicationPersonEntity"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        elemField.setItemQName(new javax.xml.namespace.QName("*..Services", "ApplicationPersonEntity"));
        typeDesc.addFieldDesc(elemField);
        }

        //Serilizer & Deserilizer methods
}

ApplicationPersonEntity.java

public class ApplicationPersonEntity implements Serializable
{


    @XmlElement(name = "Title")
    protected String title;
    @XmlElement(name = "LastName")
    protected String lastName;

    //Consctor& Setters getters

    // Type metadata
    private static org.apache.axis.description.TypeDesc typeDesc =
        new org.apache.axis.description.TypeDesc(ApplicationPersonEntity.class, true);

    static {
        typeDesc.setXmlType(new javax.xml.namespace.QName("*..Services", "ApplicationPersonEntity"));

          org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("title");
        elemField.setXmlName(new javax.xml.namespace.QName("*..Services", "Title"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
        elemField = new org.apache.axis.description.ElementDesc();
        elemField.setFieldName("lastName");
        elemField.setXmlName(new javax.xml.namespace.QName("*..Services", "LastName"));
        elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
        elemField.setMinOccurs(0);
        elemField.setNillable(false);
        typeDesc.addFieldDesc(elemField);
    }

    //Serilizer & De Serilizer methods
}

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Устранена проблема с помощью тегов ниже:

@XmlElementWrapper(name="People")
@XmlElement(name="ApplicationPersonEntity")
private List<ApplicationPersonEntity> people;
0 голосов
/ 27 июня 2018

В ApplicationCustomerEntity.java Вместо

typeDesc.setXmlType(new javax.xml.namespace.QName("*..Services", "ApplicationCustomerEntity"));

попробуй это Предположим, что ваш ApplicationCustomerEntity.java используется в CustomerList.java

typeDesc.setXmlType(new javax.xml.namespace.QName("http://Services/CustomerList/ApplicationCustomerEntity", ">ApplicationCustomerEntity"));

В ApplicationPersonEntity.java вместо

typeDesc.setXmlType(new javax.xml.namespace.QName("*..Services", "ApplicationPersonEntity"));

попробуйте это

typeDesc.setXmlType(new javax.xml.namespace.QName("http://Services/CustomerList/ApplicationCustomerEntity/ApplicationPersonEntity", ">ApplicationPersonEntity"));

Ссылка: https://www.w3schools.com/Xml/xml_soap.asp

...