bridge's document query response not matching wsdl [message #584980] |
Wed, 19 March 2008 18:55 |
Jesse Pangburn Messages: 166 Registered: July 2009 |
Senior Member |
|
|
Hi,
I've found that when using the bridge and issuing a document query to the
registry, the WSDL says that each document will have both an "author" and
an "authors" element. However, there is no author element returned.
Looking into this it's because in the XDSDocType.java file there is the
following method:
public void setAuthor(PatientInfoType pAuthor) {
authors = new PatientInfoType[]{pAuthor};
}
There is no corresponding getter method because this set method is simply
a convenience method to avoid calling setAuthors instead. However, Axis
sees this setter method as indicating there should be a field called
"author" passed so it puts that in the WSDL. When Axis is marshalling the
java objects into XML though, there is no getter method so no author
element is created- leaving the mismatch between the WSDL and what's sent
over the wire.
The only place I can find that this is being called is this line in the
IheXdsBridge.java:
xdsDocument.setAuthor(authorToPatientInfoType(documentEntry. getAuthor()));
I think the convenience method should be removed and the above line
changed to:
PatientInfoType tempAuthor =
authorToPatientInfoType(documentEntry.getAuthor());
PatientInfoType tempAuthors = new PatientInfoType[]{tempAuthor};
xdsDocument.setAuthors(tempAuthors);
It could be condensed if you like, but I separated it to multiple lines
for clarity. Do you guys agree, and if so, should I submit a bug?
thanks,
Jesse
|
|
|
Powered by
FUDForum. Page generated in 0.04145 seconds