青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

qiezi的學習園地

AS/C/C++/D/Java/JS/Python/Ruby

  C++博客 :: 首頁 :: 新隨筆 ::  ::  :: 管理 ::
首先寫一個簡單的webservice:

using?System;
using?System.Web;
using?System.Web.Services;
using?System.Web.Services.Protocols;

[WebService(Namespace?
=?"http://tempuri.org/")]
[WebServiceBinding(ConformsTo?
=?WsiProfiles.BasicProfile1_1)]
public?class?Service?:?System.Web.Services.WebService
{
????[WebMethod]
????
public?string?HelloWorld(string?name)?{
????????
return?"Hello,?"?+?name;
????}
????
}

在RoR項目里,添加app/apis/test_api.rb:

class?TestApi?<?ActionWebService::API::Base
??api_method?:HelloWorld,?:expects?
=>?[{:name?=>?:string}],?:returns?=>?[:string]
end

這是RoR里面通用的webservice元信息描述。

添加app/controllers/test_controller.rb:

class?TestController?<?ApplicationController
??web_client_api?:test,?:soap,?
"http://localhost/test/Service.asmx",?
?????????????????:namespace?
=>?"http://tempuri.org/",
?????????????????:soap_action_base?
=>?"http://tempuri.org",
?????????????????:driver_options
=>{:default_encodingstyle?=>?SOAP::EncodingStyle::ASPDotNetHandler::Namespace?}

??
def?hello
????render_text?test.HelloWorld(
"Li?Jie")
??end
end

:soap_action_base選項是一個修補,不加這個選項會產生SOAPAction頭錯誤。

運行服務器,在瀏覽器中訪問/test/hello,發現名字為空。經過長時間調試,發現.Net在解析SOAP消息體時,不能處理這種命名空間:

????<n1:HelloWorld?xmlns:n1="http://tempuri.org/"
????????soap:encodingStyle
="http://schemas.xmlsoap.org/soap/encoding/">
??????
<name?xsi:type="xsd:string">Li Jie</name>
????
</n1:HelloWorld>

把n1去掉就行了。不過這部分實現在rubylib/soap/rpc/proxy.rb里面,實在不方便修改。為了讓這個測試通過,暫時做了點小修改:

??def?route(req_header,?req_body,?reqopt,?resopt)
????req_env?
=?::SOAP::SOAPEnvelope.new(req_header,?req_body)
????unless?reqopt[:envelopenamespace].nil?
??????set_envelopenamespace(req_env,?reqopt[:envelopenamespace])
????end
????reqopt[:external_content]?
=?nil
????conn_data?
=?marshal(req_env,?reqopt)
????
if?ext?=?reqopt[:external_content]
??????mime?
=?MIMEMessage.new
??????ext.each?do?
|k,?v|
??????????mime.add_attachment(v.data)
??????end
??????mime.add_part(conn_data.send_string?
+?"\r\n")
??????mime.close
??????conn_data.send_string?
=?mime.content_str
??????conn_data.send_contenttype?
=?mime.headers['content-type'].str
????end

????conn_data.send_string.gsub!(
/:n1/,?'')
????conn_data.send_string.gsub!(
/n1:/,?''
)

????conn_data?
=?@streamhandler.send(@endpoint_url,?conn_data,
??????reqopt[:soapaction])
????
if?conn_data.receive_string.empty?
??????
return?nil
????end
????unmarshal(conn_data,?resopt)
??end

加粗的2行是我添加的代碼,勉強可以讓它工作,不過顯然不是正確的方法。

