2016-09-18 3 views
0

Dears, ich den folgenden Web-Service von Client zu nennen: http://ajec.proxym-it.net/Ajec_sso_api/authenticate.wsdlAufruf des Web-Service-Fehlers "Der Remote-Server hat eine unerwartete Antwort zurückgegeben: (502) Verbindung abgelehnt."

Wenn ich es zu konsumieren versuchen, ich diesen Fehler bekam: Der Remote-Server eine unerwartete Antwort zurückgegeben: (502) Verbindung abgelehnt.

Die innere Ausnahme: { "Der Remoteserver hat einen Fehler zurückgegeben: (502) Bad Gateway."}

Hier ist mein Code:

AuthenticateService.AuthenticatePortClient oAuthenticatePortClient = new AuthenticateService.AuthenticatePortClient(); 
AuthenticateService.authenticateRequest oauthenticateRequest = new AuthenticateService.authenticateRequest(); 

oauthenticateRequest.serviceId = "MobileTeam"; 
oauthenticateRequest.serviceKey = "AJEC1"; 
oauthenticateRequest.userName = "MMelhem"; 
oauthenticateRequest.password = "[email protected]$$w0rd"; 

AuthenticateService.authenticateResponse oregisterUserResponse = oAuthenticatePortClient.authenticate(oauthenticateRequest); 

und die web.config ist:

<configuration> 
<system.net> 
<defaultProxy> 
<proxy usesystemdefault="False" bypassonlocal="False" /> 
</defaultProxy> 
</system.net> 
<system.web> 
<compilation debug="true" targetFramework="4.5" /> 
<httpRuntime targetFramework="4.5" /> 
</system.web> 

<system.serviceModel> 
<bindings> 
<basicHttpBinding> 
<binding name="AuthenticatePortSoap11" /> 
</basicHttpBinding> 
</bindings> 
<client> 
<endpoint address="http://172.16.0.82:80/Ajec_sso_api/authenticate" 
binding="basicHttpBinding" bindingConfiguration="AuthenticatePortSoap11" 
contract="AuthenticateService.AuthenticatePort" name="AuthenticatePortSoap11" /> 
</client> 
</system.serviceModel> 
</configuration> 
+0

ersetzen muss dieser Dienst immer für jemand gearbeitet? Wird es zum ersten Mal als Webservice konsumiert? Funktioniert es gerade jetzt für andere? HTTP 502 bedeutet schlechtes Gateway (der Backend-Server gibt Probleme). Der nächste Schritt wäre, den Status des Backends zu überprüfen (außer wenn die Benutzer-ID/das Passwort korrekt sind). – blackpen

+0

Wenn Sie versuchen, es auf SoupUI Application zu testen, funktioniert es, aber wenn versuchen, es auf Code zu konsumieren, tut es nicht. –

Antwort

0

Welches Tool haben Sie verwendet, um Ihren Clientcode zu generieren (oder handkodiert)?

Ich verwendete wsimport und ich habe etwas anderen Code als deins. Da die IP in der lokalen Domäne zu sein scheint (172.16.0.82), konnte ich sie nicht testen. Wenn Sie interessiert sind, können Sie es versuchen.

I verwendet wsimport zu generieren/kompilieren Dateien Client-Klasse:

wsimport -keep http://ajec.proxym-it.net/Ajec_sso_api/authenticate.wsdl 

Dann codiert den Client wie folgt aus:

import com.ajec_sso.authenticate.*;  
public class TClient { 
    static AuthenticatePortService service = new AuthenticatePortService(); 
    public static void main(String[] args) {  
     try { 
      AuthenticatePort port = service.getAuthenticatePortSoap11();  
      AuthenticateRequest req = new AuthenticateRequest(); 
      AuthenticateResponse res = new AuthenticateResponse();  
      req.setServiceId("MobileTeam"); 
      req.setServiceKey("AJEC1"); 
      req.setUserName("MMelhem"); 
      req.setPassword("[email protected]$$w0rd");  
      res = port.authenticate(req); 
     } catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 

wie folgt zusammengestellt (die erzeugte com-Verzeichnis in dem aktuellen Verzeichnis ist).

javac TClient.java 
Verwandte Themen