Tengo que hacer uso de un servicio web que solo recibe un dato, este dato esta definido en el wsdl como string y tiene formato xml.
El problema es que a pesar de haber repasado el guion xml a pasar y los datos con la persona que lleva el server siempre me retorna el mismo error.
Este es mas o menos el error que me sale con el DataDumper y CGI::Carp qw(carpout):
Código:
El caso es que en el string que el debug me muestra que este los tag < estan ya convertidos a <er</faultcode><faultstring>Exception during processing: javax.xml.soap.SOAPException: Found SOAPElement [ ..... ] But was not able to find a Part that is registered with this Message which corresponds to this SOAPElement. The name of the element should be one of these[string] at weblogic.webservice.core.DefaultMessage.toJava(DefaultMessage.java:47 8) at weblogic.webservice.core.handler.InvokeHandler.handleRequest(InvokeHa ndler.java:93) at weblogic.webservice.core.HandlerChainImpl.handleRequest(HandlerChainI mpl.java:143) at weblogic.webservice.core.DefaultOperation.process(DefaultOperation.ja va:535) at weblogic.webservice.server.Dispatcher.process(Dispatcher.java:204) at weblogic.webservice.server.Dispatcher.doDispatch(Dispatcher.java:176) at weblogic.webservice.server.Dispatcher.dispatch(Dispatcher.java:96) at weblogic.webservice.server.WebServiceManager.dispatch(WebServiceManag er.java:100) at weblogic.webservice.server.servlet.WebServiceServlet.serverSideInvoke (WebServiceServlet.java:297) at weblogic.webservice.server.servlet.ServletBase.doPost(ServletBase.jav a:485) at weblogic.webservice.server.servlet.WebServiceServlet.doPost(WebServic eServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run (ServletStubImpl.java:1006) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm pl.java:419) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm pl.java:315) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio n.run(WebAppServletContext.java:6718) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate dSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java: 121) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe rvletContext.java:3764) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm pl.java:2644) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
Código:
Creeis que puede ser por esa conversion?SOAP::Transport::HTTP::Client::send_receive: POST [url]https://mi_url?wsdl Accept: text/xml Accept: multipart/* Content-Length: 917 Content-Type: text/xml; charset=utf-8 SOAPAction: "mi_url#mi_metodo" <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" > <SOAP-ENV:Body><namesp1:miMetodo xmlns:namesp1="https://Mi_url/ws"> <c-gensym3 xsi:type="xsd:string"> <message id='prueba OTP' ts='0'> <head> <type ref='sms'>
¿Sabeis por que y como solucionarlo?
Muchas gracias aunque sea por leer e intentar comprender esta duda. Saludos.