作者antirazin (~ SNSD & KARA ~ )
看板MacDev
标题[请问] 有人有写过在iphone上用soap呼叫web se …
时间Sat Oct 16 21:41:44 2010
※ [本文转录自 ask 看板 #1CkQcP8C ]
作者: antirazin (~ SNSD & KARA ~ ) 看板: ask
标题: [请问] 有人有写过在iphone上用soap呼叫web service的经验吗?
时间: Sat Oct 16 21:33:09 2010
我想要传一个wav档,
但却不知道该怎麽转成base64binary,
有人知道怎麽转吗?
欢迎丢水球或是回信~感谢
--
1F:推 waterspout:其中这男子为什麽在对方说不後 仍强行抚摸对方下体10/11 21:45
2F:→ waterspout:而里面有没有什麽秘密? 好!我们今天也请到了五位来宾 10/11 21:46
3F:→ e6638:皓平:其实马雅人早就预言到了 10/11 21:46
4F:→ waterspout:皓平 我还没叫到你
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.206.133
5F:→ zonble:随便 Google 一下应该都一堆吧? 10/16 22:06
抱歉我打详细一点好了@@...
NSData *WAVDATA = [NSData dataWithContentsOfFile:thePath];
//上面动作是将指定path的文件用NSData存起来,这边的文件是一个wav档
在soapMesssage里面 <fs>(要传入参数的位置,型态是base64binary)</fs>
我做了几种尝试:
1. 将WAVDATA转成base64
用网路上找到的NSData+Base64.m
char *EncodedDATA
= NewBase64Encode(WAVDATA, [WAVDATA length], FALSE, &NewLength);
然後传EncodedDATA
NSString *soapMessage = [NSString stringWithFormat:
@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
//.......中间省略
"<fs>
%@</fs>\n"
//.......
"</soap:Body>\n"
"</soap:Envelope>\n",
EncodedData
];
结果执行时出现 Program received signal: “EXC_BAD_ACCESS”.
2. 直接传[WAVDATA bytes]不过也得到同样情形
3. 直接传WAVDATA,结果NSLog(soapMessage)秀出:
....
b5bcb8 a0bc28c2 bec5fccb 22cf78d5 b0d8badc 70e188e3 36e5cae9 68eab4e9 a4ecbaeb 3aeb36ea cce95ae8 fae7b8e4 d6e44ce4 10e20ae2 b6e1cce1 58e2c6e2 0ce4b4e6 3ce7f2ea 20ee38f1 18f522f9 3efdfe01 7c05da08 a40e6c11 04157a18 5e1b161d c21fb421 0624ba24 aa256228 a829702a e42bde2c 122f6c2f 38304231 b434b834 a436b038 163a5c3c f63c6e3e b8408642 2c42d044 50456242 4041ae40 f43c6838 c232882c 0229fa1d 9a180011 4a05f4ff bef60ced bae46edd b4d578cd 16c9a8c1 38bc88ba 96b526b4 36b492b1 0eb4dcb4 5ab60cba 98bca6c0 9ac406c9
4ace78d1 b6d654da dadee8e1 e4e334e8 36ea70ea aaebe4ec bcebceeb
....
然後server似乎没有收到...
16 22:48:07.008 Hello_SOAP[5410:20b] connection: didReceiveResponse:1
2010-10-16 22:48:07.008 Hello_SOAP[5410:20b] DONE. Received Bytes:
0
4. 随便写死一个base64binary
<fs>a455d22</fs>
server端终於有动静了!但是...
2010-10-16 22:59:52.730 Hello_SOAP[5515:20b] connection: didReceiveResponse:1
2010-10-16 22:59:52.731 Hello_SOAP[5515:20b] connection: didReceiveData:2
2010-10-16 22:59:52.732 Hello_SOAP[5515:20b] DONE. Received Bytes: 401
2010-10-16 22:59:52.733 Hello_SOAP[5515:20b]
<?xml version="1.0" encoding="utf-8"?>
<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>
<UploadWavAndVCResponse
xmlns="
http://tempuri.org/"><UploadWavAndVCResult>索引在阵列的界限之外。</UploadWavAndVCResult>
</UploadWavAndVCResponse></soap:Body></soap:Envelope>
2010-10-16 22:59:52.735 Hello_SOAP[5515:20b] 4 parser didStarElemen: namespaceURI: attributes:
2010-10-16 22:59:52.737 Hello_SOAP[5515:20b] 4 parser didStarElemen: namespaceURI: attributes:
2010-10-16 22:59:52.737 Hello_SOAP[5515:20b] 4 parser didStarElemen: namespaceURI: attributes:
2010-10-16 22:59:52.738 Hello_SOAP[5515:20b] 4 parser didStarElemen: namespaceURI: attributes:
2010-10-16 22:59:52.739 Hello_SOAP[5515:20b] 5 parser: foundCharacters:
2010-10-16 22:59:52.739 Hello_SOAP[5515:20b] 6 parser: didEndElement:
2010-10-16 22:59:52.740 Hello_SOAP[5515:20b] 6 parser: didEndElement:
2010-10-16 22:59:52.740 Hello_SOAP[5515:20b] 6 parser: didEndElement:
2010-10-16 22:59:52.741 Hello_SOAP[5515:20b] 6 parser: didEndElement:
不知道为什麽会这样@@
希望大家看得懂我的问题
本身算程式新手观念有错误地方请多指正~
※ 编辑: antirazin 来自: 140.114.206.133 (10/16 23:00)
※ 编辑: antirazin 来自: 140.114.206.133 (10/16 23:01)
※ 编辑: antirazin 来自: 140.114.206.133 (10/16 23:01)