hej,
mam do zrobienia klienta SOAP w javie. czy ktos moglby udzielic mi paru wskazowek jak sie do tego zabrac?
pzdr :)
hej,
mam do zrobienia klienta SOAP w javie. czy ktos moglby udzielic mi paru wskazowek jak sie do tego zabrac?
pzdr :)
Najpierw ściągnij soapUI to najlepszy opensourcowy klient soap. Poklikaj i popatrz jak działa. potem wybierz podstawowe elementy przejrzyj ich kod i stwórz coś lepszego :D
a wiesz skad moge soap.jar sciagnac? nigdzie nie moge znalezc:/
repo mavena
http://repo1.maven.org/maven2/soap/soap/
sluchaj, a chyba jeszcze potrzebuje:
import javax.xml.soap.*;
skad to?
dolaczylam nastepujace jary:
soap-2.3.1.jar
saaj-api-1.3.jar
activation-1.1.jar
commons-logging-1.1.jar
xerces.jar
xercesSamples.jar
mail.jar
dom4j.jar
jaxme-api-0.3.1.jar
nie wiem czy nie za malo?
bo przy malym fragmencie kodu:
public void SOAPConnection() {
try{
//polaczenie
SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance();
SOAPConnection connection = scf.createConnection();
//TO DO
}
catch(Exception e) {
System.out.println("Cannot create a connection.. "+e.getMessage());
}
}
otrzymuje:
Cannot create a connection.. Unable to create SOAP connection factory: Provider com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnectionFactory not found
wiesz moze z czym moze byc problem?
ps. dzieki za linki, zapisze sobie ten adres bo widze ze sporo tam tego
no dokopalam sie wreszcie, brakowalo saaj-impl.jar
pzdr:)
a moglbys mnie naprowadzic/zasugerowac/udzielic wskazowki jak zrobic by polaczenie klienta bylo z autoryzacja?
Po pierwsze Java WS - Security Extension.
Po drugie google ;) Java authoryzation
Po trzecie jest w protokole SOAP ujęta autoryzacja bodajże po tokenie i po kluczu. Gdzie nie pamiętam, ale jest.
hej,
sorki ze dopiero teraz odp, ale nie bylo mnie. no wlasnie szukam na googlach i chyba nie do konca wiem czego powinnam szukac. To co znalazlam przedstawic mozna mniej wiecej tak:
public class SOAPTip {
public static void main(String args[]) {
try {
//First create the connection
SOAPConnectionFactory soapConnFactory =
SOAPConnectionFactory.newInstance();
SOAPConnection connection =
soapConnFactory.createConnection();
// soap message..
//Send the message and get a reply
//Set the destination
String destination =
"jakis_adres";
//Send the message
SOAPMessage reply = connection.call(message, destination);
//Close the connection
connection.close();
} catch(Exception e) {
System.out.println(e.getMessage());
}
}
}
Ja mam adres (destination), nazwe uzytkownika i haslo. W tym przykladzie nie ma autoryzacji i szczerze, nie moge znalezc nic jak te autoryzacje zrobic:/
walcze nadal z tym polaczeniem, zmodyfikowalam troche kod:
try {
SOAPConnectionFactory scf = SOAPConnectionFactory.newInstance();
SOAPConnection connection =scf.createConnection();
MessageFactory msgFactory = MessageFactory.newInstance();
SOAPMessage msg =msgFactory.createMessage();
SOAPEnvelope env =msg.getSOAPPart().getEnvelope();
MimeHeaders headers =msg.getMimeHeaders();
headers.addHeader( "SOAPAction", "http://www.abc.com/blah");
SOAPBody body = env.getBody();
URL endpoint = new URL("adres_docelowy");
Service service = new Service();
Call call = null;
call = (Call) service.createCall();
call.setProperty(Call.USERNAME_PROPERTY, "nazwa_uzytkownika");
call.setProperty(Call.PASSWORD_PROPERTY, "haslo");
call.setTargetEndpointAddress( endpoint );
call.setUseSOAPAction(true);
call.setSOAPActionURI("INSERT");
call.invoke((org.apache.axis.message.SOAPEnvelope)env);
SOAPMessage response = call.getResponseMessage();
}
catch (Throwable t) {
t.printStackTrace();
}
otrzymuje jednak blad:
java.lang.ClassCastException: com.sun.xml.messaging.saaj.soap.ver1_1.Envelope1_1Impl
Czy ktos z Was moze wie o co chodzi? google nie do konca przydatne :/