我正在创建一个在 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>