It appears that UNC names are not legal URIs according to Internet RFC
2396. In particular, the scheme is missing (such as http: or file:)
and the \ is not a path separator (but it is not a forbidden
character), nor is \\ valid to separate the scheme from the rest.
This is probably not a bug in Axis -- the web service should produce a
valid URI string.
Jeff
On 3/17/06, Luca Albertazzi <[EMAIL PROTECTED]> wrote:
> I found where the problem occurs:
>
> The response object (_resp) contains an object of type
> 'org.apache.axis.types.URI'. The web service I invoke (wich is written in
> C#) valorizes the field corresponding to that object with an 'UNC' value
> like this:
> '\\192.168.1.103\c$\temp\6a165c0f869d4741b991973d202cf0ca',
> wich causes the MalformedURIException during the deserialization.
>
> Can we say that is a bug of the class org.apache.axis.types.URI? Is that
> problem resolved in Axis 2.0?
>
> Thank you,
>
> Luca
>
>
>
>
>
>
> Luca Albertazzi ha scritto:
> Hello,
> I have made a client starting from a given Wsdl using WSDL2Java tool
> but invoking the web service.
> The exception occurs in the stub created by the tool during the
> _call.invoke(..) operation:
>
> _call.setOperationName(new
> javax.xml.namespace.QName("http://www.mps.it/MultiChannel/",
> "RegisterDocument"));
>
> setRequestHeaders(_call);
> setAttachments(_call);
> try { java.lang.Object _resp = _call.invoke(new java.lang.Object[]
> {documentId, flowName, documentSize, documentHash, properties,
> supportedChannels, callbackUrl});
>
> if (_resp instanceof java.rmi.RemoteException) {
> throw (java.rmi.RemoteException)_resp;
> }
> else {
> extractAttachments(_call);
> try {
> return
> (it.mps.www.MultiChannel.ChannelDefinition) _resp;
> } catch (java.lang.Exception _exception) {
> return
> (it.mps.www.MultiChannel.ChannelDefinition)
> org.apache.axis.utils.JavaUtils.convert(_resp,
> it.mps.www.MultiChannel.ChannelDefinition.class);
> }
> }
> } catch (org.apache.axis.AxisFault axisFaultException) {
> throw axisFaultException;
>
> Each time I execute the service I get the error wich follows:
>
> - Exception:
> org.apache.axis.types.URI$MalformedURIException: No scheme
> found in URI.
> at
> org.apache.axis.encoding.ser.SimpleDeserializer.onEndElement(SimpleDeserializer.java:180)
> at
> org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:502)
> at
> org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
> at
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
> at
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
> at
> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
> at
> org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
> at org.apache.axis.client.Call.invoke(Call.java:2467)
> at org.apache.axis.client.Call.invoke(Call.java:2366)
> at org.apache.axis.client.Call.invoke(Call.java:1812)
> at
> it.mps.www.MultiChannel.MultiChannelWSSoapStub.registerDocument(MultiChannelWSSoapStub.java:283)
> at
> com.cedac.webservices.test.TestMultiChannelWS.main(TestMultiChannelWS.java:42)
> AxisFault
> faultCode:
> {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
> faultSubcode:
> faultString:
> org.apache.axis.types.URI$MalformedURIException: No scheme
> found in URI.
> faultActor:
> faultNode:
> faultDetail:
>
> {http://xml.apache.org/axis/}stackTrace:org.apache.axis.types.URI$MalformedURIException:
> No scheme found in URI.
> at
> org.apache.axis.encoding.ser.SimpleDeserializer.onEndElement(SimpleDeserializer.java:180)
> at
> org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:502)
> at
> org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
> at
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
> at
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
> at
> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
> at
> org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
> at org.apache.axis.client.Call.invoke(Call.java:2467)
> at org.apache.axis.client.Call.invoke(Call.java:2366)
> at org.apache.axis.client.Call.invoke(Call.java:1812)
> at
> it.mps.www.MultiChannel.MultiChannelWSSoapStub.registerDocument(MultiChannelWSSoapStub.java:283)
> at
> com.cedac.webservices.test.TestMultiChannelWS.main(TestMultiChannelWS.java:42)
>
> {http://xml.apache.org/axis/}hostname:WALLACE
>
> org.apache.axis.types.URI$MalformedURIException: No scheme
> found in URI.
> at
> org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
> at org.apache.axis.client.Call.invoke(Call.java:2470)
> at org.apache.axis.client.Call.invoke(Call.java:2366)
> at org.apache.axis.client.Call.invoke(Call.java:1812)
> at
> it.mps.www.MultiChannel.MultiChannelWSSoapStub.registerDocument(MultiChannelWSSoapStub.java:283)
> at
> com.cedac.webservices.test.TestMultiChannelWS.main(TestMultiChannelWS.java:42)
> Caused by:
> org.apache.axis.types.URI$MalformedURIException: No scheme
> found in URI.
> at
> org.apache.axis.encoding.ser.SimpleDeserializer.onEndElement(SimpleDeserializer.java:180)
> at
> org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:502)
> at
> org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
> at
> org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
> at
> org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
> at
> org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
> at
> org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
> at org.apache.axis.client.Call.invoke(Call.java:2467)
> ... 4 more
>
>
>
> Thank you very much for a response,
>
> Luca
>
>
>
>
>
>
>