Para una llamada al servicio web utilizando un WSDL, obtengo el error Cannot find dispatch method for {http://ws.somecompany.com/services}ValidateUser
, ¿qué significa eso exactamente? ¿Significa que no puede encontrar ValidateUser
?WSDL No se puede encontrar el método de envío para
Respuesta
Esto normalmente significa que el marco SOAP no pudo encontrar la operación que debería invocarse a través de esta solicitud. Generalmente, un marco SOAP inspecciona el mensaje para encontrar indicadores sobre cómo enrutar el mensaje a la operación. Las razones de este error son principalmente problemas de configuración (diferentes espacios de nombres, diferentes codificaciones (RPC vs. doc/lit), uso de WS-Addressing vs. plain SOAP, etc.)
Tuve un problema similar y tuve dificultades, buscando en Google 1 día. Pero fue un simple error que en lugar de:
{http://ws.somecompany.com/services}ValidateUser
Debe ser
{http://ws.somecompany.com/services/}ValidateUser
no había comprobado mi WSDL con claridad.
Sí, esos son desagradables. También un error común es pasar por alto la diferencia entre http y https en URI de espacio de nombres. – vanto
En mi caso lo resolví asegurándome de que mi archivo de configuración, ya sea app.config o web.config, dependiendo de su cliente, tiene el punto final correcto. Tenía una dirección incorrecta en mi punto final. Lo cambié y funcionó bien.
También perdí un día con este problema, aunque con una causa raíz diferente.
En nuestro caso, dos URL de punto final similares se mezclaron en el archivo de propiedades. Ambos servicios estaban presentes y en ejecución, pero los WSDL no coincidían, por lo que en lugar de una ConnectionException, recibíamos esta SOAPFaultException: "No se puede encontrar el método de envío".
Mi cincuenta centavo, recibí el mismo mensaje de error pero mi caso era diferente de todo lo anterior, por lo que espero que pueda ayudar a alguien.
Tenía el archivo .wsdl, que quedó obsoleto sin mi conocimiento cuando colegas del otro lado de ws renombraron algún elemento. Desafortunadamente, el cambio no era visible cuando comparaba .wsdl con el suyo porque el archivo .wsdl tenía una importación .xsd que en realidad contenía el elemento renombrado. ¡Después de encontrar el cambio, actualicé mi archivo .xsd y tada! el error se fue y funcionó.
En mi caso, la siguiente excepción estaba tirando Incluso he suministra todos los parámetros
SoapFault exception: [S:Client] Cannot find dispatch method for {}parameters in
Después golpeando mi cabeza unas horas, sólo añadir un \ al inicializar SoapClient resolvió el problema.
Desde:
$client = new SoapClient($soapURL);
Para:
$client = new \SoapClient($soapURL);
que tenía el mismo problema en mi aplicación .NET, en mi caso la configuración url mismo que "http://x-xxx-xx-xx-01:8080//TestProject/testproject?wsdl" (url ficticio) resolvió el problema en el siguiente código.
Vb.Net
Dim rptGen as WSTestProject.testproject = Nothing
rptGen = New WSTestProject.testproject With {
.Url = "http://x-xxx-xx-xx-01:8080//TestProject/testproject?wsdl",
.Timeout = 1200000
}
Aquí, WSTestProject es el espacio de nombres WebService y TestProject es el método web.
- 1. No se puede encontrar el método InsertOnSubmit()
- 2. No se puede encontrar Delphi 2007 WSDL Importer
- 3. Entity Framework 4.1, no se puede encontrar el método Load()?
- 4. no puede encontrar el método onClick
- 5. El método 'XYZ' no se puede reflejar
- 6. La ubicación del esquema de Xsd no se puede encontrar en el archivo WSDL
- 7. No se puede encontrar el paquete para el nombre base
- 8. No se puede encontrar el módulo 'mscorwks.dll'
- 9. Node.js - no se puede encontrar el módulo
- 10. no se puede encontrar -lmysqlclient
- 11. R.xml.preferences no se puede encontrar?
- 12. No se puede actualizar RVM - "fatal: no se puede encontrar el helper remoto para 'http'"
- 13. No se puede encontrar microsoft.sqlserver.batchparser.dll
- 14. No se puede encontrar Spring NamespaceHandler para el elemento 'flow'
- 15. "No se puede encontrar el símbolo" para mi propia clase
- 16. pvk2pfx.exe - no se puede encontrar
- 17. No se puede encontrar org.json.JSONObject
- 18. WebService Excepción de cliente: no se puede importar wsdl: vinculante
- 19. No se puede encontrar Dumpbin.exe
- 20. System.Data.Entity.DataBase no se puede encontrar
- 21. Log4jConfigListener no se puede encontrar - contexto no se puede iniciar
- 22. Captcha no puede evitar el envío de correo no deseado
- 23. getActivity() no puede encontrar el símbolo símbolo: método getActivity()
- 24. Error al ejecutar el proceso Guard: no se puede encontrar el método de singularización
- 25. Roslyn - No se puede encontrar SyntaxNode.ReplaceNode()
- 26. Error de Git: no se puede encontrar
- 27. No se puede encontrar la declaración de protocolo para
- 28. Lista en macro de velocidad, no se puede encontrar contiene el método
- 29. No se puede encontrar HttpWebRequest.GetResponse() en el proyecto WP7
- 30. vista MVC no puede encontrar mi método de extensión
Si está usando Visual Studio, aquí hay una solución rápida.Haga clic con el botón derecho en el servicio web en la carpeta Referencias web en el Explorador de soluciones, seleccione Actualizar el servicio web. Espere a que VS complete el proceso y ha terminado –
En mi caso el problema fue que el '' referenciado en '' del '' al que se hace referencia en '' del '' no tenía el mismo ** espacio de nombre ** como ''. También debe tener el mismo nombre para evitar el ajuste de los parámetros de entrada. –
msa