Создать вложенный массив в пользовательском мыле - PullRequest
0 голосов
/ 02 мая 2018

Я создаю собственный веб-сервис для размещения в Mirth. Я хотел создать вложенный массив внутри этой структуры SOAP. Могут быть и другие способы создания SOAP, но я следую так, чтобы другие внешние JARS не использовались. В настоящее время это класс, который я делаю мой геттер и сеттер

public class ResultSpecification {
    private String AccessionNumber;
    private String AddtionalPatientHistory;
    private long FacilityCode;
    private String[] Code;
    private String[] Description;

    public String getAccessionNumber() {
        return AccessionNumber;
    }
    public void setAccessionNumber(String AccessionNumber) {
        this.AccessionNumber = AccessionNumber;
    }
    public String getAddtionalPatientHistory() {
        return AddtionalPatientHistory;
    }
    public void setAddtionalPatientHistory(String AddtionalPatientHistory) {
        this.AddtionalPatientHistory = AddtionalPatientHistory;
    }
    public long getFacilityCode() {
        return FacilityCode;
    }
    public void setFacilityCode(long FacilityCode) {
        this.FacilityCode = FacilityCode;
    }
    public String[] getCode() {
        return Code;
    }
    public void setCode(String[] Code) {
        this.Code = Code;
    }
    public String[] getDescription() {
        return Description;
    }
    public void setDescription(String[] Description) {
        this.Description = Description;
    }

@Override
    public String toString() {

        String codeInString = Arrays.toString(Code);
        String descriptionInString = Arrays.toString(Description);

        return "{\"reportDetails\": {\"AccessionNumber\":" + "\"" + AccessionNumber + "\""
                + ", \"AddtionalPatientHistory\":" + "\"" + AddtionalPatientHistory.replaceAll("\"", "\\\\\"") + "\""
                + ", \"FacilityCode\":" + "\"" + FacilityCode + "\"" +"},\"Hl7Message\":[{\"Code\":" + "\"" + codeInString + "\"" + ", \"Description\":" + "\""
                + descriptionInString + "\"}]}";
    }

}

Я назвал это как Массив внутри класса, вызывающего Webreceiver. Это будет класс, который я буду вызывать внутри Mirth, и я предоставлю super.webServiceReceiver.processData(String.valueOf(str)); в этом классе. С текущим состоянием я получаю сообщение SOAP ниже.

<ray:data>
         <!--Zero or more repetitions:-->
         <TestResult>
            <!--Optional:-->
            <accessionNumber></accessionNumber>
            <!--Optional:-->
            <addtionalPatientHistory></addtionalPatientHistory>
            <!--Zero or more repetitions:-->
            <code></code>
            <!--Zero or more repetitions:-->
            <description></description>
         </TestResult>
 </ray:data>

Но я ожидаю структуру SOAP в следующем формате, где теги кодируются и будут заключены в массив другими XML-тегами. Я не уверен, как это построить в моем классе установщика-установщика. Когда я использую аннотации типа @XmlElement, это вызывает ошибку внутри веселья.

 <Statuses>
     <!--Zero or more repetitions:-->
      <MessageStatus>
      <!--Optional:-->
      <Code />
     <!--Optional:-->
     <Description />
      </MessageStatus>
     </Statuses>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...