1

这是我第一次使用 SOAP,我已经阅读了所有手册,并且仍然堆满了以下示例:

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"   
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Header>
    <AuthenticationInfo xmlns="https://blabla.com/ws/Quoting">
      <strUserName>[username]</strUserName>
       <strPassword>[password]</strPassword>
   </AuthenticationInfo>
 </soap:Header>
 <soap:Body>
    <GetQuotes xmlns="https://blabla.com/ws/Quoting">
      <CallerClientID>0</CallerClientID>
          <quoteRequest>
            <CapacityCode>2</CapacityCode>
           <BabiesCount>0</BabiesCount>
           <QuotingOptions>0</QuotingOptions>
         </quoteRequest>
      <clientIDs>
        <int>20295</int>
      </clientIDs>
      <withUrlParam>false</withUrlParam>
    </GetQuotes>
  </soap:Body>
</soap:Envelope>

我不明白如何通过授权启动soapclient,请帮助。

4

1 回答 1

1

你需要使用SoapHeader. 下面是示例。

$ns = 'https://blabla.com/ws/Quoting'; //Namespace of the WS. 

//Body of the Soap Header. 
$headerbody = array('strUserName' => $someUser, 
                    'strPassword' => $somePass); 

//Create Soap Header.        
$header = new SOAPHeader($ns, 'AuthenticationInfo', $headerbody);        

//set the Headers of Soap Client. 
$soap_client->__setSoapHeaders($header); 
于 2013-07-14T07:26:52.897 回答