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>
私の問題。この種の問題に遭遇した人はいますか、それとも私のコードはどこかで間違っていますか?