ksoap2を使用してJava Webサービスを呼び出そうとしています。私は取得呼び出しは次作るときksoap2応答がAndroidの予期しないタイプ
private static final String SECURITY_NAMESPACE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
private static final String USERNAME_TOKEN_NAMESPACE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
private static final String PASSWORD_TYPE = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
Element usernameElement = new Element().createElement(SECURITY_NAMESPACE, "Username");
usernameElement.addChild(Node.TEXT, "username");
Element passwordElement = new Element().createElement(SECURITY_NAMESPACE, "Password");
passwordElement.setAttribute(null, "Type", PASSWORD_TYPE);
passwordElement.addChild(Node.TEXT, "password");
Element usernameTokenElement = new Element().createElement(USERNAME_TOKEN_NAMESPACE, "UsernameToken");
usernameTokenElement.addChild(Node.ELEMENT, usernameElement);
usernameTokenElement.addChild(Node.ELEMENT, passwordElement);
Element securityElement = new Element().createElement(SECURITY_NAMESPACE, "Security");
securityElement.setAttribute(null, "mustUnderstand", "1");
securityElement.setPrefix(null, SECURITY_NAMESPACE);
securityElement.addChild(Node.ELEMENT, usernameTokenElement);
Element[] header = new Element[]{securityElement};
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.headerOut = header;
envelope.setOutputSoapObject(request);
HttpTransportSE httpTransport = new HttpTransportSE(URL);
httpTransport.debug = true;
try{
httpTransport.call(SOAP_ACTION, envelope);
SoapObject response = (SoapObject) envelope.getResponse();
}catch (Exception e) {
Log.e("Soap", e.getMessage(), e);
}
:私はksoap2-アンドロイド・アセンブリ-2.6.5-ジャーと-dependencies.jarとAndroid APIレベル8
アクティビティコードを使用しています例外:
06-12 13:01:51.563: E/Soap(471): unexpected type (position:TEXT ������������U��n� [email protected]:97 in [email protected])
06-12 13:01:51.563: E/Soap(471): org.xmlpull.v1.XmlPullParserException: unexpected type (position:TEXT ������������U��n� [email protected]:97 in [email protected])
何か原因が考えられますか?文字エンコーディング、GZIP、または間違った石鹸バージョンと関係がありますか?
任意の助けいただければ幸いです。
おかげ デビッド
は、(代わりにVER11の) 'SoapEnvelope.VER12'に切り替えるようにしてください。 –