討論區快速選單
知識庫快速選單
網路投保旅行平安險 用最高效的方式管理MySQL
[ 回上頁 ] [ 討論區發言規則 ]
VB.NET SOAP XML 求救
更改我的閱讀文章字型大小
作者 : corps(小葉)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/4/15 下午 08:38:00
<?php
// 要訪問的webservice路徑
$soapWSDL='http://www.簡略/webservice.asmx?wsdl';
// 生成用戶端物件
$client = new SoapClient($soapWSDL, array('encoding'=>'UTF-8'));
//傳入之參數
$param = array
     (
     'UserId' => 'UID_xxxxxx',
     'UserPwd' => 'PWD_xxx',
     'ParkingLotId' => 'xxxxxx',
     'CarNumber' => '1781-T2',
     'DataTime' => '2015-04-14 13:51:52',
     'State' => '1'
     );
$result = $client->UpPlate($param);
//取回資料
echo $result->UpPlateResult;

廠商就提供這些資料,請問要如何改成VB.NET?
作者 : ozzy123(ozzy) 資訊類作業求救卓越專家C++卓越專家貼文超過4000則人氣指數超過30000點
[ 貼文 4468 | 人氣 37262 | 評價 10860 | 評價/貼文 2.43 | 送出評價 49 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/4/16 上午 12:09:33
there is an article about using web services in VB.net - http://www.codeproject.com/Articles/3783/Using-a-Web-Service-in-VB-NET


作者 : corps(小葉)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/4/17 下午 12:31:28
Dim objHTTP As New MSXML.XMLHTTPRequest
     Dim strEnvelope As String
     Dim strReturn As String
     Dim objReturn As New MSXML.DOMDocument
     Dim UserId = "8888888888"
     Dim UserPwd = "888888"
     Dim ParkingLotid = "888888"
     Dim CarNumber = "8888888"
     Dim DataTime = "2015-04-15 10:10:10"
     Dim State = "0"
     '創建SOAP封包
     strEnvelope = "<?xml version=""1.0"" encoding=""utf-8"" ?>" _
     & "<UpPlate>" _
     & "<UserId>" & UserId & "</UserId>" _
     & "<UserPwd>" & UserPwd & "</UserPwd>" _
     & "<ParkingLotid>" & ParkingLotid & "</ParkingLotid>" _
     & "<CarNumber>" & CarNumber & "</CarNumber>" _
     & "<DataTime>" & DataTime & "</DataTime>" _
     & "<State>" & State & "</State>" _
     & "</UpPlate>"
     '設定伺服端網址
     objHTTP.open("post", "http://www.簡略.asmx?wsdl", False)
     '設定標準SOAP/XML格式
     objHTTP.setRequestHeader("Content-Type", "text/xml")
     'SOAP封包送出
     objHTTP.send(strEnvelope)
     '讀取回應封包
     strReturn = objHTTP.responseText
     TextBox1.Text = strReturn

執行結果:
<?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:Header><soap12:Upgrade xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:SupportedEnvelope qname="soap:Envelope" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" /><soap12:SupportedEnvelope qname="soap12:Envelope" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" /></soap12:Upgrade></soap:Header><soap:Body><soap:Fault><faultcode>soap:VersionMismatch</faultcode><faultstring>可能是 SOAP 的版本不符合: 發現未預期的 Envelope 命名空間 。必須是 http://schemas.xmlsoap.org/soap/envelope/。</faultstring><detail /></soap:Fault></soap:Body></soap:Envelope>
作者 : aries_chen(Aries) Java卓越專家貼文超過500則
[ 貼文 782 | 人氣 1941 | 評價 3690 | 評價/貼文 4.72 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/4/17 下午 04:17:14
你要使用的
是asp.net的webservice
不需要大費周章還用soap

直接以加入web參考的方式
把那個asmx的網址加進去
就會自動產生proxy物件
再直接使用那個proxy物件就可以
作者 : corps(小葉)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/4/17 下午 08:23:35
Dim UserId = "8888888888"
     Dim UserPwd = "888888"
     Dim ParkingLotid = "888888"
     Dim CarNumber = "8888888"
     Dim DataTime = "2015-04-15 10:10:10"
     Dim State As Integer = 0
     Dim req As HttpWebRequest
     Dim reps As HttpWebResponse
     Dim url As String = ""
     Dim reqStr As String = ""
     'WebService的網址
     url = "http://www.簡略.asmx?wsdl"
     req = CType(System.Net.HttpWebRequest.Create(url), HttpWebRequest)
     req.ContentType = "application/soap+xml; charset=utf-8"
     req.Method = "POST"
     reqStr = "<?xml version=""1.0"" encoding=""utf-8""?>"
     reqStr &= "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://www.w3.org/2003/05/soap-envelope"">"
     reqStr &= "<soap:Body>"
     '方法名稱
     reqStr &= "<UpPlate xmlns=""http://tempuri.org/"">"
     '重點:參數名稱跟傳入的值, 如果有特殊字最好要編碼
     reqStr &= "<UserId>" & UserId & "</UserId>"
     reqStr &= "<UserPwd>" & UserPwd & "</UserPwd>"
     reqStr &= "<ParkingLotid>" & ParkingLotid & "</ParkingLotid>"
     reqStr &= "<CarNumber>" & CarNumber & "</CarNumber>"
     reqStr &= "<DataTime>" & DataTime & "</DataTime>"
     reqStr &= "<State>" & State & "</State>"
     reqStr &= "</UpPlate>"
     reqStr &= "</soap:Body>"
     reqStr &= "</soap:Envelope>"
     TextBox13.Text = reqStr
     '串出來的字串長度
     req.ContentLength = reqStr.Length
     '寫入資料流
     Dim sw As New IO.StreamWriter(req.GetRequestStream, System.Text.Encoding.Default)
     sw.Write(reqStr)
     sw.Close()
     reps = CType(req.GetResponse, HttpWebResponse)
     '取回資料流
     Dim sr As New IO.StreamReader(reps.GetResponseStream)
     '宣告一個xml文件載入回傳的字串 ,回傳的資料會是一份xml文件
     Dim xmlDoc As New XmlDocument
     xmlDoc.Load(sr)
     '取得第一個節點的innerText
     Me.TextBox1.Text = xmlDoc.ChildNodes(1).FirstChild.InnerText
     sr.Close()

伺服器回應
err10021

若改為
 reqStr &= "<HelloWorld xmlns=""http://tempuri.org/"">"
 reqStr &= "</HelloWorld>"

伺服器回應
Hello World

對Web概念很生疏,能幫忙解說嗎?
作者 : aries_chen(Aries) Java卓越專家貼文超過500則
[ 貼文 782 | 人氣 1941 | 評價 3690 | 評價/貼文 4.72 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2015/4/20 上午 09:41:54
先不論使用何種方式呼叫該web service
既然呼叫測試用的hello world可以
那表示基本方式應該沒甚麼問題

目前可以看到的是
呼叫另一個web service時
回應了err10021

可以先問一下提供者
這個訊息是甚麼意思
或是他們那邊是否有你呼叫的紀錄(不論成功或失敗)
成功的話,為何回應錯誤訊息
失敗的話,問題在哪?
是參數不夠?參數型態錯誤?參數資料錯誤?
 板主 : 小朱
 > VB.NET/VB 2005 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - VB.NET/VB 2005 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
VB.NET/VB 2005
1 小朱 6150 
2 吳馨琳 3030 
3 小台 2260 
4 羅啟章 1910 
5 Demonbane 1770 
6 scliu 1590 
7 square 1580 
8 蹂躪 1540 
9 jonathan321 1210 
10 識丁 1180 
VB.NET/VB 2005
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875