I am trying to make a java web service call using ksoap2. I am using ksoap2-android-assembly-2.6.5-jar-with-dependencies.jar and the Android level 8 API.
Action Code:
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); }
When I make a call, I get the following exception:
06-12 13:01:51.563: E/Soap(471): unexpected type (position:TEXT U n ...@3 :97 in java.io.InputStreamReader@44f5de78 ) 06-12 13:01:51.563: E/Soap(471): org.xmlpull.v1.XmlPullParserException: unexpected type (position:TEXT U n ...@3 :97 in java.io.InputStreamReader@44f5de78 )
Any ideas what could be causing this? Could this be something related to character encoding, gzip, or the wrong version of soap?
Any help would be greatly appreciated.
Thanks david
source share