2014-11-28 3 views
1

Я пытаюсь позвонить мне с помощью ksoap2.In мой запрос я хочу добавить свой собственный xml, чтобы запросить, как я могу это сделать? Я googled, я вижу пример, связанный с PropertyInfo, но я не понимаю ясно. Пожалуйста, помогите мнеКак я могу добавить свой собственный XML-запрос в SoapObject?

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME); 


> /*PropertyInfo p = new PropertyInfo(); 
>   p.setName(METHOD_NAME); 
>   p.setValue(getLoyaltyMember(URL,METHOD_NAME,"T111","3122100193697","3121002193697")); 
>   p.setType(Boolean.class); 
>   request.addProperty(p); Iam not sure here*// 


      SoapSerializationEnvelope envelope = 
       new SoapSerializationEnvelope(SoapEnvelope.VER11); 

      envelope.setOutputSoapObject(request); 
      HttpTransportSE androidHttpTransport = new HttpTransportSE(URL); 

      try { 

       androidHttpTransport.call(SOAP_ACTION, envelope); 
       SoapObject resultsRequestSOAP = (SoapObject) envelope.bodyIn; 
       String sd = resultsRequestSOAP.toString(); 
       String test = sd; 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 

// Мой собственный запрос я хочу, чтобы добавить запрос на мыло

**public String getLoyaltyMember(String URL, String Method, 
       String UserSessionId,String MemberPassword,String MemberLogin) { 


      SOAPRequestXMLBody= 


      "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns1=\"http://hello.com.tr/services/WSHelloWebClient.DataTypes/1/\">" 
          + "<SOAP-ENV:Body>" 
          +"<ns1:ValidateMemberRequest>" 
          +"<ns1:UserSessionId>"+UserSessionId+"</ns1:UserSessionId>" 
          +"<ns1:MemberPassword>"+MemberPassword+"</ns1:MemberPassword>" 
          +"<ns1:MemberLogin>"+MemberLogin+"</ns1:MemberLogin>" 
          +"<ns1:ReturnMember>true</ns1:ReturnMember>" 
          +"<ns1:MemberId>?</ns1:MemberId>" 
          +"<ns1:MemberCardNumber>?</ns1:MemberCardNumber>" 
          +"<ns1:MemberEmail>?</ns1:MemberEmail>" 
          +"<ns1:ClubId>?</ns1:ClubId>" 
          +"<ns1:IncludeAdvanceBooking>true</ns1:IncludeAdvanceBooking>" 
          +" </ns1:ValidateMemberRequest>" 
          +" </SOAP-ENV:Body>" 
          +"</SOAP-ENV:Envelope>"; 


      return SOAPRequestXMLBody; 
     }**  

рЕДАКТИРОВАТЬ:

I must add my own xml. Because my other request like this 

SOAPRequestXMLBody = "<?xml version=\"1.0\" encoding=\"utf-16\"?>" 
       + "<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" 
       + "<soap:Body>" 
       + "<AddTicketsRequest xmlns=\"http://hello.com.tr/services/WSHelloWebClientWS.ServiceContracts/1\">" 
       + "<OptionalClientClass xmlns=\"http://hello.com.tr/services/WSHelloWebClientWS.DataTypes/1/\"/>" 
       + "<OptionalClientId xmlns=\"http://hello.com.tr/services/WSHelloWebClientWS.DataTypes/1\" />" 
       + "<OptionalClientName http://hello.com.tr/services/WSHelloWebClientWS.DataTypes/1\" />" 
       + "<UserSessionId>" 
       + UserSessionId 
       + "</UserSessionId>" 
+0

ли вы это исправить? – Doppelganger

+0

Я пишу, как мое правое сообщение. – DuyguK

ответ

0

Вам не нужно использовать PropertyInfo, хотя это не так, вы можете позвонить веб-сервиса с вашими данными так:

request.addProperty("UserSessionId", value1); 
request.addProperty("MemberPassword", value2); 
request.addProperty("MemberLogin", value3); 
request.addProperty("ReturnMember", value4); 
request.addProperty("MemberId", value5); 
...... 

value1 здесь значение, которое вы хотите установить в UserSessionId и значение2 является значение, которое будет установлено в MemberPassword в WebService и так далее ..

вы должны также добавить эту строку

envelope.dotNet = true; 

ниже

envelope.setOutputSoapObject(request); 

, если вы хотите работать с .net веб-сервисов

Я надеюсь, что это помогло

+0

Я знаю путь, но я должен по-своему. Потому что мой другой запрос вроде этого см. Мое редактирование – DuyguK

+0

Извините, я не знаю, как вам помочь. Надеюсь, что кто-то скоро поможет вам –

Смежные вопросы