Newsgroup: it.comp.java
Titolo: AXIS2 - QNAME

Ciao a tutti,
Ho un problema con AXIS2, devo restiture xml con un tag di risposta
personalizzata.
Con Axis1, eseguivo questa personalizzazione tramite l'attributo:
 returnQName="retNS:GetListaPersone"
contenuto nel file server-config.wsdd
<operation name="GetListaPersone" qname="operNS:GetListaPersone"
returnQName="retNS:GetListaPersone" returnType="rtns:string" ....
In Axis2, ho il file services.xml, è possibile settare una propeita simile?
Ho cercato invano, qualcuo può aiutarmi o darmi qualche indicazione?
Grazie a tutti...
Antonio
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

Ciao,
Forse non mi sono spiegato bene....
La riposta SOAP del mio webservice :
here's a soap reply of a request which i send through axis2:
<soapenv:Body>
   <ns:InfoResponse xmlns:ns="
http://mytest.de/xsd
">
      <return>
         mio xml generato dalle mie classi
      </return>
   </ns:InfoResponse>
</soapenv:Body>
C'è un modo per modificare il nome dell'attributo "<return>" ?
Qualcuno puo indicarmi qualcosa?


 Inviato via 
http://arianna.libero.it/usenet/
-- 
Andrea Francia
http://www.andreafrancia.it/

> Fai il parsing del'XML e sostituisci il nome dell'elemento.
Non posso eseguire il parse di quell'xml perchè è la riposta SOAP, non è
l'xml da me creato(my xml), la risposta SOAP generata appunto da axis2.
Io alla chiamata SOAP, gli passo il mio xml e la risposta alla chiamata :
<soapenv:Body>
<ns:InfoResponse xmlns:ns="
http://mytest.de/xsd
">
<return>
    MyXml
</return>
</ns:InfoResponse>
</soapenv:Body>
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 </soapenv:Body>
Io non ho ancora capito cosa devi fare.
Magari se invece di impersonificazrti nel software ("io restituisco", 
"io passo", "il mio dato") usi il soggetto giusto si capisce meglio il 
problema che hai.
Cos'hai?
Un programma che accede ad un server tramite SOAP?
L'interfaccia della chiamata qual'è?
Vuoi cambiare l'interfaccia? In cosa?


ok, vedo di spiegarmi meglio.....
Utilizzo tomcat 5 con lib di axis2 (
http://ws.apache.org/axis2/
)
Deployo il mio version.aar, già incuso negli esempi, E' un tipico
webservices usando axis2.
Per visualizzare wsdl generato: 
http://localhost/axis2/services/Version?wsdl
Per eseguire il metodo e quindi visualizzare la risposta:
http://localhost/axis2/services/Version/getversion
Ciò che io vorrei fare è modificare il tag "return" che la risposta soap mi
propone, questa la posso visualizzare tramite soap Monitor o eseguendo un
metodo del webservices anche direttamente da url come indicato.
Riportando l'esempio stesso del webservices riportato in esempio scaricando
la lib axis2:
La risposta è:
- <ns:getVersionResponse xmlns:ns="
http://axisversion.sample
">
  <ns:return>Hello I am Axis2 version service , My version is 1.4</ns:return>
  </ns:getVersionResponse>
Quindi, modificare <ns:return> in <ns:getVersionReturn>


 Inviato via 
http://arianna.libero.it/usenet/


> Se č cosě devi usare il design pattern adapter.
Cioč? scusa l'ignoranza.....
Leggendo un pň la documentazione dovrei riscrivere la classe
org.apache.axis2.rpc.receivers.RPCMessageReceiver


 Cioč? scusa l'ignoranza.....
http://en.wikipedia.org/wiki/Wrapper_pattern


 
http://en.wikipedia.org/wiki/Wrapper_pattern
Avevo già visto cos'era il pattern, ma come utilizzarlo?
Comunque mi sembra una forzatura perchè credo che Axis2 permetta già questo
modificando come dicevo prima la classe che crea appunto il tag "return",
come scrivevo nei primi post era necessario modificare xml ma in axis1 dove
esisteva un wsdd.
Se hai mai usato axis2, hai mai scritto una classe personalizzata di
org.apache.axis2.rpc.receivers.RPCMessageReceiver ?


 org.apache.axis2.rpc.receivers.RPCMessageReceiver ?
Mai usato.
