Php 使用soap客户端类映射函数时缺少命名空间前缀
嗨,我遇到了一些奇怪的错误,类似于这个非常旧的PHP错误: 唯一的区别是:我使用的是php的soap客户端的classmap函数 看起来像这样:Php 使用soap客户端类映射函数时缺少命名空间前缀,php,soap,wsdl,soap-client,wsdl2php,Php,Soap,Wsdl,Soap Client,Wsdl2php,嗨,我遇到了一些奇怪的错误,类似于这个非常旧的PHP错误: 唯一的区别是:我使用的是php的soap客户端的classmap函数 看起来像这样: class Client extends \SoapClient { //left something out here const DOMAIN_MODEL_NAMESPACE = 'Domain\\Model\\'; /** * @return array */ private function getClassmap() { r
class Client extends \SoapClient
{
//left something out here
const DOMAIN_MODEL_NAMESPACE = 'Domain\\Model\\';
/**
* @return array
*/
private function getClassmap()
{
return array(
'AddressCheck' => self::DOMAIN_MODEL_NAMESPACE . 'AddressCheck\\AddressCheckRequest',
'AddressCheckResponse' => self::DOMAIN_MODEL_NAMESPACE . 'AddressCheck\\AddressCheckResponse',
'matchingAddresses' => self::DOMAIN_MODEL_NAMESPACE . 'AddressCheck\\MatchingAddresses',
'address' => self::DOMAIN_MODEL_NAMESPACE . 'Common\\Address',
'RequestHeader' => self::DOMAIN_MODEL_NAMESPACE . 'Common\\Header\\RequestHeader',
'salesOrderEntry' => self::DOMAIN_MODEL_NAMESPACE . 'Common\\Header\\SalesOrderEntry'
);
}
/**
* @param Configuration\ConfigurationInterface $configuration
* @param string $wsdl
*/
public function __construct($wsdl, Configuration\ConfigurationInterface $configuration)
{
$options = array(
'classmap' => $this->getClassmap(),
'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
'location' => $configuration->getServiceLocation(),
'trace' => 1,
'soap_version' => SOAP_1_1,
'exceptions' => 1,
'cache_wsdl' => 0
);
parent::__construct($wsdl, $options);
}
}
其他类别:
$address = new Common\Address($street, $houseNumber, $postalCode, $city);
$request = new AddressCheck\AddressCheckRequest($address);
$response = $this->soapClient->__soapCall($requestName, array($request));
这是由PSR-4自动加载生成的,但随后进行了一些修改以适应PSR-4自动加载
我的问题在于生成的XML请求:
应该是(由SOAPUi生成!):
->看起来像肥皂。(对吗?)
1.
1.11
1.
0
300011489
300000011
某条街
6.
66666
某地