我一直在尝试使用 ksoap2 通过 android 调用一个简单的 .NET web 服务(HelloWorld)(我已经尝试过并成功用于不同的 web 服务)。但这需要身份验证,所以我搜索了如何为身份验证添加标头,但是我的文本视图中仍然没有返回结果。
SoapObject Request = new SoapObject(NAMESPACE,METHOD_NAME);
List<HeaderProperty> headers = new ArrayList<HeaderProperty>();
headers.add(new HeaderProperty("Authorization", "Basic"+Base64.encode("Username:Password".getBytes())));
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(Request);
HttpTransportSE aht = new HttpTransportSE(URL);
try{
aht.call(SOAP_ACTION,envelope,headers);
SoapPrimitive resultString = (SoapPrimitive)envelope.getResponse();
tv.setText("yo :" + resultString);
}
catch(Exception e){
e.printStackTrace();
}
我的日志中也有错误:
错误:附加线程失败,但我不认为这是
这是 HelloWorld 方法的 wsdl:
> <wsdl:types>
> <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
> <s:element name="HelloWorld">
> <s:complexType/>
> </s:element>
> <s:element name="HelloWorldResponse">
> <s:complexType>
> <s:sequence>
> <s:element minOccurs="0" maxOccurs="1" name="HelloWorldResult" type="s:string"/>
> </s:sequence>
> </s:complexType>
> </s:element>
我的问题。有没有人遇到过这种问题,或者我的代码在某些时候是错误的?