如何在Android中从WSDL文件生成代码?
我正在开发一个必须调用web服务的应用程序,我知道通过KSOAP2调用服务的方法。不幸的是,我提供了一个WSDL文件,所以我使用Sun Wireless Toolkit存根生成器来生成代码。但是代码包含以下Android不支持的包如何在Android中从WSDL文件生成代码?,android,soap,Android,Soap,我正在开发一个必须调用web服务的应用程序,我知道通过KSOAP2调用服务的方法。不幸的是,我提供了一个WSDL文件,所以我使用Sun Wireless Toolkit存根生成器来生成代码。但是代码包含以下Android不支持的包 import javax.xml.rpc.JAXRPCException; import javax.xml.namespace.QName; import javax.microedition.xml.rpc.Operation; import javax.micr
import javax.xml.rpc.JAXRPCException;
import javax.xml.namespace.QName;
import javax.microedition.xml.rpc.Operation;
import javax.microedition.xml.rpc.Type;
import javax.microedition.xml.rpc.ComplexType;
import javax.microedition.xml.rpc.Element;
我不知道如何从给定的Android WSDL生成代码,如果有人知道解决方案,请帮助我。例如这一个
名称空间=”http://schemas.snowboard-info.com/EndorsementSearch.xsd
是url吗
GetEndorsingBoarder是一个函数
我想:)
这是我在项目中使用的示例代码
String SOAP_ACTION = "";
String METHOD_NAME = "theMethodName";
String NAMESPACE = "you can find the name space in the wsdl dile";
String URL="http://theServer/theService";
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
Loger.logUrl(URL);
request.addProperty("argumentname",s );
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, envelope);
SoapPrimitive p = (SoapPrimitive) envelope.getResponse();
return p.toString()
您可以使用Web站点为您的Web服务生成所有必需的java类。它使用ksoap2库并支持许多功能,如作为引用发送的对象(WCF IsReference)、复杂的继承、Web服务的文档和rpc样式以及更多内容我在WSDL2 android中介绍了很多解决方案。google不在乎SOAP服务,也不为它提供任何东西。wsdl2java在大多数情况下都不起作用,有些库不能被android SDK使用。我建议您使用 您将看到,您可以根据需要编辑自己的包名、类前缀和许多其他参数。如果您有复杂的数据,并且熟悉使用Gson()在活动之间发送参数,请不要选中“use JodaDate”,这是一个很好的使用date的库,但Gson(目前)不支持它 如果您有一些服务不工作(是的,可能会发生,取决于您的WSDL配置文件),请将其报告给联系人,他们将能够像为我做的那样解决您的问题
生成器速度很快。您将收到所有生成的代码和要导入项目的.jar。我建议使用
Easywsdl