2017-07-14 7 views
1

<SOAP-ENV:Envelope />タグのxmlns属性を編集するにはどうすればよいですか?SOAP-ENVに欠けているxmlns属性を追加する:PHPのSoapClientを使用するエンベロープタグ

私は、xmlns:xsixmlns:xsdがない状況があります。私はそれらを戻す方法を知りたいですか?

例:

<?xml version="1.0" encoding="UTF-8"?> 
<SOAP-ENV:Envelope 
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:ns1="http://fedex.com/ws/track/v12"> 
    <SOAP-ENV:Body> 
     <ns1:TrackRequest> 
      ... 

しかし、私は、それは、このことが必要ですいじった後

<?xml version="1.0" encoding="UTF-8"?> 
<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ns1="http://fedex.com/ws/track/v12" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <SOAP-ENV:Body> 
     <ns1:TrackRequest> 
      ... 

答えて

0

私は、これはちょっと古いですけど、場合には、誰かがそれにつまずく...

SoapVarで、これは私のために働いた方法です:

$params[] = new SoapVar('',XSD_ANYXML, '', null, 'Envelope', 'http://www.w3.org/2001/XMLSchema'); 
$params[] = new SoapVar('',XSD_ANYXML, '', null, 'Envelope', 'http://www.w3.org/2001/XMLSchema-instance'); 
//you can add more vars here. 
//E.g. in my case I also needed $params[] = new SoapVar('<notifications xmlns="http://soap.sforce.com/2005/09/outbound"><Ack>true</Ack></notifications>',XSD_ANYXML); as I was working with salesforces soap. 
return new SoapVar($params, XSD_ANYXML); 
関連する問題