Login Registre-se
Como alterar time-out cliente SOAP ?  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
monteiro1

JavaC Membro

Membro desde: 02/05/2014 11:30:39
Mensagens: 12
Offline

Bom estou com o seguinte problema o cenario ocorre o seguinte :


eu tenho um cliente que consegue um ws de terceiro , em que esse ws ao ser requisitado passa por varios processos,
no que minha solicitação cai em time-out conection .... estoura o tempo de conexão, ele esta realmente recebendo minha requisição http,

bom a solução que busco e se tem algo que consigo alterar o tempo de espera de resposta do ws no meu cliente eu utilizo o seguinte código para comunicação :




import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.StringWriter;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.SOAPConnection;
import javax.xml.soap.SOAPConnectionFactory;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;

/**
*
* @author kite
*/
public class ClienteServidor {

public String getConection(String xml, String Url) throws SOAPException, IOException {


SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
SOAPConnection soapConnection = soapConnectionFactory.createConnection();

MimeHeaders headers = new MimeHeaders();
headers.addHeader("Content-Type", "text/xml");

MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage msg = messageFactory.createMessage(headers, (new ByteArrayInputStream(xml.getBytes())));
SOAPMessage soapResponse = soapConnection.call(msg, Url);

Document xmlRespostaARequisicao = soapResponse.getSOAPBody().getOwnerDocument();

soapConnection.close();
return passarXMLParaString(xmlRespostaARequisicao, 4);
}

private String passarXMLParaString(Document xml, int espacosIdentacao) {
try {
//set up a transformer
TransformerFactory transfac = TransformerFactory.newInstance();
transfac.setAttribute("indent-number", new Integer(espacosIdentacao));
Transformer trans = transfac.newTransformer();
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
trans.setOutputProperty(OutputKeys.INDENT, "yes");

//create string from xml tree
StringWriter sw = new StringWriter();
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(xml);
trans.transform(source, result);
String xmlString = sw.toString();
return xmlString;
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.exit(0);
}
return null;
}
}


eu pesquisei e nao encontrei nenhum meio de alterar o time-out conect do soapconection !

Esta mensagem foi editada 2 vezes. Última atualização foi em 24/10/2014 14:51:06

 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.9 © JForum Team