Java 在Android中访问基于Soap的Web服务
我正在调用一个在我的Android应用程序中基于soap的Web服务。它将返回XML响应。我如何解析它?我检查了XML解析,并询问URL。我不知道我需要传递哪个URL 代码如下:Java 在Android中访问基于Soap的Web服务,java,android,xml,parsing,Java,Android,Xml,Parsing,我正在调用一个在我的Android应用程序中基于soap的Web服务。它将返回XML响应。我如何解析它?我检查了XML解析,并询问URL。我不知道我需要传递哪个URL 代码如下: SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); request.addProperty("pStrType", type); request.addProperty("pIntPageNo", PageNo) request.addPro
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); request.addProperty("pStrType", type);
request.addProperty("pIntPageNo", PageNo)
request.addProperty("pIntPageSize", PageSize);
//Log.v(LOG_TAG," value:="+name);
//Log.v(LOG_TAG," value:="+pass);
SoapSerializationEnvelope envelope =
new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
AndroidHttpTransport androidHttpTransport = new AndroidHttpTransport(URL);
try
{
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapObject resultstring = (SoapObject) envelope.bodyIn;
Log.v(LOG_TAG," value:="+resultstring);
String Result=resultstring.toString();
这之后怎么办?我正在(resultString)中获取响应字符串。如果您知道如何使用SAX XML解析器,可以将字符串转换为字节流并将其传递给处理程序 String result=resultstring.toString(); SAXParser saxP = SAXParserFactory.newInstance().newSAXParser(); ResponseHandler respH = new ResponseHandler();//your implementation saxP.parse(new ByteArrayInputStream(result.getBytes()), respH); 字符串结果=resultstring.toString(); SAXParser saxP=SAXParserFactory.newInstance().newSAXParser(); ResponseHandler respH=新的ResponseHandler()//您的实现 parse(新的ByteArrayInputStream(result.getBytes()),respH); 如果您不知道SAX解析器,我建议您先了解它。这很简单
希望有帮助 免责声明:我打算推荐我自己公司的产品,但对于这个问题,这是一个很好的建议
您需要获得某种代码生成器,如尝试使用HttpTransport而不是HttpTransport,并使用object而不是soapObject 试试这个代码
HttpTransportSE http = new HttpTransportSE("http://10.0.2.2:2612/Service1.svc");
http.call("http://tempuri.org/IService1/GetCoursesInfos", envelope);
Object result= (Object)envelope.getResponse();
message=result.toString();
检查这个代码并告诉我
这将告诉您如何使用SOAPWeb服务。你能告诉我更多吗。。我真的很难用这个。嗨,就像Ramp说的。。您需要使用SAXparser来解析XML。他提供的样本将放在你的下方,你可以使用它。注意,@Akash Kava是根据他的博客开发WSClient++的公司的创始人(“NeuroSpeech的Akash Kava创始人”)。在其他关于该软件的帖子中,他也对这一事实不诚实(声称刚刚“偶然发现”了它)。当你在为自己的产品做广告时,请说明清楚。请在所有你提到自己产品的帖子中披露你的从属关系,否则会有被删除的风险。请阅读中的策略。如果您在XML解析方面有问题,请告诉我