mocktransport.java.svn-base
来自「it is a tools for developing J2ME applic」· SVN-BASE 代码 · 共 61 行
SVN-BASE
61 行
package org.ksoap2.transport.mock;import java.io.*;import java.lang.reflect.*;import org.ksoap2.*;import org.ksoap2.serialization.*;import org.ksoap2.transport.*;import org.xmlpull.v1.*;// makes the parse more visiblepublic class MockTransport extends Transport { public void parseResponse(SoapEnvelope envelope, InputStream is) throws XmlPullParserException, IOException { super.parseResponse(envelope, is); } /** * Need to override this to make it visible. * @see org.ksoap2.transport.Transport#createRequestData(org.ksoap2.SoapEnvelope) */ public byte[] createRequestData(SoapEnvelope envelope) throws IOException { return super.createRequestData(envelope); } public void call(String targetNamespace, SoapEnvelope envelope) throws IOException, XmlPullParserException { throw new RuntimeException("not really doing anything"); } /** Invoke - from SoapServlet. */ public static SoapObject invoke(Object service, SoapObject soapReq) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { String name = soapReq.getName(); Class types[] = new Class[soapReq.getPropertyCount()]; Object[] args = new Object[soapReq.getPropertyCount()]; PropertyInfo arg = new PropertyInfo(); for (int i = 0; i < types.length; i++) { soapReq.getPropertyInfo(i, arg); types[i] = (Class) arg.type; args[i] = soapReq.getProperty(i); } // expensive invocation here.. optimize with method cache, // want to support method overloading so need to figure in // the arg types.. Object result = null; try { Method method = service.getClass().getMethod(name, types); result = method.invoke(service, args); } catch (NoSuchMethodException nsme) { // since the properties do not match the required method calls when attributes are present // we will also search for a call that takes a single "SoapObject" as the input. Method method = service.getClass().getMethod(name, new Class[] { SoapObject.class }); result = method.invoke(service, new Object[] { soapReq }); } SoapObject response = new SoapObject(soapReq.getNamespace(), name + "Response"); if (result != null) response.addProperty("return", result); return response; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?