ClientProtocolException lors de la tentative de soumettre la demande à un SAVON WsdlRequest par définition du nom d'utilisateur et mot de passe via Java
Mon but est de créer un Savon de l'INTERFACE avec une URL wsdl, de l'enregistrer et envoyer des demandes de tous par le biais de méthodes de Java. J'ai une org.apache.http.client.ClientProtocolException..... Caused by: org.apache.http.ProtocolException: Content-Length header already present
d'erreur lorsque j'essaie de présenter la demande par la définition du nom d'utilisateur et le mot de passe pour une opération. Trouver ma méthode en Java pour envoyer des demandes.
public void runSoap() throws Exception
{
String projectFile = "SoapUIProjects/TestProjectA-soapui-project.xml";
SoapUI.setSoapUICore(new StandaloneSoapUICore(true));
WsdlProject project = new WsdlProject(projectFile);
int c = project.getInterfaceCount();
System.out.println("The interface count ="+c);
for(int i=0;i<c;i++)
{
WsdlInterface wsdl = (WsdlInterface) project.getInterfaceAt(i);
String soapVersion = wsdl.getSoapVersion().toString();
int opc = wsdl.getOperationCount();
String result="";
for(int j=0;j<opc;j++)
{
WsdlOperation op = wsdl.getOperationAt(j);
String opName = op.getName();
System.out.println("OPERATION:"+opName);
WsdlRequest req = op.getRequestByName("Req_"+soapVersion+"_"+opName);
//Assigning correct u/p to an operation: Generate
if(opName.equals("Generate"))
{
System.out.println("The operation is Generate.");
req.setUsername("u1");//Setting username
req.setPassword("u1");//Setting password
}
WsdlSubmitContext wsdlSubmitContext = new WsdlSubmitContext(req);
WsdlSubmit<?> submit = (WsdlSubmit<?>) req.submit(wsdlSubmitContext, false);
Response response = submit.getResponse();
result = response.getContentAsString();
System.out.println("The result ="+result);
}
}
}
Également se référer à l'image ci-jointe. Quelqu'un peut-il me suggérer où vais-je mal et comment résoudre ce problème?
Heureux de savoir que vous pourriez réglé ce problème. Pourriez-vous s'il vous plaît poster votre code ici afin qu'il puisse profiter à d'autres? Aussi, Avez-vous paramétré votre demande et la réponse. Il sera très utile si vous pouvez fournir des détails quant à la façon dont vous l'avez fait. Aussi, pourriez-vous s'il vous plaît laissez-nous savoir où/comment fournir le point de fin. Merci, Mike.
Salut Mike, pour le code complet, veuillez consulter le ceci lien. Vous pouvez fournir le point de fin pour les demandes à l'aide de la suite de
Salut Mike, pour le code complet, veuillez consulter le ceci lien. Vous pouvez fournir le point de fin pour les demandes à l'aide de la suite de
req.setEndpoint(“your_end_Point”);
Merci
OriginalL'auteur priti | 2013-06-12
Vous devez vous connecter pour publier un commentaire.
J'ai eu la réponse à ma question.
J'ai dû mettre de l '"Autorisation de Type' explicitement et par programme et le code pour le faire est-ce -
req.setAuthType("Preemptive");
En donnant à ce, la demande est envoyée et que je ne reçois pas toutes les exceptions.
OriginalL'auteur priti
Dans ma recherche pour corriger cette erreur, j'ai trouvé que la solution était de permettre d'Authentifier de manière préventive" (allez dans "préférences-> http paramètres et cochez la case "s'Authentifier de manière préventive'.)
OriginalL'auteur Adriano
1) Dans mon cas http configuré dans les propriétés au lieu https. J'ai remplacé
http avec https puis son travail.
2) Vérifier les autorisations nom d'utilisateur et le Mot de passe
3) Sélectionnez préférentiel de souscription d'authentification: l'authentification de manière préventive
OriginalL'auteur Narayan Yerrabachu