PDA

View Full Version : [JAVA] Web Service Interface


ermasto
18-05-2006, 10:40
Ragazzi devo fare l'intefaccia di un web service dove poi costruire il file wsdl e questo mio web service deve accettare una stringa con 4 campi e deve accettare un file in ingresso, ora per quanto riguarda la parte della stringa non ci sono problemi, eccola qua:


public interface PerformWSSec extends java.rmi.Remote {

public java.lang.String outputStr(java.lang.String in0, java.lang.String in1, java.lang.String in2, java.lang.String in3) throws java.rmi.RemoteException;

}


ora però come devo costruire l'interfaccia per far accettare al web service il file dato dal client??

Grazie mille

Angus
18-05-2006, 11:49
Ragazzi devo fare l'intefaccia di un web service dove poi costruire il file wsdl e questo mio web service deve accettare una stringa con 4 campi e deve accettare un file in ingresso, ora per quanto riguarda la parte della stringa non ci sono problemi, eccola qua:



ora però come devo costruire l'interfaccia per far accettare al web service il file dato dal client??

Grazie mille

Non me ne intendo molto, ma a naso direi che ti stai ficcando in una situazione poco chiara: interagire con un ws significa avere a che fare con XML, che non supporta nativamente contenuti binari come un file generico. Probabilmente una soluzione quasi standard potrebbe essere adottare Fast Infoset (http://asn1.elibel.tm.fr/xml/finf.htm), che è supportato dall'ultima release del WSDP (http://java.sun.com/webservices/docs/2.0/ReleaseNotes.html).
Mi fermo qui prima di spararle troppo grosse.

ermasto
18-05-2006, 11:55
Il web services che sto creando deve riceve dal client dei messaggi soap with attachment in poche parole io allego ad un messaggio soap un allegato di tipo binario (nel mio caso un certificato .der) che è supportato dalla api saaj .

Soltanto che ora io devo creare l'interfaccia del mio web service che riesce a ricevere questi messaggi e mi sto trovando in difficoltà.

Spero di essere stato più chiaro.

Angus
18-05-2006, 11:57
Chiarissimo.

Ma perchè scrivi "java.lang.String" invece di "String"?

ermasto
18-05-2006, 12:26
si si è string solo che l'ho copiato da un altra parte e stava scritto cosi!!!

mi hanno dato un idea su come è possibile fare ricevere il certificato vedi se fila, mi hanno detto di creare un interfaccia che accetta un metodo inputstream una stringa di byte con il quale faccio passare al client il certificato con un metodo outputstream.

Potrebbe andare??

Angus
18-05-2006, 12:56
si si è string solo che l'ho copiato da un altra parte e stava scritto cosi!!!

mi hanno dato un idea su come è possibile fare ricevere il certificato vedi se fila, mi hanno detto di creare un interfaccia che accetta un metodo inputstream una stringa di byte con il quale faccio passare al client il certificato con un metodo outputstream.

Potrebbe andare??

Usare gli stream può sembrare l'approccio corretto, ma non conosco le api saaj e non so aiutarti, mi dispiace.

ermasto
18-05-2006, 13:06
allora ho creato l'interfaccia del mio nuovo web service eccola qua:


public interface PerformWSSec extends java.rmi.Remote {

public String outputStr(String in0, String in1, String in2, String in3) throws java.rmi.RemoteException;
public boolean InputStream(byte[] b);
}


la prima serve per ricevere una stringa da 4 argomenti e la seconda dovrebbe ricevere in ingresso una sequenza di byte

poi sarà il problema del client quello di convertire i dati in un outputstream

E' corretta la stringa InputStream