Précédent   Forum des professionnels en informatique > Java > EDI et OUTILS pour Java > Autres EDI > JDeveloper
JDeveloper Forum d'entraide sur l'EDI Oracle JDeveloper.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/05/2011, 00h40   #1
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 110
Points : 26
Points : 26
Par défaut Insertion des données à l'aide de Services Web

Bonsoir ,
donc voila je me pose la question esque c'est possible d'inserer ou supprimer ou faire tout autres modification sur une bdd en utilisant les services web?
si c'est oui comment écrire les namedquery et les méthodes approprié pour chacun?

et comment écrire SOAP?
je voudrais un exemple j'ai chercher sur le net sans succès
merci
nessing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2011, 10h03   #2
Nouveau Membre du Club
 
Inscription : novembre 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 110
Points : 26
Points : 26
Bonjour ,
donc je me dis que c'est possible , peut etre que je me trompe.
donc j'ai fais ce named query

Code :
@NamedQuery(name  = "Residence.addNewResidence", query = "insert into residence (addrid, naissanceid)" + "values (:addrid,:naissanceid)")
pour insert addrid et naissanceid dans la table residence

la methode :

Code :
1
2
3
4
5
6
7
8
9
 /** <code>insert into residence (addrid, naissanceid)" + "values (:addrid,:naissanceid) </code> */
  @RequestWrapper(className = "jaxws.overloaded.addNewResidence")
    @ResponseWrapper(className = "jaxws.overloaded. addNewResidenceResponse")
    @WebMethod(operationName = "addNewResidence")
    public   Residence addNewResidence(String addrid,String naissanceid) {
 
    return  (Residence)em.createNamedQuery("Residence.addNewResidence").setParameter("addrid", addrid).setParameter("naissanceid", naissanceid).executeUpdate();
 
    }
et jdeveloppeur me dit
Citation:
erreur type commune residence incompatible avec int
je suppose que c'est le executeUpdate(); qui est en cause mais j'ai su le corriger

au niveau de oracle la procédure de SOAP comme suite :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CREATE OR REPLACE PROCEDURE  "ADD_NEW_RESIDENCE" (addrid in varchar2, naissanceid in varchar2, url in varchar2) as 
--declare
soap_request varchar2(30000);
soap_respond varchar2(30000);
 http_req utl_http.req; http_resp utl_http.resp;
 resp XMLType; ok varchar2(10); nomInfectes varchar2(100);
 
 begin 
soap_request:= '<?xml version = "1.0" encoding = "UTF-8"?> 
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="http://communes/"> 
<env:Header/> 
 <env:Body> 
   <ns1:addNewResidence> 
       <arg0>'||addrid||'</arg0> 
       <arg1>'||naissanceid||'</arg1>
  </ns1:addNewResidence>
 </env:Body> </env:Envelope>';
 http_req:= utl_http.begin_request ( 'http://'||URL||'/wilaya-commune-webapp/communeWS' , 'POST' , 'HTTP/1.1' );
 utl_http.set_header(http_req, 'Content-Type', 'application/soap+xml'); 
utl_http.set_header(http_req, 'Content-Length', length(soap_request));
 utl_http.set_header(http_req, 'SOAPAction', '');
 utl_http.write_text(http_req, soap_request); 
http_resp:= utl_http.get_response(http_req);
 utl_http.end_response(http_resp);
 
 
 
 EXCEPTION WHEN UTL_HTTP.TOO_MANY_REQUESTS THEN UTL_HTTP.END_RESPONSE(http_resp); 
end add_new_residence
quesque je dois rectifier pour que sa marche ?
je sèche
merci pour votre aide
nessing est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h55.


 
 
 
 
Partenaires

Hébergement Web