我在使用soapclient 呼叫时遇到问题。soaprequest 必须看起来像:
<eng:Compose>
<!--Optional:-->
<EWSComposeRequest>
<!--Optional:-->
<driver>
<!--Optional:-->
<driver>base64</driver>
<!--Optional:-->
<fileName>INPUT</fileName>
</driver>
<engineOptions>
<name>FILEMAP</name>
<value>DLFOUT.dlf,dummy.dlf</value>
</engineOptions>
<engineOptions>
<name>FILEMAP</name>
<value>PDFOUT.pdf,dummy.pdf</value>
</engineOptions>
<engineOptions>
<name>RUNMODE</name>
<value>PRODUCTION</value>
</engineOptions>
<!--Optional:-->
<fileReturnRegEx>^.*.(dlf|pdf)$</fileReturnRegEx>
<includeHeader>True</includeHeader>
<includeMessageFile>True</includeMessageFile>
<!--Optional:-->
<pubFile>TestLive.pub</pubFile>
</EWSComposeRequest>
</eng:Compose>
我的soap_param是:
$soap_param = array("Compose"=> array("EWSComposeRequest" =>
array( "driver" => array( "driver" => $post_Driver,
"fileName" => $post_FileName),
"engineOptions" => array( "name" => "KEY", "value" => $INI['encodedkey']),
"engineOptions" => array( "name" => "RUNMODE", "value" => $INI['runmode']),
"fileReturnRegEx" => $post_FileReturnRegEx, "includeHeader" => $post_IncludeHeader,
"includeMessageFile" => $post_IncludeMessage, "pubFile" => $post_PubFile)));
但是,soapcall 似乎可以工作......我只恢复了最后一个 engineOptions 元素。根据 xsd 元素 engineOptions 可以出现多次(0 到无界)。在肥皂调用中,这个元素似乎被覆盖了。index: engineOptions 不是唯一的。
我无法想象我是唯一面临这个问题的人。我希望这个问题有一个(简单的)解决方案。