2010-01-29 8 views
4

Quelle pourrait être la raison de l'exception suivante de l'axe ... Http verion utilisé était 1.0.org.apache.axis2.AxisFault: Premier élément doit contenir le nom local, Envelope, mais trouvé html

lire ce pourrait être résolu si la propriété suivante est définie

stub._getServiceClient().getOptions(). 
       setProperty(org.apache.axis2.transport.http.HTTPConstants.CHUNKED, 
Boolean.FALSE); 

Mais la propriété ci-dessus est applicable uniquement pour la version HTTP 1.1 selon l'axe docs. Cette propriété sera ignorée par l'infrastructure de transport si la version HTTP est 1.0.

Des pensées?

org.apache.axis2.AxisFault: First Element must contain the local name, Envelope , but found html 
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) 
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:90) 
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:353) 
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416) 
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228) 
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163) 


Caused by: org.apache.axiom.soap.SOAPProcessingException: First Element must contain the local name, Envelope , but found html 
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:251) 
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:209) 
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java:191) 
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:172) 
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:156) 
at org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:105) 
at org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:677) 
at org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:182) 
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:112) 
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:88) 

Répondre

6

Ceci était en fait le serveur rencontrant une erreur interne 500 et renvoyant un respose HTML au client.

6

Essayez d'utiliser un sniffer comme tcpmon pour voir la réponse réelle du service. Je suppose que le client utilise une URL cible qui n'existe pas sur le serveur et le serveur répond avec un code HTML contenant 404 au lieu d'une enveloppe SOAP.

0

Le serveur Tomcat diffusait une page Web HTTP pour indiquer l'échec de la réponse à l'appel de l'API SOAP.