我正在创建一个自定义的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>