SOAP-ERROR: Parsing WSDL: Unknown required WSDL extension 'http://schemas.xmlsoap.org/ws/2004/09/policy' in PHP SoapClient while calling SAP PI

The only solution I can think of at this point is to update your UsingPolicy tag:

Change the tag:

<wsp:UsingPolicy wsdl:required="true"/> 

to this:

<wsp:UsingPolicy wsdl:required="false"/>

This isn't really the correct answer in a SAP environment. In your URL for the WSDL, you'll see /ws_policy/ - change this to /standard/ and you'll be able to use the PHP SoapClient class to consume the web service without having to maintain a local modified copy of the WSDL. You can see the same on a SAP blog here (login probably required).


For new versions the URL is not containing anymore the "ws_policy" instead there is a 0 (standard)or 1 (policy)

Example:

....wsdl/flv_10002A111AD1/bndg_url/.... (ws_policy)

....wsdl/flv_10002A101AD1/bndg_url/.... (standard)

Credits to Rafa Martinez