error wsdl: no hay separación adecuada de los encabezados y el documento

Estoy usando NUSOAP para usar una interfaz de soap para microsoftdynamics. Recibo este error “wsdl error: Getting https://testserver2013.api.crm4.dynamics.com/XRMServices/2011/Organization.svc?wsdl=wsdl0 – HTTP ERROR: no hay una separación adecuada entre los encabezados y el documento”, estoy un poco confundido

Supongo que el documento xml está bien, ¿hay algún problema con los encabezados o es probable que lo esté leyendo incorrectamente? Gracias.

el xml del documento se ve así

 false true   LiveId  urn:federation:MicrosoftOnline  urn:crmemea:dynamics.com WSTrustFeb2005 TransportWithMessageCredential MBI_FED_SSL http://Passport.NET/tb     false true   OnlineFederation  https://dynamicscrmemea.accesscontrol.windows.net/  urn:crmemea:dynamics.com WSTrustFeb2005 TransportWithMessageCredential MBI_FED_SSL http://Passport.NET/tb https://login.microsoftonline.com/RST2.srf urn:federation:MicrosoftOnline     false true                          
https://login.microsoftonline.com/RST2.srf
https://dynamicscrmemea.accesscontrol.windows.net/v2/wstrust/mex
http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey 192 http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p http://www.w3.org/2001/04/xmlenc#tripledes-cbc http://www.w3.org/2000/09/xmldsig#hmac-sha1 http://www.w3.org/2001/10/xml-exc-c14n# http://www.w3.org/2001/04/xmlenc#tripledes-cbc

cualquier idea, gracias! o cualquier buen tutorial de trabajo sobre dinámica de microsoft crm online 2011 sería genial!

¡Gracias!

Verifica tus terminaciones de línea. El problema puede ser causado por una mezcla de LF y CR + LF en sus archivos PHP / fuente

Acabo de ver este error y parece ser un error en el código nusoap. En nuestro caso, esto fue causado por una respuesta de error 401 a la llamada SOAP, pero las respuestas 301 y 302 parecen desencadenar el mismo problema.

El error parece estar en la siguiente línea de código:

if ($ pos = strpos ($ data, “\ r \ n \ r \ n”))

Cuando los encabezados fueron despojados $ pos se establece en 0 y esto se evalúa como FALSO, mientras que parece que el desarrollador intentó evaluarlo como VERDADERO junto con el caso donde los encabezados están intactos.

Ver: https://github.com/codecasts/nusoap-php7/blob/master/lib/class.soap_transport_http.php