不知道是不是.Net庫里面的BUG。
posted on 2006-05-14 20:08 qiezi 閱讀(494) 評論(0)  編輯 收藏 引用 所屬分類: 自家破爛Ruby
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩一级免费| 免费试看一区| 最新亚洲激情| 亚洲一区视频| 欧美一区二区三区免费观看| 在线观看免费视频综合| 国产精品一区二区久久久久 | 亚洲私人影院| 亚洲免费观看高清在线观看 | 亚洲欧美日韩国产成人| 一本大道久久a久久综合婷婷| 亚洲黄色高清| 亚洲激情午夜| 99精品视频一区| 亚洲一级高清| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲视频一区| 亚洲欧美日韩精品久久| 午夜精品久久久久久久男人的天堂| 亚洲一区二区在线看| 午夜一级在线看亚洲| 久久精品国产精品亚洲| 麻豆精品精华液| 亚洲高清视频一区二区| 亚洲精品午夜| 在线亚洲一区二区| 中文在线资源观看视频网站免费不卡| 好吊日精品视频| 亚洲日本中文字幕区| 中日韩高清电影网| 久久国产精品久久国产精品| 乱中年女人伦av一区二区| 亚洲国产91精品在线观看| 亚洲毛片一区| 亚洲一区二区成人| 久久这里只有| 亚洲最新中文字幕| 久久狠狠婷婷| 欧美日韩免费观看一区=区三区| 国产精品久久亚洲7777| **性色生活片久久毛片| 亚洲视频免费| 欧美成人精品三级在线观看| 亚洲精选国产| 宅男噜噜噜66一区二区66| 久久国内精品视频| 国产精品hd| 亚洲东热激情| 久久精品99国产精品酒店日本| 欧美国产高潮xxxx1819| 中文av一区特黄| 美女网站久久| 国产女人水真多18毛片18精品视频| 亚洲国产精品悠悠久久琪琪| 日韩亚洲欧美在线观看| 久久久久久免费| 中日韩美女免费视频网址在线观看 | 国产精自产拍久久久久久| 91久久国产综合久久91精品网站| 亚洲在线视频网站| 亚洲国产精品日韩| 欧美在线播放高清精品| 国产精品户外野外| 亚洲精品中文字幕在线| 午夜免费久久久久| 一本色道久久88综合亚洲精品ⅰ| 久久久久网址| 尤物九九久久国产精品的分类| 香蕉亚洲视频| 99成人在线| 欧美日韩一区二区欧美激情| 亚洲日本理论电影| 欧美插天视频在线播放| 久久激情视频| 亚洲欧美日韩第一区| 欧美视频一区二区三区| 一本高清dvd不卡在线观看| 欧美激情视频网站| 欧美成人四级电影| 亚洲美女精品一区| 亚洲人成在线播放| 欧美激情四色 | 免费人成网站在线观看欧美高清| 经典三级久久| 免费成人在线观看视频| 欧美高清不卡在线| 亚洲调教视频在线观看| 国产精品免费一区豆花| 亚洲欧美影音先锋| 久久精品国产一区二区三| 黑人操亚洲美女惩罚| 亚洲精品久久嫩草网站秘色 | 亚洲午夜精品久久| 国产精品美女久久久浪潮软件| 亚洲欧美变态国产另类| 久久亚洲一区二区| 日韩视频专区| 亚洲色图制服丝袜| 伊人婷婷久久| 亚洲人成欧美中文字幕| 国产精品视频xxx| 久久婷婷一区| 欧美精品一区在线观看| 亚洲欧美国产不卡| 亚洲免费成人| 国产欧美视频一区二区三区| 久久久精品视频成人| 久久精品亚洲| 亚洲高清视频的网址| 亚洲伦理在线观看| 国产亚洲一区二区三区| 亚洲大片精品永久免费| 欧美色欧美亚洲另类二区| 久久本道综合色狠狠五月| 久久露脸国产精品| 在线日本成人| 91久久中文| 欧美日本不卡视频| 欧美一区二区三区在| 麻豆精品在线播放| 欧美一区视频在线| 欧美激情第五页| 久久久免费精品| 欧美性久久久| 亚洲国产美女久久久久| 国产亚洲精品一区二区| 日韩午夜高潮| 亚洲人成毛片在线播放| 午夜精品久久久久久| 国产一区在线看| 欧美大片18| 国产综合亚洲精品一区二| 夜夜狂射影院欧美极品| 91久久精品国产91性色tv| 欧美一区二区福利在线| 亚洲视频精选在线| 欧美粗暴jizz性欧美20| 另类图片综合电影| 国产一级揄自揄精品视频| 夜夜嗨av色一区二区不卡| 国产一区日韩欧美| 亚洲第一色中文字幕| 国产综合自拍| 久久免费99精品久久久久久| 欧美无砖砖区免费| 亚洲激情第一页| 亚洲人被黑人高潮完整版| 性欧美xxxx视频在线观看| 国产精品久久久久久久久借妻| 亚洲国产乱码最新视频| 亚洲欧洲在线看| 欧美日韩国产色站一区二区三区| 亚洲精品国产品国语在线app| 一区二区欧美精品| 国产精品日韩二区| 小嫩嫩精品导航| 免费欧美日韩| 一区二区三区精品国产| 国产精品实拍| 美女久久一区| 一区二区三区成人 | 欧美国产日韩精品免费观看| 亚洲精品国产精品乱码不99按摩| 欧美成人午夜免费视在线看片| 亚洲精品在线观看视频| 欧美影院成人| 亚洲欧洲视频在线| 国产精品私人影院| 欧美成人国产一区二区| 中文日韩在线视频| 免播放器亚洲一区| 亚洲一区二区欧美| 在线观看三级视频欧美| 欧美日韩国产高清| 久久精品国产精品| 夜色激情一区二区| 欧美第十八页| 久久久精品999| 亚洲一区二区在线| 亚洲国产成人一区| 国产麻豆视频精品| 欧美区二区三区| 久久天天躁狠狠躁夜夜爽蜜月| 日韩午夜激情| 欧美激情中文字幕乱码免费| 欧美在线免费| 亚洲影院色无极综合| 亚洲欧洲日产国产网站| 国产性猛交xxxx免费看久久| 欧美日韩亚洲一区三区 | 国产亚洲va综合人人澡精品| 欧美久色视频| 免费的成人av| 久久精品日产第一区二区| 亚洲午夜精品久久| 亚洲精品一线二线三线无人区| 欧美福利电影网| 免费毛片一区二区三区久久久| 久久精品卡一| 久久久久九九九|