Take a look at your WSDL and tell us what the transport attribute in
the <wsdlsoap:binding> definition says. That will determine which
version of SOAP Axis is expecting.

It should say either:
   transport="http://schemas.xmlsoap.org/soap/http"; (SOAP 1.1)

or 
   transport="http://www.w3.org/2003/05/soap-envelope"; (SOAP 1.2)

You should not be using any of the pre-standard SOAP 1.2 working draft
versions, such as
   transport="http://www.w3.org/2001/12/soap-envelope";.

Anne

 

On 5/20/05, Markus Krogemann <[EMAIL PROTECTED]> wrote:
> Dear List,
> 
> this may well be an often-asked question but I did not find any entries
> in the FAQ-List or did not look under the right subject, so here goes:
> 
> From a webservice server I receive a response envelope starting like this:
> 
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/";>
> 
> Now I think the namespace declaration is equivalent to a versioning, right?
> My application asks Axis to deserialize the response and Axis throws an
> exception like below. Is there a way to tell Axis how to deal with this
> kind of response? I am using axis1.1 (have tried 1.2, but same result).
> 
> It works ok if the response starts like this:
> 
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope";>
> 
> Thanks for any pointers,
> Markus
> 
> AxisFault
>  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}VersionMismatch
>  faultSubcode:
>  faultString: Version Mismatch
>  faultActor:
>  faultNode:
>  faultDetail:
>         {http://xml.apache.org/axis/}stackTrace:Version Mismatch
>         at
> org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:102)
>         at
> org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
>         at
> org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
>         at
> org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
> Source)
>         at
> org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown
> Source)
>         at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
> Source)
>         at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
> Source)
>         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown
> Source)
>         at org.apache.xerces.parsers.XML11Configuration.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.DeserializationContext.parse(DeserializationContext.java:227)
>         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
>         at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
>         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:2765)
>         at org.apache.axis.client.Call.invoke(Call.java:2748)
>         at org.apache.axis.client.Call.invoke(Call.java:1902)
> ....
>

Reply via email to