2012-05-07 17 views
9

Estoy tratando de crear una biblioteca cliente para acceder a Mantis desde java. El problema es que estoy recibiendo un error y no sé por qué.wsimport falla al intentar crear la biblioteca de servicio al cliente

ejecución de esta orden:

wsimport http://www.mantisbt.org/demo/api/soap/mantisconnect.php?wsdl 

simplemente falla. Se supone que crear algún tipo de bibliotecas de cliente para acceder al servicio desde java, pero me da este error:

[ERROR] "Use of SOAP Encoding is not supported. 
SOAP extension element on line 1,075 in http://www.mantisbt.org/demo/api 
/soap/mantisconnect.php?wsdl has use="encoded" " 

miré en internet y hay vagas referencias a este error, que parece como un error de una directiva, pero no es el caso: he intentado solucionar este problema con una versión descargada de xml y no funcionó.

Creo que podría necesitar algún tipo de catálogo para lograr esta generación con éxito, ¿podría ser? Si es así, ¿alguien cómo crear esto? Hice una búsqueda, pero mi conocimiento de los servicios web en general es demasiado limitado para lograrlo.

Gracias de antemano,

Respuesta

1

¿Está utilizando Axis 1.4 una opción? Si es así, hemos implementado Axis 1 SOAP stubs for MantisBT en Maven central.

Alternativamente, hay un proyecto de origen en Github en jerr/mantis-ws-client que debe saber cómo construir artefactos con JAX-RPC.

+0

Gracias. Esta API de mantis me decepciona. Y no hay ninguna forma "elegante" de conectar java y mantis aparte de esto. –

+0

No es que yo sepa. Poniéndome mi gorra de colaborador de Mantis, siéntete libre de enviar un parche :-) https://github.com/mantisbt/mantisbt –

+0

@RobertMunteanu 'mantis-ws-client' no es ningún documento para su uso. ¿Puede ayudarme a usarlo? –

1

el quid de la cuestión es que el WSDL mantis está describiendo un/servicio web codificada RPC y ese estilo no es compatible con la herramienta wsimport moderna.

Una buena descripción de los diferentes tipos de estilos de servicios web está en http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/.

Se proporciona una pregunta relacionada y una respuesta de autoservicio en Best way to consume RPC/encoded webservice?. Esa respuesta hace que el comentario "También tengo dudas sobre el uso de JAX-RPC para este trabajo, porque está pasado de moda", pero eso es realmente lo que está tratando aquí, así que usar la "vieja biblioteca" realmente sería la forma correcta de ir

+0

Gracias por su respuesta, echaré un vistazo al artículo que proporcionó. Creo que necesito una respuesta concreta, a pesar de su explicación clara del problema que hay detrás, debo confesar que mi voto va para Rober Munteanu. –

Cuestiones relacionadas