如何指定WSDL上使用哪些服务?

时间:2017-01-10 17:21:06

标签: php wsdl soap-client

我必须使用具有2个服务(Service1& Service2)的WSDL,并且这些服务具有许多功能。

我需要的是:对Service1上的 functionX 和Service2上的 functionY 进行soap_call。

这就是我实际连接的方式:

$options = [
    "cache_wsdl" => WSDL_CACHE_NONE,
    "soap_version" => SOAP_1_1,
    "connection_timeout" => 120,
    "trace" => 1,
    "exceptions" => 1,
];

$this->_objSoap = new SoapClient($this->_sURLService,$options);

执行功能:

$result = (array)$this->_objSoap->__soapCall('functionX', $params);

2 个答案:

答案 0 :(得分:0)

只是调用它们?

$this->_objSoap = new SoapClient($this->_sURLService,$options);
$result_1 = $objSoap->function_x();
$result_2 = $objSoap->function_y();

答案 1 :(得分:0)

我正在使用Soap_Call进行调用,这就是问题所在:/,现在我在obj上进行调用。

<强>连接:

// Substitute appropriate type.
ArrayList<MyItem> a = new ArrayList<MyItem>();

// add your elements...

// Generate an iterator. Start after the last element.
ListIterator li = a.listIterator(a.size());

// Iterate in reverse.
MyItem mi = null;
while(li.hasPrevious()) {
    mi = li.previous();
    if(mi.getAge().equals("18")) { // obviously, your test will likely differ...
        break;
    }
}

<强>之前

$options = [
    "cache_wsdl" => WSDL_CACHE_NONE,
    "soap_version" => SOAP_1_1,
    "connection_timeout" => 120,
    "trace" => 1,
    "exceptions" => 1,
]; 

$this->_objSoap = new SoapClient($this->_sURLService,$options);

立即

$result = (array)$this->_objSoap->Soap_Call(functionX,$params));

现在的问题是,我不明白为什么使用Soap_Call在我的其他WSDL上工作:/。