I am trying to access a service created with Ladon 0.7 (find attached WSDL that was generated by Ladon). However, Axis (1.4) seems to have problems with it:
16.04.2012 19:28:33 org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNING: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
AxisFault
faultCode: server
faultSubcode:
faultString: Failed to convert from unicode string to Ladon supported type: <type 'int'>
invalid literal for int() with base 10: ''
faultActor:
faultNode:
faultDetail:
{}:Traceback (most recent call last):
File "/home/divius/Projects/ladon/local/lib/python2.7/site-packages/ladon/server/dispatcher.py", line 143, in dispatch_request
result = self.call_method(method,req_dict,tc,export_dict)
File "/home/divius/Projects/ladon/local/lib/python2.7/site-packages/ladon/server/dispatcher.py", line 73, in call_method
args += [tc.from_unicode_string(val,arg['type'])]
File "/home/divius/Projects/ladon/local/lib/python2.7/site-packages/ladon/types/typeconverter.py", line 60, in from_unicode_string
raise FromUnicodeConversionError(typ,str(e))
FromUnicodeConversionError: Failed to convert from unicode string to Ladon supported type: <type 'int'>
invalid literal for int() with base 10: ''
Failed to convert from unicode string to Ladon supported type: <type 'int'>
invalid literal for int() with base 10: ''
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:604)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1759)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2915)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:819)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:748)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:392)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:436)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at ru.niitp.ibd3.demos.ladon.DemoStub.add(DemoStub.java:183)
at Main.main(Main.java:25)
It seems that Axis and Ladon have somewhat different encoding. How can it be possible?
Here is dumped request (inserted newlines):
<?xml version="1.0" encoding="UTF-8"?> schemas. xmlsoap. org/soap/ envelope/" xmlns:xsd="http:// www.w3. org/2001/ XMLSchema" xmlns:xsi="http:// www.w3. org/2001/ XMLSchema- instance"> encodingStyle= "http:// schemas. xmlsoap. org/soap/ encoding/" xmlns:ns1= "urn:Demo" ><a href="#id0"/><b href="# id1"/>< /ns1:add> encodingStyle= "http:// schemas. xmlsoap. org/soap/ encoding/" xsi:type="xsd:long" xmlns:soapenc="http:// schemas. xmlsoap. org/soap/ encoding/">20</multiRef> encodingStyle= "http:// schemas. xmlsoap. org/soap/ encoding/" xsi:type="xsd:long" xmlns:soapenc="http:// schemas. xmlsoap. org/soap/ encoding/">10</multiRef>
<soapenv:Envelope xmlns:soapenv="http://
<soapenv:Body>
<ns1:add soapenv:
<multiRef id="id1" soapenc:root="0" soapenv:
<multiRef id="id0" soapenc:root="0" soapenv:
</soapenv:Body>
</soapenv:Envelope>