Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用基本身份验证和ssl调用soap ws时出错_Java_Ssl_Soap_Cxf_Basic Authentication - Fatal编程技术网

Java 使用基本身份验证和ssl调用soap ws时出错

Java 使用基本身份验证和ssl调用soap ws时出错,java,ssl,soap,cxf,basic-authentication,Java,Ssl,Soap,Cxf,Basic Authentication,当从不同的wsdl调用两个受基本身份验证和ssl保护的远程方法时,我遇到了一个问题 第一个调用是可以的,但是位于其他wsdl上的第二个方法的第二个调用不起作用 当我首先调用第二个方法时,它会工作, 我正在使用cxf生成客户端,这似乎是一个与cxf相关的错误 我有相同的跟踪错误,如此处所示嗨,我的问题是通过使用其他方法设置凭据解决的 我使用的是来自java.net的身份验证类 使用一个端点和一个凭据时,此方法是正常的 但是,如果您有多个端点和多个凭证,那么当您尝试调用tow方法时,它将不起作用,因

当从不同的wsdl调用两个受基本身份验证和ssl保护的远程方法时,我遇到了一个问题

第一个调用是可以的,但是位于其他wsdl上的第二个方法的第二个调用不起作用

当我首先调用第二个方法时,它会工作, 我正在使用cxf生成客户端,这似乎是一个与cxf相关的错误
我有相同的跟踪错误,如此处所示

嗨,我的问题是通过使用其他方法设置凭据解决的 我使用的是来自java.net的身份验证类 使用一个端点和一个凭据时,此方法是正常的

但是,如果您有多个端点和多个凭证,那么当您尝试调用tow方法时,它将不起作用,因为java net提供了一个静态方法,可以一次性设置登录名和密码,并且您无法在同一项目中为其他调用更改它们

我的案例成功的代码如下:

Hashtable<String, String>  hashmajcompte = new Hashtable<String, String>();

       String      ENDPOINT_URL_CloudAgence=Util.getSysProp("address.cloud.agence");
       String BASIC_USER_CloudAgence= Util.getSysProp("login.cloud.agence");
       String BASIC_PWD_CloudAgence=Util.getSysProp("password.cloud.agence");

       JaxWsProxyFactoryBean factoryCloudAgence = new JaxWsProxyFactoryBean();


        factoryCloudAgence.setServiceClass(LdapCloudAgenceWSImpl.class);
        factoryCloudAgence.setAddress(ENDPOINT_URL_CloudAgence);
        LdapCloudAgenceWSImpl serviceCloudAgence = (LdapCloudAgenceWSImpl) factoryCloudAgence.create();

        BindingProvider bpCloudAgence = (BindingProvider)serviceCloudAgence;
        bpCloudAgence.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, BASIC_USER_CloudAgence);
        bpCloudAgence.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, BASIC_PWD_CloudAgence);


    try { 
        serviceCloudAgence.creerMajCompte(login, password, ncli); 
        hashmajcompte.put("Succes", "Succes"); 
    }  

    catch (NamingException_Exception e) 
    {  
        hashmajcompte.put("NamingException_Exception", e.getMessage()); 
    }  
Hashtable hashmajcompte=new Hashtable();
字符串ENDPOINT_URL_CloudAgence=Util.getSysProp(“address.cloud.agence”);
字符串BASIC_USER_CloudAgence=Util.getSysProp(“login.cloud.agence”);
字符串BASIC_PWD_CloudAgence=Util.getSysProp(“password.cloud.agence”);
JaxWsProxyFactoryBean factoryCloudAgence=新的JaxWsProxyFactoryBean();
factoryCloudAgence.setServiceClass(LdapCloudAgenceWSImpl.class);
setAddress(端点\ URL \云代理);
ldapcloudagencewsiml serviceCloudAgence=(ldapcloudagencewsiml)factoryCloudAgence.create();
BindingProvider bpCloudAgence=(BindingProvider)serviceCloudAgence;
bpCloudAgence.getRequestContext().put(BindingProvider.USERNAME\u属性,BASIC\u USER\u CloudAgence);
bpCloudAgence.getRequestContext().put(BindingProvider.PASSWORD_属性,BASIC_PWD_CloudAgence);
试试{
creerMajCompte(登录名、密码、ncli);
hashmajcompte.put(“成功”、“成功”);
}  
捕获(NamingException_Exception e)
{  
hashmajcompte.put(“NamingException_Exception”,e.getMessage());
}  

提供更多详细信息,如您的客户端代码和您收到的确切错误。