热搜:NVER node 开发 php

关于WEBSERVICE的问题

2024-09-18 20:15:01
关于WEBSERVICE的问题

   各位大大,小弟我询问一个问题,我在本地调试好php访问WEBSERVICE接口已经成功,并且可以传递相关参数,但是我将程式放置到服务器端之后就出现 
  网站无法显示该页面 
 HTTP 500  内部服务错误
   最可能的原因是:
?该网站正在进行维护。
?该网站有程序错误。
 
   您可以尝试以下操作: 
     重新键入地址。 
 
     返回到上一页。 
 
     更多信息 
  大家知道这是什么问题吗 ??读写权限???
 


回复讨论(解决方案)

大家有碰到这种情况过吗???

php 访问 WEBSERVICE 需要使用 soap 扩展或 unsorp.php 类库

php 访问 WEBSERVICE 需要使用 soap 扩展或 unsorp.php 类库
我在开头做了require_once("lib/nusoap.php");
也把lib文件夹放在运行文件的同一目录下了。

nusoap.php 是使用 fsockopen 连接 webservice 的,请检查该函数是否被禁用了

nusoap.php 是使用 fsockopen 连接 webservice 的,请检查该函数是否被禁用了 额。。。怎么修改呢?

nusoap.php 是使用 fsockopen 连接 webservice 的,请检查该函数是否被禁用了 是php.ini里面的allow_url_fopen吗??这个已经ON了

如果是被禁用了,那就联系管理员看看是否能解禁

当然你也需要保证你的程序在 error_reporting(E_ALL); 情况下没有任何错误(警告)信息

如果是被禁用了,那就联系管理员看看是否能解禁

当然你也需要保证你的程序在 error_reporting(E_ALL); 情况下没有任何错误(警告)信息 都开启了。也不行。。。为什么呢。。哎!

如果是被禁用了,那就联系管理员看看是否能解禁

当然你也需要保证你的程序在 error_reporting(E_ALL); 情况下没有任何错误(警告)信息 大大。还会是什么问题呢??我刚测试了一下 fsockopen 是开启状态的

  HTTP 500  内部服务错误
除了可能是soap扩展没开之外,还可能是你的程序中的语法错误。
error_reporting(E_ALL);
开启后,看是否有错误提示。

  HTTP 500  内部服务错误
除了可能是soap扩展没开之外,还可能是你的程序中的语法错误。
error_reporting(E_ALL);
开启后,看是否有错误提示。
无错误提示呢。开头也引了nusoap.php  

  HTTP 500  内部服务错误
除了可能是soap扩展没开之外,还可能是你的程序中的语法错误。
error_reporting(E_ALL);
开启后,看是否有错误提示。 我把IE里面的INTERNET 选项里面-高级-显示友好HTPP 错误信息的打勾给去掉之后,就只是显示我测试用的ECHO信息,但是下面的内容还是没有执行!

有echo出的信息,说明页面是没有语法错误的。
下面没有执行的是什么内容?

有echo出的信息,说明页面是没有语法错误的。
下面没有执行的是什么内容? PHP 通过WEBSERVICE 接口传递资料。主要是本地运行没什么问题。而且我刚查看了下服务器的PHP.INI 也没什么问题。晕了

1、没有看到你的代码
2、你只说是 500 错
叫人说什么好呢?

1、没有看到你的代码
2、你只说是 500 错
叫人说什么好呢? sorry...完整代码

<?phpecho "1234";header("Content-Type: text/html;charset=utf-8");require_once("lib/nusoap.php");//调用一个开源的类 下载downloaderror_reporting(E_ALL);$client = new soapclient('http://hr.pim-cs.com/WebService/IntegralInterface.asmx?wsdl', true);echo "abc";$err = $client->getError();	$client->soap_defencoding = 'utf-8';      	$client->decode_utf8 = ture;      	$client->xml_encoding = 'utf-8';    	$client->soap_defencoding = 'utf-8';    	$client->decode_utf8 = false;    	$client->xml_encoding = 'utf-8';if ($err) { echo '

Constructor error

' . $err . '
';}// Doc/lit parameters get wrapped//$param = array('CityName' => 'dalian','CountryName' => 'china');$json='{ "Request":{ "Header":{ "IFCode":"接口标识", "CorpCode":"客户代码", "SysCode":"kongRun_BasicCode", "Account":"用户名", "Pwd":"密码 ", }, "Body":{ "Integral":"1", "MobilePhone":"手机号码" } }}';$param = array('Json' => $json);//$param=json_decode($json);$result = $client->call('MemberAddIntegral', array('parameters' => $param), '', '', false, true,'document','encoded');// Check for a faultif ($client->fault) { echo '

Fault

'; print_r($result); echo '
';} else { // Check for errors $err = $client->getError(); if ($err) { // Display the error echo '

Error

' . $err . '
'; } else { // Display the result echo '

Result

';  print_r($result);  echo '
'; }}echo '

Request

' . htmlspecialchars($client->request, ENT_QUOTES) . '
';echo '

Response

' . htmlspecialchars($client->response, ENT_QUOTES) . '
';echo '

Debug

' . htmlspecialchars($client->debug_str, ENT_QUOTES) . '
';?>

显然你两处的 php 版本不一样,且服务器上的是 php5.3或以上
而 nusoap.php 不是能适应高版本php的!有没有,我还不知道。我只用soap扩展

Deprecated:  Assigning the return value of new by reference is deprecated in nusoap.php on line 7381
Warning:  Creating default object from empty value in nusoap.php> on line >75

显然你两处的 php 版本不一样,且服务器上的是 php5.3或以上
而 nusoap.php 不是能适应高版本php的!有没有,我还不知道。我只用soap扩展

Deprecated:  Assigning the return value of new by reference is deprecated in nusoap.php on line 7381
Warning:  Creating default object from empty value in nusoap.php> on line >75 感谢感谢,问题已经解决,我讲服务器中的php.ini的SOAP给禁止了之后就可以了!