2013-08-06 14 views
5

Znalazłem tutaj szczegółowo Upload file via Soap message. Ale mam inny problem, jeśli w Soap jest duży plik, to powoduje on problemy z pamięcią, powodując ładowanie plików w pamięci do wysłania za pośrednictwem Komunikat mydła.Prześlij plik za pomocą wiadomości Soap za pomocą MTOM w iOS

Przeczytałem o MTOM (mechanizm optymalizacji transmisji wiadomości). „Kiedy używasz MTOM/XOP celu optymalizacji wiadomość SOAP, tym XOP przetwarzanie serialises go w MIME multipart/Pokrewne wiadomości. Przetwarzanie XOP wydobywa base64Binary dane te z komunikatu SOAP i pakietów go jako oddzielny załączniki binarne załączników w obrębie MIME wiadomości, w sposób podobny do e-mail”

znalazłem jak używać tej metody w java tutaj Soap with Attachments and MTOM in Java

teraz mam dwa pytania : -

  1. Korzystając MTOM/XOP podejście iOS możemy zmniejszyć lub rozwiązać problem pamięci jako explaind powyżej.
  2. W programowaniu W jaki sposób możemy użyć podejścia MTOM/XOP w iOS.

Każda pomoc będzie dostępna. Dziękujemy z góry.

+1

Mam również to samo pytanie. Mam nadzieję, że ktoś może odpowiedzieć na to pytanie. – MiuMiu

+0

komuś udało się uzyskać załączniki w iOS? –

+0

Wszelkie aktualizacje na temat tego pytania? Czy ktoś ma jakieś rozwiązanie? – Raj

Odpowiedz

0

Zrobiłem to samo za pomocą zestawu Rest Kit.Rest umożliwia wysłanie załącznika w specyfikacji MTOM.

Pierwszą rzeczą, jakiej potrzebujesz, to pobranie pakietu Restkit.

Poniżej znajduje się fragment kodu MTOM używający pakietu RestKit.

abv.h 
    #import "RestKit/RestKit.h" 
    RKObjectManager *man; 
    RKObjectLoader *loader; 

abc.m 

    RKLogConfigureByName("RestKit/Network", RKLogLevelTrace); 
    //Start Progress bar 
    RKParams * params = [[RKParams alloc] init]; 
    UIImage *image=[UIImage imageNamed:@"zbar-samples.png"]; 
    RKObjectManager *man; 
    NSData * fileData=UIImageJPEGRepresentation(image,0.7); 


    [params setValue:@"1234" forParam:@"encryptedToken"]; 
    [params setValue:modelObj.docNameTobeSent 
      forParam:@"documentName"]; 
    RKParamsAttachment * attachments = [params setData:fileData forParam:@"file"]; 
    [attachments setMIMEType:@"image/jpeg"]; 
    [attachments setFileName:[NSString stringWithFormat:@"%@.jpeg",modelObj.name]]; 
    self.man = [RKObjectManager objectManagerWithBaseURL:YOUR URL]; 
    self.loader = [self.man loadObjectsAtResourcePathUsingPOSTRPC:@"upload.form" objectMapping:nil PostParams:params delegate:self]; 



    - (void)objectLoader:(RKObjectLoader*)objectLoader didFailWithError:(NSError*)error 
    { 
    //Handle fail error 
    //stop Progress bar 
    } 

    - (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObjects:(NSArray*)objects 
    { 
      NSLog(@"%@",@"didLoadObjects"); 
    } 
    - (void)objectLoaderDidFinishLoading:(RKObjectLoader*)objectLoader 
    { 
     NSLog(@"%@",@"objectLoaderDidFinishLoading"); 
    //stop Progress bar 
    } 
    - (void)objectLoaderDidLoadUnexpectedResponse:(RKObjectLoader*)objectLoader 
    { 
     NSLog(@"%@",@"objectLoaderDidLoadUnexpectedResponse"); 
    //stop Progress bar 
    } 
+0

Czy znasz różnicę między żądaniem SOAP a żądaniem dotyczącym odpoczynku? Pytam tutaj o żądanie SOAP z MTOM nie poprzez REST ..... –

+0

Dla SOAP można zobaczyć poniższy link http://publib.boulder.ibm.com/infocenter/cicsts/v3r2/index.jsp?topic= % 2Fcom.ibm.cics.ts.webservices.doc% 2Fmtomxop% 2Fdfhws_attachments_and_SOAP.html – Hiren

Powiązane problemy