Я создал приложение для чтения электронных книг, и оно поддерживает покупку в приложении. Сгенерированная квитанция транзакции отправляется на сервер jboss. Следующий фрагмент кода был написан для отправки квитанции о транзакции на сервер. здесь я конвертирую XML-файл в NSdata и передаю объект NSdata на сервер.
-(IBAction)download:(id)sender{
NSString *XMLPath = [[NSBundle mainBundle] pathForResource:@"ebook" ofType:@"xml"];
NSString *name = @"photo1";
NSData *imageData = [NSData dataWithContentsOfFile:XMLPath];
NSLog(@"size of imageDATA %d",imageData.length);
//NSString *Datastring = [NSString strin]
NSString *dataString = [[NSString alloc] initWithData:imageData encoding:NSUTF8StringEncoding];
//transaction.transactionReceipt;
//NSData * imageData = UIImagePNGRepresentation(image);
// NSString *postLength = [NSString stringWithFormat:@"%d", [imageData length]];
NSString *urlString = @"http://172.18.11.162:8080/DRM_15April/ReceiptDownload";
//urlString = [urlString stringByAppendingString:@"tranReceipt"];
//urlString = [urlString stringByAppendingString:@"&name="];
//urlString = [urlString stringByAppendingString:name];
//urlString = [urlString stringByAppendingString:@"&lang=en_US.UTF-8"];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
NSLog(@"the url is %@",urlString);
[request setHTTPMethod:@"POST"];
NSMutableData *postBody = [NSMutableData data];
//add data field and file data
[postBody appendData:[NSData dataWithData:imageData]];
NSLog(@"size of DATA %d",postBody.length);
// ---------
[request setHTTPBody:postBody];
// now lets make the connection to the web
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"return strind is %@",returnString);
}
Это запись следующего в моем окне консоли.
<code>-[KitabooBookShelf download:] the url is http://172.18.11.162:8080/DRM_15April/ReceiptDownload
(1) -[KitabooBookShelf download:] size of DATA 364
(1) -[KitabooBookShelf download:] return strind is <html><head><title>JBossWeb/2.0.1.GA - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u></u></p><p><b>description</b> <u>The server encountered an internal error () that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>java.io.StreamCorruptedException: invalid stream header: 3C3F786D
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:782)
java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
com.hurix.drm.servlet.ReceiptDownload.doPost(ReceiptDownload.java:40)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
com.hurix.drm.common.filter.SessionFilter.doFilter(SessionFilter.java:75)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
note Полная трассировка стека основной причины доступна в журналах JBossWeb / 2.0.1.GA.
JBossWeb / 2.0.1.GA
Может кто-нибудь подсказать мне, что может быть не так на моей стороне приложения.