2016-09-09 10 views
6

私はVBAを使用してSOAPリクエストを作成しようとしていましたが、空白の応答が得られる毎回です。以下のコードを見つけてください。 WSDLのURL:http://productavailabilityfeed.xxxx.com/Availability.svc?wsdlVBAを使用してSOAPリクエストを通じてWebサービスから応答を受け取ることができません

Dim sURL As String 
Dim sEnv As String 

'Set and Instantiate our working objects 
Set objHttp = CreateObject("MSXML2.XMLHTTP") 
sURL = "http://productavailabilityfeed.xxxx.com/Product.svc/soap" 


' we create our SOAP envelope for submission to the Web Service 
'sEnv = "<?xml version=""1.0"" encoding=""utf-8""?>" 
'sEnv = sEnv & "<soap:Envelope xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope"">" 
sEnv = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:tem=""http://tempuri.org/"">" 
sEnv = sEnv & " <soap:Header>" 
sEnv = sEnv & " <soap:Body>" 
sEnv = sEnv & " <tem:GetAccommodationByCode>" 
sEnv = sEnv & " <!--Optional:-->" 
sEnv = sEnv & " <tem:getAccommodationByCodeRequest>" 
sEnv = sEnv & " <!--Optional:-->" 
sEnv = sEnv & " <tem:credentials>" 
sEnv = sEnv & " <!--Optional:-->" 
sEnv = sEnv & " <tem:username>?</tem:username>" 
sEnv = sEnv & "<!--Optional:-->" 
sEnv = sEnv & "<tem:password>?</tem:password>" 
sEnv = sEnv & "</tem:credentials>" 
sEnv = sEnv & "<!--Optional:-->" 
sEnv = sEnv & "<tem:accommodationCode>?</tem:accommodationCode>" 
sEnv = sEnv & "<!--Optional:-->" 
sEnv = sEnv & "<tem:imageSize></tem:imageSize>" 
sEnv = sEnv & "<!--Optional:-->" 
sEnv = sEnv & "<tem:interval></tem:interval>" 
sEnv = sEnv & "</tem:getAccommodationByCodeRequest>" 
sEnv = sEnv & "</tem:GetAccommodationByCode>" 
sEnv = sEnv & "</soapenv:Body>" 
sEnv = sEnv & "</soapenv:Envelope>" 

'we invoke the web service 
'use this code snippet to invoke a web service which requires authentication 
objHttp.Open "GET", sURL, False 
objHttp.setRequestHeader "Content-Type", "text/xml" 
objHttp.setRequestHeader "SOAPAction", "http://tempuri.org/xxxx/GetAccommodationByCode" 

objHttp.send sEnv 
MsgBox objHttp.responseText 
'clean up code 
Set objHttp = Nothing 
Set XMLDOC = Nothing 
+1

これはGETではなくPOSTのように見えます。要求の本文にURLクエリー文字列ではなくコンテンツを送信しています。 –

+0

例を詳しく教えてください。私はwebservicesの初心者です。 –

+0

'objHttp.Open" GET "、sURL、False' –

答えて

1

あなたは間違いなくラインでミスを持っている:

に置き換える必要があり
objHttp.Open "GET", sURL, False 

:このエラーは、あなたが前方に進むことはできません

objHttp.Open "POST", sURL, False 

。これを修正した後、SOAPメッセージをデバッグする必要がある可能性があります。だから、あなたがこれを変更した後、あなたはそれがどうなるか教えてくれるでしょう。

+0

私はそれもやっていますが、まだ空白の応答を得ています –

関連する問題