2012-05-07 8 views
9

Sto tentando di creare una libreria client per accedere a Mantis da java. Il problema è che sto ricevendo un errore e non so perché.wsimport non riesce quando si tenta di creare la libreria di servizi client

esecuzione di questo comando:

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

fallisce semplicemente. Si suppone di creare una sorta di librerie client per l'accesso al servizio da Java, ma ottengo questo errore:

[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" " 

ho guardato su internet e ci sono vaghi riferimenti a questo errore, che sembra come un errore di una direttiva, ma non è il caso: ho provato a risolvere questo problema con una versione scaricata di xml e non ha funzionato.

Penso che potrei aver bisogno di una sorta di catalogo per raggiungere con successo questa generazione, potrebbe essere ?? Se è così, qualcuno come creare questo ?? Ho fatto qualche ricerca ma la mia conoscenza dei servizi web in generale è troppo limitata per riuscirci.

Grazie in anticipo,

risposta

1

L'utilizzo dell'asse 1.4 è un'opzione? Se lo è, abbiamo distribuito Axis 1 SOAP stubs for MantisBT su Maven central.

In alternativa, è disponibile un progetto di origine su Github allo jerr/mantis-ws-client che dovrebbe come creare artefatti con JAX-RPC.

+0

Grazie. Questa API di mantide mi sta deludendo. E non c'è alcun modo "elegante" di connettere java e mantis a parte questo. –

+0

Non che io sappia. Mettendo il mio cappello contributore Mantis, sentitevi liberi di inviare una patch :-) https://github.com/mantisbt/mantisbt –

+0

@RobertMunteanu 'mantis-ws-client' non è un documento per l'uso. puoi aiutarmi ad usarlo? –

1

il nocciolo della questione è che il WSDL mantide sta descrivendo un servizio Web RPC/codificato e che lo stile non è supportato nel moderno strumento wsimport.

Una buona scrittura dei diversi tipi di stili di servizio Web è http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/.

Una domanda correlata e una risposta self-service sono fornite allo Best way to consume RPC/encoded webservice?. Questa risposta rende il commento "Sono anche in dubbio sull'uso di JAX-RPC per questo lavoro, perché è obsoleto.", Ma è proprio quello che hai a che fare qui, quindi usare la "vecchia libreria" sarebbe davvero il modo corretto di andare.

+0

Grazie per la risposta, darò un'occhiata all'articolo che hai fornito. Penso di aver bisogno di una risposta concreta, nonostante la tua chiara spiegazione della questione, devo confessare che il mio voto spetta a Rober Munteanu. –