dou70260 2013-01-31 13:46
浏览 106

PHP SOAP wsdl致命错误和Xdebug

I really don't understand what's happening with PHP SOAP library I use a SOAP service, it's working well but sometimes i have the well-know "Fatal error: SOAP-ERROR: Parsing WSDL: ........"

I have read that this error was uncatchable because Xdebug was on and that the solution is to disable it to be able to catch the error,...

but i doesn't work ! the error is displayed with the orange and red colors do you have an idea ??

(I use the last version of wamp, i don't know how to check if i choosed 64 or 32bits but it's apache 2.2.22, php 5.3.13)

thanks in advance for your help ! :)

<?php
xdebug_disable();
try {
  $sc = new SoapClient("some-wrong.wsdl", array('exceptions' => true));
} catch (Exception $e) {
  echo 'Error Caught :-)';
}
?>

I want to add that :

sometimes I have 2 warning and 1 error

 - Warning: SoapClient::SoapClient -> "failed to open stream ..."
 - Warning: SoapClient::SoapClient -> "failed to load external entity ..."
 - Fatal error: SOAP-ERROR: Parsing WSDL -> "Couldn't load from ..."

and sometimes, just the fatal error

I have placed an echo just after the line new SoapClient(..... and when there's an uncatched error, the echo is not displayed

I have to add that I call SoapClient with 'trace' => 1, 'exceptions' => 1,

and i have this in apache error log (** used to hide)

[Thu Jan 31 16:16:02 2013] [error] [client 127.0.0.1] PHP Fatal error:  SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://******?wsdl' : Start tag expected, '<' not found
 in D:\\Programmes\\wamp\\www\\******.php on line 144, referer: http://localhost/******.php
[Thu Jan 31 16:16:04 2013] [error] [client 127.0.0.1] PHP Warning:  ||| faultcode: WSDL ||| faultstring: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://******?wsdl' : Start tag expected, '<' not found
 ||| in D:\\******.php on line 201, referer: http://localhost/******.php
[Thu Jan 31 16:16:04 2013] [error] [client 127.0.0.1] PHP Fatal error:  Call to a member function __getLastRequestHeaders() on a non-object in D:\\Programmes\\wamp\\www\\******.php on line 204, referer: http://localhost/******.php

I edit my first message because i am new memebr and can t answer to my own message before 8 hours

so this morning, I have change the default stack size of apache because apache was craching with just this line in the apache error log : [notice] Parent: child process exited with status 255 -- Restarting.

  • I have installed visual basic 2012 (evaluation ;) )
  • used the visual basic command console (start > Micrososft Visual Studio 2012 > Visual studio tools)
  • checked the sire typing "cd ***my_path_containing_apache_bin_directory**\bin dumpbin /all httpd.exe | find "stack"" (is was " 40000 size of stack reserve " )
  • increase the size typing editbin /stack:1048576 httpd.exe
  • And don't forgot to PUT ADMINISTRATOR RIGHT on the httpd.exe file + exit WANP !!! (I lost a morning because of this !, editbin was returning a LINK error !!)

-> It s strange because after to have done this, I had WSDL uncaught errors but since few hours I have not this kind of error, may be it s just the proxy list that I use that are able to connect correctly,.. ??

  • 写回答

2条回答 默认 最新

  • doujing1858 2013-01-31 14:47
    关注

    The SOAP extension does some strange things and overrides an internal PHP errorhandler. This conflicts a little with Xdebug's error overriding mechanisms. Do include the full error message though, and I can perhaps update my answer from there on.

    评论

报告相同问题?

悬赏问题

  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 个人网站被恶意大量访问,怎么办
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制