2012-04-10 8 views
1

Classic ASPは優先言語ではなく、放棄する必要があることを理解しています。それらは確かに私の考えです。いずれにせよ、それが私の唯一の選択だとしましょう。WCFへの接続Classic ASPでの証明書認証の使用

は問題

私はいくつかのURI https://blah/blah.svcでホストされているC#で書かれたWCFのWebサービスを提供しています。私は、SOAP呼び出しを手作業で作成し、Server.CreateObject( "Msxml2.XMLHTTP.3.0")を使用して応答を取得するために、を使用して、Classic ASPクライアントを使用して話しています。

これで、WCFサービスが証明書認証を使用するように更新されました。私はクライアントがPHPと.Netでcert authを使用しているのを見ましたが、Classic ASPを使用してどのように接続するのか分かりません。

アイデア?私の現在のクラシックASPクライアントの

Dim objXMLHTTP : set objXMLHTTP = Server.CreateObject("Msxml2.XMLHTTP.3.0") 
Dim strRequest, strResult, strFunction, strURL, strNamespace 

strNamespace = "http://tempuri.org/IBlah/test" 
strURL = "https://blah/Blah.svc" 

strFunction = "test" 

strRequest = "<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:tem=""http://tempuri.org/"">" _ 
& " <soapenv:Header/>" _ 
& " <soapenv:Body>" _ 
& "  <tem:test>" _ 
& "   <tem:testdata>" & testdata & "</tem:testdata>" _ 
& "  </tem:test>" _ 
& " </soapenv:Body>" _ 
& "</soapenv:Envelope>" 

objXMLHTTP.open "post", strURL, False 

objXMLHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8" 

objXMLHTTP.setRequestHeader "SOAPAction", strNamespace 

'send the request and capture the result 
Call objXMLHTTP.send(strRequest) 
response = objXMLHTTP.responseText 
+0

シミアンの答えは次のようになっています。[SOAP API HTTPS - 従来のASPとの接続](http://stackoverflow.com/questions/4648207/soap-api-https-connecting-with-クラシック-ASP)。この件に関する別の質問は次のとおりです。[ServerXMLHTTPオブジェクトでHTTPSを使用できません](http://stackoverflow.com/questions/9212985/cant-use-https-with-serverxmlhttp-object) –

+0

@GuidoGautier 2番目の推奨は正しい軌道にあるかもしれません。私はpjumbleのレスポンスを与えるでしょう。 – bdeetz

答えて

0

それは可能性がある場合は代わりに - あなたはAjaxを介して、あなたの要求を投稿することができます方法である「プロキシ」を使用してASPXページでこれを構築します、それは順番に下流のサービスと通信し、応答を返送します。

この場合、プロキシ(アプリケーション)はWCFクライアントを使用するMVCアプリになる可能性があります。

暗号化されたSOAPメッセージを手動で作成するのは難しく、特にAjaxが難しいです。

関連する問題