facebook / hhvm

A virtual machine for executing programs written in Hack.
https://hhvm.com
Other
18.09k stars 2.99k forks source link

HipHop Fatal error: Uncaught exception SoapFault exception: [HTTP] #473

Closed SergeyTsarev closed 11 years ago

SergeyTsarev commented 12 years ago

In my project i have a script wich works with soap client from PHP. This line of code shows how I create the SoapClient object :

$SOAP = new SoapClient("file.wsdl",array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP)); this solution works whitout hiphop-php.

During scripting with hphpi an error has occured:

HipHop Fatal error: Uncaught exception SoapFault exception: [HTTP] <?xml version="1.0" encoding="UTF-8"?>\r\nsoap:Faultsoap:Clientjava.io.IOException: expected '=', got 'Y'\nline 2, char 6: ...\xc3\xbd\xef\xbf\xbd4\xef\xbf\xbd Yelectric.xml.ParseException: java.io.IOException: expected '=', got 'Y'\nline 2, char 6: ...\xc3\xbd\xef\xbf\xbd4\xef\xbf\xbd Y\n\tat electric.xml.NodeReader.parse(Unknown Source)\n\tat electric.xml.Document.<init>(Unknown Source)\n\tat electric.soap.SOAPMessage.setBytes(Unknown Source)\n\tat electric.soap.http.handler.ServerNoAttachments.readRequest(Unknown Source)\n\tat electric.soap.http.handler.HTTPToSOAP.readRequest(Unknown Source)\n\tat electric.soap.http.handler.HTTPToSOAP.service(Unknown Source)\n\tat electric.server.http.ServletServer.service(Unknown Source)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:810)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)\n\tat com.betfair.platform.frontcache.filter.CacheFilter.doFilter(CacheFilter.java:68)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)\n\tat org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)\n\tat org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)\n\tat org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)\n\tat org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)\n\tat org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)\n\tat org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)\n\tat org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)\n\tat org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)\n\tat org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:581)\n\tat org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)\n\tat org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)\n\tat org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)\n\tat org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)\n\tat org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)\n\tat org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:113)\n\tat java.lang.Thread.run(Thread.java:619)\nelectric.xml.ParseExceptionjava.io.IOException: expected '=', got 'Y'\nline 2, char 6: ...\xc3\xbd\xef\xbf\xbd4\xef\xbf\xbd Y/tme:exception/soap:Fault/soap:Body/soap:Envelope

Then i modified the code as follows (disabled gzip compression):

$SOAP = new SoapClient("file.wsdl");

Script's repeating did not cause an error, and script works normally.

But in my project a commpression method is necessary

ptarjan commented 11 years ago

We're closing out all bugs older than 2 months. http://www.hiphop-php.com/wp/?p=575

If this is still an issue, please re-open it, and in order of goodness:

  1. Give detailed repro steps
  2. Write a test case in hphp/tests/quick (run it with hphp/tests/run) and send the pull request
  3. Fix it in a pull request