Hi Everybody,
Maybe somebody can help me with the following problem:
I have created a webservice called "OUNL" with a methode called
"getStudent". This method returns a "StudentContainer", a complex type
that among strings, contains an "avatar" in the form of a DataHandler
for transferring a binary file.
So far no problems, everything works :-)
But now I have created a second service called "stimVernuft", this
service provides a method called "getVoorstel" which returns a container
called "VoorstelContainer". The VoorstelContainer contains, among other
complex types, the StudentContainer from OUNL.
When I call getVoorstel from my client it goes wrong. I get an Axis
fault in the client (no error in the service). I'm sure it has something
to do with the avatar, because when I nullify the avatar in the service,
everything goes fine. I also checked the WSDL of stimVernuft to the WSDL
of OUNL, no difference there.
Maybe it is not possible to have a DataHandler in a nested ComplexType?
Maybe Axis doesn't find the DataHandler before deciding to use a
multipart/binary message?
Below is the AxisFault I received:
AxisFault faultCode: {http://xml.apache.org/axis/}Server.userException
faultString: java.io.UTFDataFormatException: Invalid byte 1 of 1-byte
UTF-8 sequence. faultActor: null faultDetail: stackTrace:
java.io.UTFDataFormatException: Invalid byte 1 of 1-byte UTF-8 sequence.
at org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source)
at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source) at
org.apache.xerces.impl.XMLEntityManager$EntityScanner.load(Unknown
Source) at
org.apache.xerces.impl.XMLEntityManager$EntityScanner.scanContent(Unknow
n Source) at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanContent(Unknow
n Source) at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDis
patcher.dispatch(Unknown Source) at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unkno
wn Source) at
org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at
org.apache.axis.encoding.DeserializationContextImpl.parse(Deserializatio
nContextImpl.java:232) at
org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:546) at
org.apache.axis.Message.getSOAPEnvelope(Message.java:377) at
org.apache.axis.client.Call.invokeEngine(Call.java:2132) at
org.apache.axis.client.Call.invoke(Call.java:2102) at
org.apache.axis.client.Call.invoke(Call.java:1851) at
org.apache.axis.client.Call.invoke(Call.java:1777) at
org.apache.axis.client.Call.invoke(Call.java:1315) at
stimvernuft.soapbinding.stimvernuft.StimVernuftSoapBindingStub.getVoorst
el
...