相关疑难解决方法(0)

在php中强制重新缓存WSDL

我知道如何在PHP中禁用WSDL-cache,但是强制重新缓存WSDL呢?

这就是我尝试的:我运行我的代码,缓存设置为禁用,并且新方法显示为受到尊重.然后我激活了缓存,但由于某种原因,我的旧的非工作wsdl再次出现.那么:我如何强制我的新WSDL覆盖我的旧缓存?

php wsdl caching web-services

16
推荐指数
2
解决办法
2万
查看次数

PHP SoapClient请求:不是此服务的有效方法

好吧,我想我需要另外一双眼睛来看看这个.我正在对远程服务器上的echo Web服务进行简单的php soapclient调用.我很确定我没有任何拼写错误,而且函数调用是正确的.但是,我收到一个致命的错误声称该函数不是一个有效的方法.下面是Web服务类型的var_dump.

array(4){[0] => string(88)"struct EspException {string Code; string Audience; string Source; string Message;}"[1] => string(71)"struct ArrayOfEspException {string Source; EspException Exception ;}"[2] => string(43)"struct EchoTestRequest {string ValueIn;}"[3] => string(45)"struct EchoTestResponse {string ValueOut;}"}

致命错误:未捕获的SoapFault异常:[客户端]函数("EchoTestRequest")不是/home/grafixst/public_html/cpaapp/echo_test.php:38中此服务的有效方法.堆栈跟踪:#0/home/grafixst/public_html /cpaapp/echo_test.php(38):SoapClient - > __ call('EchoTestRequest',Array)#1 /home/grafixst/public_html/cpaapp/echo_test.php(38):SoapClientAuth-> EchoTestRequest(Array)#2 {main }在第38行的/home/grafixst/public_html/cpaapp/drew/echo_test.php中抛出

这是我用来拨打电话的代码:

require_once('SoapClientAuth.php');

ini_set("soap.wsdl_cache_enabled", "0");

#- Loading the WSDL document
$server = "https://wsonline.seisint.com/WsAccurint/EchoTest?ver_=1.65";
$wsdl = $server . "&wsdl";     

$client = new SoapClientAuth($wsdl,
                array(
                      'login' => $username,
                      'password' => $password
                     ));   

$types = $client->__getTypes();

var_dump($types);

echo "</br>";

$req = …
Run Code Online (Sandbox Code Playgroud)

php soap web-services soap-client

14
推荐指数
2
解决办法
4万
查看次数

SOAP-ERROR:编码:违反编码规则?

伙计们,我被困住了,在过去的几个小时里,我的头撞了桌子.

我正在尝试使用一个服务,并且我有8个其他函数,我称之为本质上几乎是IDENTICAL,但是这个函数会导致'SOAP-ERROR:Encoding:违反编码规则'错误.

继承函数调用(为安全起见省略了wsdl):

    function CanLoadProduct($data){

    $client = new SoapClient('wsdl-url');

    $params = array('username'   => $this->username,
                    'password'  => $this->password,
                    'prod'      => $data['productid'],
                    'mdn'       => $data['mdn']);

    try {
        $reply = $client->__soapCall("CanLoadProduct", $params);
    } catch (Exception $e) {
        echo 'Error: ',  $e->getMessage(), "\n";
        print_r($params);
        die();
    }

    if( $reply['result'] == 1 ){
        return TRUE;        // 1 = true
    } else {
        return FALSE;
    }

}
Run Code Online (Sandbox Code Playgroud)

好的,这个函数,连接到web服务,所需的元素是:用户名,密码,prod,mdn,我提供的所有4个作为$ params数组的一部分.用户名/传递是先前定义的,并且工作正常,因为其他8个函数使用Web服务没有任何问题.

$ data []数组(我传递给函数)包含:$ data ['productid'] $ data ['mdn']没有使用其他内容.

我正进入(状态

SOAP-ERROR: Encoding: Violation of encoding rules
Run Code Online (Sandbox Code Playgroud)

由于一些无法解释的原因,谷歌搜索这个错误让我无处可去.其他人遇到这个?运行PHP 5.2.9-2.奇怪的是这与100%的这个功能相同:

    function …
Run Code Online (Sandbox Code Playgroud)

php xml soap

11
推荐指数
3
解决办法
4万
查看次数

标签 统计

php ×3

soap ×2

web-services ×2

caching ×1

soap-client ×1

wsdl ×1

xml ×1