2014-03-06 80 views
1

我目前有一個WSDL XML文件,我需要弄清楚我可以通過我的Android應用程序執行HTTP POST/GET的方式。如何在Android中對Salesforce WSDL(SOAP)api執行HTTP post?

<!-- 
Web Services API : APISignUp 
--><definitions targetNamespace="http://soap.sforce.com/schemas/class/APISignUp"><types><xsd:schema elementFormDefault="qualified" targetNamespace="http://soap.sforce.com/schemas/class/APISignUp"><xsd:element name="DebuggingInfo"><xsd:complexType><xsd:sequence><xsd:element name="debugLog" type="xsd:string"/></xsd:sequence></xsd:complexType></xsd:element><xsd:simpleType name="ID"><xsd:restriction base="xsd:string"><xsd:length value="18"/><xsd:pattern value="[a-zA-Z0-9]{18}"/></xsd:restriction></xsd:simpleType><xsd:simpleType name="LogCategory"><xsd:restriction base="xsd:string"><xsd:enumeration value="Db"/><xsd:enumeration value="Workflow"/><xsd:enumeration value="Validation"/><xsd:enumeration value="Callout"/><xsd:enumeration value="Apex_code"/><xsd:enumeration value="Apex_profiling"/><xsd:enumeration value="Visualforce"/><xsd:enumeration value="System"/><xsd:enumeration value="All"/></xsd:restriction></xsd:simpleType><xsd:simpleType name="LogCategoryLevel"><xsd:restriction base="xsd:string"><xsd:enumeration value="Internal"/><xsd:enumeration value="Finest"/><xsd:enumeration value="Finer"/><xsd:enumeration value="Fine"/><xsd:enumeration value="Debug"/><xsd:enumeration value="Info"/><xsd:enumeration value="Warn"/><xsd:enumeration value="Error"/></xsd:restriction></xsd:simpleType><xsd:complexType name="LogInfo"><xsd:sequence><xsd:element name="category" type="tns:LogCategory"/><xsd:element name="level" type="tns:LogCategoryLevel"/></xsd:sequence></xsd:complexType><xsd:simpleType name="LogType"><xsd:restriction base="xsd:string"><xsd:enumeration value="None"/><xsd:enumeration value="Debugonly"/><xsd:enumeration value="Db"/><xsd:enumeration value="Profiling"/><xsd:enumeration value="Callout"/><xsd:enumeration value="Detail"/></xsd:restriction></xsd:simpleType><xsd:element name="DebuggingHeader"><xsd:complexType><xsd:sequence><xsd:element name="categories" minOccurs="0" maxOccurs="unbounded" type="tns:LogInfo"/><xsd:element name="debugLevel" type="tns:LogType"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="CallOptions"><xsd:complexType><xsd:sequence><xsd:element name="client" type="xsd:string"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="SessionHeader"><xsd:complexType><xsd:sequence><xsd:element name="sessionId" type="xsd:string"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="AllowFieldTruncationHeader"><xsd:complexType><xsd:sequence><xsd:element name="allowFieldTruncation" type="xsd:boolean"/></xsd:sequence></xsd:complexType></xsd:element><xsd:complexType name="ActivateCustomerResponse"><xsd:sequence><xsd:element name="customerId" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="sErrorMessage" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="sSuccessMessage" minOccurs="0" type="xsd:string" nillable="true"/></xsd:sequence></xsd:complexType><xsd:complexType name="AddCustomerDataRequest"><xsd:sequence><xsd:element name="customerDataList" minOccurs="0" maxOccurs="unbounded" type="tns:CustomerDataObject" nillable="true"/><xsd:element name="customerId" minOccurs="0" type="xsd:string" nillable="true"/></xsd:sequence></xsd:complexType><xsd:complexType name="AddCustomerDataResponse"><xsd:sequence><xsd:element name="customerDataId" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="glucoseDatetime" minOccurs="0" type="xsd:dateTime" nillable="true"/><xsd:element name="sErrorMessage" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="sSuccessMessage" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="success" minOccurs="0" type="xsd:boolean" nillable="true"/></xsd:sequence></xsd:complexType><xsd:complexType name="AuthenticateCustomerRequest"><xsd:sequence><xsd:element name="enterpriseName" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="password" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="username" minOccurs="0" type="xsd:string" nillable="true"/></xsd:sequence></xsd:complexType><xsd:complexType name="AuthenticateCustomerResponse"><xsd:sequence><xsd:element name="customerId" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="sErrorMessage" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="sSuccessMessage" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="success" minOccurs="0" type="xsd:boolean" nillable="true"/></xsd:sequence></xsd:complexType><xsd:complexType name="CustomerDataObject"><xsd:sequence><xsd:element name="activity" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="activityDuration" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="basal" minOccurs="0" type="xsd:int" nillable="true"/><xsd:element name="bolus" minOccurs="0" type="xsd:int" nillable="true"/><xsd:element name="carbs" minOccurs="0" type="xsd:int" nillable="true"/><xsd:element name="glucose" minOccurs="0" type="xsd:double" nillable="true"/><xsd:element name="glucoseDatetime" minOccurs="0" type="xsd:dateTime" nillable="true"/><xsd:element name="isDiabetoReading" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="mood" minOccurs="0" type="xsd:string" nillable="true"/><xsd:element name="notes" minOccurs="0" type="xsd:string" nillable="true"/></xsd:sequence></xsd:complexType><xsd:element name="ActivateCustomer"><xsd:complexType><xsd:sequence><xsd:element name="customerId" type="xsd:string" nillable="true"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="ActivateCustomerResponse"><xsd:complexType><xsd:sequence><xsd:element name="result" type="tns:ActivateCustomerResponse" nillable="true"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="AddCustomerData"><xsd:complexType><xsd:sequence><xsd:element name="request" type="tns:AddCustomerDataRequest" nillable="true"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="AddCustomerDataResponse"><xsd:complexType><xsd:sequence><xsd:element name="result" type="tns:AddCustomerDataResponse" nillable="true"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="AuthenticateCustomer"><xsd:complexType><xsd:sequence><xsd:element name="request" type="tns:AuthenticateCustomerRequest" nillable="true"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="AuthenticateCustomerResponse"><xsd:complexType><xsd:sequence><xsd:element name="result" type="tns:AuthenticateCustomerResponse" nillable="true"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="CreateCustomerNew"><xsd:complexType><xsd:sequence><xsd:element name="username" type="xsd:string" nillable="true"/><xsd:element name="password" type="xsd:string" nillable="true"/><xsd:element name="email" type="xsd:string" nillable="true"/><xsd:element name="organization" type="xsd:string" nillable="true"/></xsd:sequence></xsd:complexType></xsd:element><xsd:element name="CreateCustomerNewResponse"><xsd:complexType><xsd:sequence><xsd:element name="result" type="xsd:string" nillable="true"/></xsd:sequence></xsd:complexType></xsd:element></xsd:schema></types><!-- Message for the header parts --><message name="Header"><part name="AllowFieldTruncationHeader" element="tns:AllowFieldTruncationHeader"/><part name="CallOptions" element="tns:CallOptions"/><part name="DebuggingHeader" element="tns:DebuggingHeader"/><part name="DebuggingInfo" element="tns:DebuggingInfo"/><part name="SessionHeader" element="tns:SessionHeader"/></message><!-- Operation Messages --><message name="ActivateCustomerRequest"><part element="tns:ActivateCustomer" name="parameters"/></message><message name="ActivateCustomerResponse"><part element="tns:ActivateCustomerResponse" name="parameters"/></message><message name="AddCustomerDataRequest"><part element="tns:AddCustomerData" name="parameters"/></message><message name="AddCustomerDataResponse"><part element="tns:AddCustomerDataResponse" name="parameters"/></message><message name="AuthenticateCustomerRequest"><part element="tns:AuthenticateCustomer" name="parameters"/></message><message name="AuthenticateCustomerResponse"><part element="tns:AuthenticateCustomerResponse" name="parameters"/></message><message name="CreateCustomerNewRequest"><part element="tns:CreateCustomerNew" name="parameters"/></message><message name="CreateCustomerNewResponse"><part element="tns:CreateCustomerNewResponse" name="parameters"/></message><portType name="APISignUpPortType"><operation name="ActivateCustomer"><input message="tns:ActivateCustomerRequest"/><output message="tns:ActivateCustomerResponse"/></operation><operation name="AddCustomerData"><input message="tns:AddCustomerDataRequest"/><output message="tns:AddCustomerDataResponse"/></operation><operation name="AuthenticateCustomer"><input message="tns:AuthenticateCustomerRequest"/><output message="tns:AuthenticateCustomerResponse"/></operation><operation name="CreateCustomerNew"><input message="tns:CreateCustomerNewRequest"/><output message="tns:CreateCustomerNewResponse"/></operation></portType><binding name="APISignUpBinding" type="tns:APISignUpPortType"><soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/><operation name="ActivateCustomer"><soap:operation soapAction=""/><input><soap:header use="literal" part="SessionHeader" message="tns:Header"/><soap:header use="literal" part="CallOptions" message="tns:Header"/><soap:header use="literal" part="DebuggingHeader" message="tns:Header"/><soap:header use="literal" part="AllowFieldTruncationHeader" message="tns:Header"/><soap:body use="literal" parts="parameters"/></input><output><soap:header use="literal" part="DebuggingInfo" message="tns:Header"/><soap:body use="literal"/></output></operation><operation name="AddCustomerData"><soap:operation soapAction=""/><input><soap:header use="literal" part="SessionHeader" message="tns:Header"/><soap:header use="literal" part="CallOptions" message="tns:Header"/><soap:header use="literal" part="DebuggingHeader" message="tns:Header"/><soap:header use="literal" part="AllowFieldTruncationHeader" message="tns:Header"/><soap:body use="literal" parts="parameters"/></input><output><soap:header use="literal" part="DebuggingInfo" message="tns:Header"/><soap:body use="literal"/></output></operation><operation name="AuthenticateCustomer"><soap:operation soapAction=""/><input><soap:header use="literal" part="SessionHeader" message="tns:Header"/><soap:header use="literal" part="CallOptions" message="tns:Header"/><soap:header use="literal" part="DebuggingHeader" message="tns:Header"/><soap:header use="literal" part="AllowFieldTruncationHeader" message="tns:Header"/><soap:body use="literal" parts="parameters"/></input><output><soap:header use="literal" part="DebuggingInfo" message="tns:Header"/><soap:body use="literal"/></output></operation><operation name="CreateCustomerNew"><soap:operation soapAction=""/><input><soap:header use="literal" part="SessionHeader" message="tns:Header"/><soap:header use="literal" part="CallOptions" message="tns:Header"/><soap:header use="literal" part="DebuggingHeader" message="tns:Header"/><soap:header use="literal" part="AllowFieldTruncationHeader" message="tns:Header"/><soap:body use="literal" parts="parameters"/></input><output><soap:header use="literal" part="DebuggingInfo" message="tns:Header"/><soap:body use="literal"/></output></operation></binding><service name="APISignUpService"><documentation/><port binding="tns:APISignUpBinding" name="APISignUp"><soap:address location="https://ap1.salesforce.com/services/Soap/class/APISignUp"/></port></service></definitions> 

雖然我不能弄清楚一些事情。

  1. 哪些是我的API端點和我要發佈的參數?
  2. 哪些是POST和哪些是GET請求?

我沒有編寫SALESFORCE模型,也不能從文檔中找出WSDL文件在這裏表示什麼。

任何幫助將不勝感激。

回答

0

我不得不使用Android處理WSDL,並且我使用Easy WSDL來生成適當的代碼來發送/接收數據。生成的代碼非常簡單。