FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Error "Message part {URL}Método was not recognized" al consumir servicio Web Java
Hola a todos.
Los servicios Web (Web services) es una de las muchas áreas en las que me declaro novato. Para concluir cierta aplicación que me han encargado, me falta que ésta envíe ciertos datos a través de un servicio Web. Para esta parte opté por usar Delphi XE2, dado que su importador de archivos WSDL está más actualizado que el de Delphi 7. Cuando trato de consumir el servicio Web, es decir, cuando intento llamar a uno de sus métodos, obtengo como respuesta una excepción de clase ERemotableException, cuyo mensaje es: Message part {URL}Método was not recognized. (Does it exist in service WSDL?) Donde URL es la URL del espacio de nombres indicado por el WSDL, y Método es el nombre del método que se intentó llamar. La importación parece ocurrir correctamente, se genera un archivo .pas con todas las clases, métodos y funciones que definen al servicio Web, el método se importa con el mismo nombre que aparece en varios de los nodos del WSDL. Pero la llamada no se realiza. Usando la aplicación de diagnóstico SoapUI, al lanzar la petición (request) tampoco se consigue ejecutar la llamada, aunque el error es diferente: ERROR [WsdlSubmit] Exception in request: java.net.UnknownHostException: lpmx2xxxxx.xxm.na.xxg Observando el archivo .log de esta herramienta, pude notar que el servicio Web está hecho en Java y es proporcionado mediante el servidor Apache. El WSDL completo es: Código:
<?xml version="1.0" encoding="UTF-8" ?> <wsdl:definitions name="WSManagementxxxxerPointService" targetNamespace="http://www.xx.com.mx/xxxxportal/xxxxerPoint" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.xx.com.mx/xxxxportal/xxxxerPoint" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <wsdl:types> <xs:schema elementFormDefault="unqualified" targetNamespace="http://www.xx.com.mx/xxxxportal/xxxxerPoint" version="1.0" xmlns:tns="http://www.xx.com.mx/xxxxportal/xxxxerPoint" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="UploadFile" type="tns:UploadFile" /> <xs:element name="UploadFileResponse" type="tns:UploadFileResponse" /> <xs:complexType name="UploadFile"> <xs:sequence> <xs:element minOccurs="0" name="arg0" type="xs:string" /> <xs:element minOccurs="0" name="arg1" type="xs:string" /> <xs:element minOccurs="0" name="arg2" type="xs:string" /> <xs:element minOccurs="0" name="arg3" type="xs:string" /> <xs:element minOccurs="0" name="arg4" type="xs:string" /> <xs:element name="arg5" type="xs:int" /> </xs:sequence> </xs:complexType> <xs:complexType name="UploadFileResponse"> <xs:sequence> <xs:element name="return" type="xs:boolean" /> </xs:sequence> </xs:complexType> </xs:schema> </wsdl:types> <wsdl:message name="UploadFile"> <wsdl:part element="tns:UploadFile" name="parameters" /> </wsdl:message> <wsdl:message name="UploadFileResponse"> <wsdl:part element="tns:UploadFileResponse" name="parameters" /> </wsdl:message> <wsdl:portType name="WSManagamentxxxxerPoint"> <wsdl:operation name="UploadFile"> <wsdl:input message="tns:UploadFile" name="UploadFile" /> <wsdl:output message="tns:UploadFileResponse" name="UploadFileResponse" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="WSManagementxxxxerPointServiceSoapBinding" type="tns:WSManagamentxxxxerPoint"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="UploadFile"> <soap:operation soapAction="" style="document" /> <wsdl:input name="UploadFile"> <soap:body use="literal" /> </wsdl:input> <wsdl:output name="UploadFileResponse"> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="WSManagementxxxxerPointService"> <wsdl:port binding="tns:WSManagementxxxxerPointServiceSoapBinding" name="WSManagamentxxxxerPointPort"> <soap:address location="http://lpmx2xxxxx.xxm.na.xxg:8080/dwhlp-ejb-1.0.0-SNAPSHOT/WSManagamentxxxxerPoint" /> </wsdl:port> </wsdl:service> </wsdl:definitions> Cita:
NOTA: Algunas partes las he cambiado por motivos de confidencialidad. El método en cuestión se llama UploadFile. La pregunta es: ¿por qué se eleva una excepción diciendo que ese método no fue reconocido? De antemano gracias por la información que puedan proporcionarme. Saludos. Al González. P.D. Antes de hacer esta consulta leí información en varias decenas de sitios Web, incluyendo los foros de la Comunidad Delphi, pero no encontré nada que pareciera específico de este problema. Esta vez Google me falló. P.D. #2 Lo sé, tal vez resulte que el WSDL que me proporcionaron no esté reflejando el contenido actual del servicio Web. Si termina siendo eso, voy a exigir el doble de paga o por lo menos una buena botella de vino. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como crear un "Cryptographic Message Syntax" en Delphi? | old_martinez | Varios | 3 | 09-12-2016 16:41:59 |
Al consumir Servicio Web JAVA el array regresa vacio | guacasoft73 | Varios | 1 | 15-05-2011 07:25:45 |
"system error code 1057 " al instalar servicio de windows | jangel_ramirezm | API de Windows | 1 | 03-12-2009 14:59:50 |
Edatebase Error With Message 'ibsocios: Fiel" Not Found | Zakio14 | Firebird e Interbase | 4 | 28-02-2008 01:50:25 |
Cómo saber el "nombre real" de un servicio | Casimiro Notevi | Windows | 10 | 11-04-2007 21:13:58 |
|