2012-01-16 2 views
0

Я использую SOAP-сервисы и инструмент WSDL2OBJ для генерации кода для своих веб-сервисов. Я использую следующий код, чтобы передать параметры службе. Но он отправляет пакет Emplty для моей службы.Пустой объект передан в код, созданный WSDL

В чем проблема.

// Ниже приведен код, который я использую для отправки пакетов в OBJ-C Qula_x0020_WebServiceSoapBinding * связывания = [[Qula_x0020_WebService Qula_x0020_WebServiceSoapBinding] initWithAddress: @ "URL"]; binding.logXMLInOut = YES; // Qula_x0020_WebService_ws_LoginInfo * loginInfo = []

Qula_x0020_WebService_Login *parms = [[Qula_x0020_WebService_Login alloc] init]; 

[[parms LoginInfo] setEMAIL:@"username"]; 
[[parms LoginInfo] setPASSWORD:@"pasword"]; 
[[parms DeviceInfo] setMODEL:@"model"]; 
[[parms DeviceInfo] setDEVICE_TIME:@"time"]; 

[binding LoginAsyncUsingParameters:parms delegate:self]; 

Теперь вот XML моего WebService:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:qula="url/"> 
    <soap:Header/> 
     <soap:Body> 
     <qula:Login> 
      <qula:LoginInfo> 
       <qula:EMAIL>?</qula:EMAIL> 
       <qula:PASSWORD>?</qula:PASSWORD> 
      </qula:LoginInfo> 
      <qula:DeviceInfo> 
       <qula:MODEL>?</qula:MODEL> 
       <qula:DEVICE_TIME>?</qula:DEVICE_TIME> 
      </qula:DeviceInfo> 
      </qula:Login> 
     </soap:Body> 
</soap:Envelope> 

XML, порожденный моим Obj-C запрос ниже:

<?xml version="1.0"?> 
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:Qula_x0020_WebService="http://qula.sigmatec.com.pk/" xsl:version="1.0"> 
    <soap:Body> 
     <Qula_x0020_WebService:Login/> 
    </soap:Body> 
    </soap:Envelope> 

Может кто-нибудь помочь мне PLease. М застрял здесь. :(

ответ

0

я покажу вам, как я иметь дело с данными, когда я отправить его в мыльном сообщ может быть, это поможет


NSString *conduitPath = [NSString stringWithFormat:@"http://yourwebservicename",serverIP]; 


NSURL *url = [NSURL URLWithString:conduitPath]; 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 


NSString *soapmsg = [NSString stringWithFormat: 
        @"<?xml version=\"1.0\" encoding=\"utf-8\"?>" 
        "<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">" 
        "<soap:Body>" 
        "<registration xmlns=\"http://tempuri.org/\">" 
        "<username>%@</username>" 
        "<password>%@</password>" 
        "<name>%@</name>" 
        "<email>%@</email>" 
        "<mobile>%@</mobile>" 
        "</registration>" 
        "</soap:Body>" 
        "</soap:Envelope>",self.userNameTxt.text,self.passwordTxt.text,self.nameTxt.text,self.emailTxt.text,self.mobileTxt.text]; 


NSString *msgLength = [NSString stringWithFormat:@"%d",[soapmsg length]]; 

[request addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
[request addValue:@"http://tempuri.org/registration" forHTTPHeaderField:@"SOAPAction"]; 
[request addValue:msgLength forHTTPHeaderField:@"Content-Length"]; 


[request setHTTPMethod:@"POST"]; 
[request setHTTPBody:[soapmsg dataUsingEncoding:NSUTF8StringEncoding]]; 


conn = [[NSURLConnection alloc]initWithRequest:request delegate:self]; 
if(conn) 
{ 
    webData = [[NSMutableData data]retain]; 

} 

после этого реализовать методы делегата NSURLConnection, чтобы убедиться, что ваше соединение загружено успешно.

+0

, но мы можем передать объект из этого envolpe – Ali

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