gpt4 book ai didi

java - Ksoap 3.0.0 不适用于基本身份验证

转载 作者:行者123 更新时间:2023-11-30 06:24:07 25 4
gpt4 key购买 nike

我尝试将 KSOAP2 与基本身份验证结合使用。我下载了 ksoap2-android-assembly-3.0.0-jar-with-dependencies.jar, ksoap2-extras-3.0.0.jar, ksoap2 -extra-ntlm-3.0.0.jar。我尝试使用以下代码:

ArrayList<HeaderProperty> headerProperty = new ArrayList<HeaderProperty>();
headerProperty.add(new HeaderProperty("Authorization", "Basic " +
org.kobjects.base64.Base64.encode("user:password".getBytes())));

它产生错误:

java.io.IOException: HTTP request failed, HTTP status: 401
ERROR:java.io.IOException:HTTP request failed, HTTP status: 401

我也尝试使用下面的代码:

HttpTransportBasicAuth androidHttpTpAut = new HttpTransportBasicAuth(URL, "user", "password");
androidHttpTpAut.getServiceConnection().connect();

还是不行,报错:

Exception in thread "main" java.lang.NoClassDefFoundError: org/ksoap2/transport/HttpTransport
at java.lang.ClassLoader.defineClass1(Native Method)

有人能很好地完成这项工作吗?

最佳答案

经过多次测试,我发现下面的代码需要修改:

ArrayList headerProperty = new ArrayList();
headerProperty.add(new HeaderProperty("Authorization", "Basic " +
org.kobjects.base64.Base64.encode("user:password".getBytes())));

androidHttpTransport.call(SOAP_ACTION, envelope);

将上面的 androidHttpTransport.call() 更改为下面的多态方法:

androidHttpTransport.call(SOAP_ACTION, envelope, headerProperty);

有必要将参数 headerProperty 放在方法 androidHttpTransport.call 中。而且,我在项目中只使用 ksoap2-android-assembly-3.0.0-jar-with-dependencies.jar

谢谢

关于java - Ksoap 3.0.0 不适用于基本身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17385799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com