欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于WEBSERVICE的问题

程序员文章站 2022-05-31 09:34:33
...
各位大大,小弟我询问一个问题,我在本地调试好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...完整代码

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给禁止了之后就可以了!