在自定义soap webservice mirth

时间:2018-05-02 17:29:40

标签: java soap mirth mirth-connect

我正在创建一个自定义的Web服务来在Mirth中托管。我想在这个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>

0 个答案:

没有答案