Ako volat webservis? – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Ako volat webservis? – Java – Fórum – Programujte.comAko volat webservis? – Java – Fórum – Programujte.com

 

vlado09910
Návštěvník
7. 12. 2010   #1
-
0
-

Caute
vyrobil som si v netbeans jednoduchy webservis ktory mi bezi na adrese:
http://localhost:8084/webofka/myWS

tu je kod:
package ws;
import javax.jws.WebService;
import javax.jws.WebMethod;

@WebService()
public class myWS {
@WebMethod
public String pozdrav(String v){
return "Caves " + v;
}
}

ked kliknem na tu adresu kde bezi , dostanem vypis:
Endpoint:
Service Name: {http://ws/}myWSService
Port Name: {http://ws/}myWSPort
Information
Address: http://localhost:8084/webofka/myWS
WSDL: http://localhost:8084/webofka/myWS?wsdl
Implementation class: ws.myWS

Ako zavolam tento webservis z normalneho programu v Jave?
Skusal som cez JAX-RPC (http://www.ibm.com/developerworks/webservices/library/ws-javaclient/index.html#serviceaccess)
ale nepodarilo sa mi zavolat metodu pozdrav a ziskat odpoved..
Hilfe:-)
Diik

Nahlásit jako SPAM
IP: 92.245.193.–
vlado09910
Návštěvník
9. 12. 2010   #2
-
0
-

To neni mozne:-) Nikto s tym nikdy nerobil? Teda uspesne asi nie:-)
No skusil som to z lokalneho pocitaca volat takto:

String targetNamespace = "http://ws/";
try {

ServiceFactory serviceFactory = ServiceFactory.newInstance();
javax.xml.rpc.Service service = serviceFactory.createService(new QName(targetNamespace, "myWSService"));

Call call = (Call) service.createCall();
call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY, "");
call.setProperty(Call.OPERATION_STYLE_PROPERTY, "rpc");
call.setTargetEndpointAddress("http://localhost:8084/webofka/myWS");
call.removeAllParameters();
call.setPortTypeName(new QName(targetNamespace, "myWS"));
call.setOperationName(new QName(targetNamespace, "pozdrav"));
if (call.isParameterAndReturnSpecRequired(call.getOperationName())){
call.addParameter("v", new QName("http://www.w3.org/2001/XMLSchema", "string"), javax.xml.rpc.ParameterMode.IN);
call.setReturnType(new QName("http://www.w3.org/2001/XMLSchema", "string"));
}
Object[] slovo = {"Vlado"};
System.out.println("testujem: " + (String)call.invoke(slovo));

No vysledkom je:
testujem: Caves null
Spravne malo byt: testujem: Caves Vlado
Cize webservis som kontaktoval a on poslal odpoved. Lenze mu nedorazil moj text.. Vie mi to prosiiim niekto doladit???
Prikladam vypis z http://localhost:8084/webofka/myWS?wsdl

Nahlásit jako SPAM
IP: 92.245.193.–
vlado09910
Návštěvník
10. 12. 2010   #3
-
0
-

Uz som to vyriesil... Ten WS na strane servera som vytvoril cez JAX-WS v NetBeans. Ukazka vyssie je na strane klienta cez JAX-RPC, to som ale cele prepisal a podarilo sa mi tu uspesne rozchodit cez JAX-WS, najskor som musel vygenerovat classy (cez cmd prikaz wsimport) a saaj.jar niekolkokrat stiahnut a najst najfunkcnejsiu verziu:-)) Samotny kod v jave bol jednoduchy...
Uzatvorene:-)

Nahlásit jako SPAM
IP: 62.168.64.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý