Bonjour ,
donc je me dis que c'est possible , peut etre que je me trompe.
donc j'ai fais ce named query
@NamedQuery(name = "Residence.addNewResidence", query = "insert into residence (addrid, naissanceid)" + "values (:addrid,:naissanceid)")
pour insert addrid et naissanceid dans la table residence
la methode :
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
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 :
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
Partager