1

我正在创建一个在 Mirth 中托管的自定义 Web 服务。我想在这个 SOAP 结构中创建嵌套数组。可能有其他创建 SOAP 的方法,但我遵循这种方式,因此不需要使用其他外部 JARS。目前这是我正在做我的 getter 和 setter 的课程

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 标记包含在数组中。我不确定如何在我的 getter setter 类中构造它。当我使用 @XmlElement 之类的注释时,它会在欢乐中抛出错误。

 <Statuses>
     <!--Zero or more repetitions:-->
      <MessageStatus>
      <!--Optional:-->
      <Code />
     <!--Optional:-->
     <Description />
      </MessageStatus>
     </Statuses>
4

0 回答 0