PHP SOAP主体-需要设置架构版本
我正在使用一个对web服务的非wsdl soap调用,并且我能够以我需要的方式构建请求,但是我需要在信封正文中设置一个模式版本 我能够使用PHP SoapClient构建此请求:PHP SOAP主体-需要设置架构版本,php,soap,schema,php-5.3,soap-client,Php,Soap,Schema,Php 5.3,Soap Client,我正在使用一个对web服务的非wsdl soap调用,并且我能够以我需要的方式构建请求,但是我需要在信封正文中设置一个模式版本 我能够使用PHP SoapClient构建此请求: <?xml version="1.0" encoding="UTF-8"?> <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://schemas.discovery.co.za/vit
<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://schemas.discovery.co.za/vitality">
<env:Body>
<ns1:UsageEligibilityRequest>
<ns1:RequestingEntityNumber>12345678</ns1:RequestingEntityNumber>
<ns1:Entities>
<ns1:EntityNumber>12345678</ns1:EntityNumber>
<ns1:DateOfBirth>1980-01-01</ns1:DateOfBirth>
<ns1:Gender>M</ns1:Gender>
<ns1:FirstInitial>H</ns1:FirstInitial>
</ns1:Entities>
</ns1:UsageEligibilityRequest>
</env:Body>
</env:Envelope>
谢谢。有两种方法可以做到这一点
$requestingUser = 12345678;
$entityNumber = 12345678;
$dateOfBirth = '1980-01-01';
$gender = 'M';
$firstInitial = 'H';
$paramsSOAPVar = new SoapVar('<ns1:UsageEligibilityRequest schemaVersion="1">
<ns1:RequestingEntityNumber>' . $requestingUser. '</ns1:RequestingEntityNumber>
<ns1:Entities>
<ns1:EntityNumber>' . $entityNumber. '</ns1:EntityNumber>
<ns1:DateOfBirth>' .$requestingUser. '</ns1:DateOfBirth>
<ns1:Gender>' .$gender. 'M</ns1:Gender>
<ns1:FirstInitial>' .$firstInitial. '</ns1:FirstInitial>
</ns1:Entities>
</ns1:UsageEligibilityRequest>', XSD_ANYXML);
$client->__soapCall('UsageEligibilityRequest', array($options));
$requestingUser = 12345678;
$entityNumber = 12345678;
$dateOfBirth = '1980-01-01';
$gender = 'M';
$firstInitial = 'H';
$paramsSOAPVar = new SoapVar('<ns1:UsageEligibilityRequest schemaVersion="1">
<ns1:RequestingEntityNumber>' . $requestingUser. '</ns1:RequestingEntityNumber>
<ns1:Entities>
<ns1:EntityNumber>' . $entityNumber. '</ns1:EntityNumber>
<ns1:DateOfBirth>' .$requestingUser. '</ns1:DateOfBirth>
<ns1:Gender>' .$gender. 'M</ns1:Gender>
<ns1:FirstInitial>' .$firstInitial. '</ns1:FirstInitial>
</ns1:Entities>
</ns1:UsageEligibilityRequest>', XSD_ANYXML);
$params = array(
'schemaVersion' => 1,
'RequestingEntityNumber' => $requestingUser,
'Entities' => array(
'EntityNumber' => $entityNumber,
'DateOfBirth' => $dateOfBirth,
'Gender' => $gender,
'FirstInitial' => $firstInitial
)
);