Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    codice:
    var soapMessage =
    	'<soapenv:Envelope \
         xmlns:q0="..." \
         xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" \
         xmlns:xsd="http://www.w3.org/2001/XMLSchema" \
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> \
    	<soapenv:Header> \
    	</soapenv:Header> \
    	<soapenv:Body> \
    	<q0:match> \
    	<q0:tagQuery>Alice</q0:tagQuery> \
    	</q0:match> \
    	</soapenv:Body> \
    	</soapenv:Envelope>';

  2. #12
    il contenuto di soapMessage è il messaggio xml di richiesta inviato al webservice. Comunque il problema dovrebbe essere sul messaggio di risposta. Forse qualche problema di codifica dei caratteri...

  3. #13
    no, il problema è che non è un XML valido e quando la risposta ha Content-Type text/xml cerca di validare lo schema. Il tipo che ha fatto il WebService non aveva molto chiaro come funziona XML...ne cosa sia il JSON o avrebbe implementato un sistema di risposta a richieste JSONP per fare quello.

    Per te ti posso consigliare di cambiare la tua servlet:
    codice:
    <%@page session="false"%> 
    <%@page import="java.net.*,java.io.*" %> 
    <% 
    try { 
    	//String reqUrl = request.getQueryString(); 
    	String reqUrl="..."; 
    	URL url = new URL(reqUrl); 
    	HttpURLConnection con = (HttpURLConnection)url.openConnection(); 
    	con.setDoOutput(true); 
    	con.setRequestMethod(request.getMethod()); 
    	con.setRequestProperty("content-type", "text/xml; charset=utf-8"); 
    	int clength = request.getContentLength(); 
    	if(clength > 0) { 
    		con.setDoInput(true); 
    		byte[] idata = new byte[clength]; 
    		request.getInputStream().read(idata, 0, clength); 
    		con.getOutputStream().write(idata, 0, clength); 
    	}  
    	response.setContentType("text/plain; charset=utf-8");
    	BufferedReader rd = new BufferedReader(new InputStreamReader(con.getInputStream()));  
    	String line; 
    	while ((line = rd.readLine()) != null) { out.println(line); } 
    	rd.close();
    } 
    catch(Exception e) {       
    	response.setStatus(500);       
    } 
    %>
    P.S. per il futuro usa l'indent nei tuoi script, che ho dovuto madonnare in due lingue per riuscire a leggerlo
    I DON'T Double Click!

  4. #14
    Grazie per la risp e scusa per l'ident ma il codice era frutto di un copia/incolla maldestro Purtroppo anche modificando il codice come mi hai suggerito il risultato non cambia

  5. #15
    hai ragione, il problema è nello script di jQuery:

    codice:
    $.ajax({
    	url: productServiceUrl,
    	type: "POST",
    	timeout: 120000,
    	dataType: "text",
    	data: soapMessage,
    	complete: endSaveProduct,
    	error: function( objAJAXRequest, strError ){
    		$( "h1" ).text(
    		"Error! Type: " +
    		strError
    		);
    		},
    	contentType: "text/xml; charset=\"utf-8\""
    	});
    in questo modo non fa il parsing di XML
    I DON'T Double Click!

  6. #16
    OK grazie ora funziona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.