以前没有接触webService
安卓调用还是比较简单 这里介绍几个技巧
首先调用webService我们可以使用Ksoap调用
基本webService接口地址是这样的 这里以JAX为例 别的没有测试过
<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01. --> <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01. --> <definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://impl.dao.web.task.fl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://impl.dao.web.task.fl/" name="Task01DaoImplService"> <import <span style="color:#ff0000;">namespace</span>="http://dao.web.task.fl/" <span style="color:#ff0000;">location</span>="http://192.168.1.101:1111/ns?wsdl=1"/> <binding xmlns:ns1="http://dao.web.task.fl/" name="Task01DaoImplPortBinding" type="ns1:Task01Dao"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/> <operation name="del"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="add"> <soap:operation soapAction=""/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="Task01DaoImplService"> <port name="Task01DaoImplPort" binding="tns:Task01DaoImplPortBinding"> <soap:address location="http://192.168.1.101:1111/ns"/> </port> </service> </definitions>
namespace命名空间 我们打开第二个链接location http://192.168.1.101:1111/ns?wsdl=1 打开后我们后发现
<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01. --> <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.2.4-b01. --> <definitions xmlns:tns="http://dao.web.task.fl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://dao.web.task.fl/"> <types> <xsd:schema> <xsd:import namespace="http://dao.web.task.fl/" <span style="color:#ff0000;">schemaLocation</span>="http://192.168.1.101:1111/ns?xsd=1"/> </xsd:schema> </types> <message name="del"> <part name="parameters" element="tns:del"/> </message> <message name="delResponse"> <part name="parameters" element="tns:delResponse"/> </message> <message name="addList"> <part name="parameters" element="tns:addList"/> </message> <message name="addListResponse"> <part name="parameters" element="tns:addListResponse"/> </message> <message name="add"> <part name="parameters" element="tns:add"/> </message> <message name="addResponse"> <part name="parameters" element="tns:addResponse"/> </message> <portType name="Task01Dao"> <operation name="del"> <input xmlns:ns1="http://www.w3.org/2007/05/addressing/metadata" ns1:Action="http://dao.web.task.fl/Task01Dao/delRequest" message="tns:del"/> <output xmlns:ns2="http://www.w3.org/2007/05/addressing/metadata" ns2:Action="http://dao.web.task.fl/Task01Dao/delResponse" message="tns:delResponse"/> </operation> <operation name="addList"> <input xmlns:ns3="http://www.w3.org/2007/05/addressing/metadata" ns3:Action="http://dao.web.task.fl/Task01Dao/addListRequest" message="tns:addList"/> <output xmlns:ns4="http://www.w3.org/2007/05/addressing/metadata" ns4:Action="http://dao.web.task.fl/Task01Dao/addListResponse" message="tns:addListResponse"/> </operation> <operation name="add"> <input xmlns:ns5="http://www.w3.org/2007/05/addressing/metadata" ns5:Action="http://dao.web.task.fl/Task01Dao/addRequest" message="tns:add"/> <output xmlns:ns6="http://www.w3.org/2007/05/addressing/metadata" ns6:Action="http://dao.web.task.fl/Task01Dao/addResponse" message="tns:addResponse"/> </operation> </portType> </definitions>
这时候打开schemaLocation这个链接
里面就可以看到具体的参数 方法名 类型
就可以实现调用
查看webservice源码
在dos命令下 输入wsimport 参数是:
-d 保存文件地址 //指定生成的目录
-keep //指定是否生成.java的源文件
-verbose //显示生成的详细过程
例如:wsimport -d I:\WebService -keep -verbose http://192.168.1.101:1111/ns?wsdl
就会把源码下载到 I:\WebService目录下