我有一个与以下链接相关的Web服务:link
我正在尝试使用SubmitRequestType
访问函数名称,但似乎该函数不存在,而是submitAnsiSingle
,这是正确的函数名称。到目前为止,我尝试过的是:
$wsdl = 'https://ww3.navicure.com:7000/webservices/NavicureSubmissionService?WSDL';
class SecurityHeaderType {
private $submitterIdentifier;
private $originatingIdentifier;
private $submitterPassword;
private $submissionId;
function SecurityHeaderType() {
$this->submitterIdentifier = '***';
$this->originatingIdentifier = '****';
$this->submitterPassword = '****';
$this->submissionId = '';
}
}
class SubmitRequestType {
private $submitterIdentifier;
private $originatingIdentifier;
private $submitterPassword;
private $submissionId;
private $timeout;
private $transactionType;
private $submittedAnsiVersion;
private $resultAnsiVersion;
private $submitterSubmissionId;
private $processingOption;
private $payload;
private $exceptions;
function SubmitRequestType() {
$this->submitterIdentifier = '***';
$this->originatingIdentifier = '***';
$this->submitterPassword = '**';
$this->submissionId = '**';
$this->timeout = 60 ;
$this->transactionType = "E";
$this->submittedAnsiVersion = '5010';
$this->resultAnsiVersion = '5010';
$this->submitterSubmissionId = '**';
$this->processingOption = 'R';
$this->payload = 'EDI-270-Request';
$this->exceptions = true;
}
}
$soapheader = new SecurityHeaderType();
$submitrequest = new SubmitRequestType();
$service = new \SoapClient($wsdl);
$result= $service->SubmitAnsiSingle($submitrequest);
echo "<pre/>";print_r($result);
$types = $service->__getTypes ();
$functions = $service->__getFunctions ();
//echo "<pre/>";print_r($types);
//echo "<pre/>";print_r($functions);
但是我收到的响应如下,似乎请求正在他们那边处理,但是
SecurityHeaderType
在他们那边没有解析。stdClass Object
(
[transactionTyp] => E
[submitterSubmissionId] => ****
[submittedAnsiVersion] => 5010
[resultAnsiVersion] => 5010
[statusHeader] => stdClass Object
(
[statusCode] => 1150
[statusMessage] => com.navicure.webservices.core.WSCoreException: Account does not exist for ''
[requestProcessed] =>
)
)
任何提示都将不胜感激。
提前致谢。
$soapheader
,但没有使用它。 - Scuzzy$submitrequest
中添加了这些参数,因为我没有找到一种同时调用安全头和请求的方法。当我打印函数submitAnsiSingle(SubmitRequestType $parameters)
时。 - Jobin$header = new \SoapHeader('NAMESPACE','Auth',$soapheader,false); $service->__setSoapHeaders($header);
还有一个NAMESPACE的问题。 - Jobin$header = new \SoapHeader('http://www.navicure.com/2009/11/NavicureSubmissionService','SecurityHeaderType',$soapheader,false);
- Jobin