2012-03-18 25 views
1

VFP 9.0 SP2でWebサービスを呼び出そうとしています。サービスをホストしているサイトは、HTTPS経由でのみ利用可能です。私は問題なしでこのプロジェクトをASP.NETプロジェクトで使用しましたが、VFPでアクセスしようとすると次のエラーが発生します。HTTPS経由でVFPでWebサービスを呼び出すときにエラーが発生する

エラー:1429 - OLE IDispatch例外コード0(コネクタ:コネクタ:不正な証明書)。 HRESULT = 0x800A1529 - クライアント:この要求の処理中に予期しないエラーが発生しました。 HRESULT = 0x800A1529 - クライアント:SOAPメッセージの送信に失敗したか、認識できない応答が受信されました。HRESULT = 0x800A1529 - クライアント:不明なクライアントエラー。 HRESULT = 0x800A1529 .. コネクタ:不正な証明書です。 HRESULT = 0x800A1529 - クライアント:この要求の処理中に予期しないエラーが発生しました。 HRESULT = 0x800A1529 - クライアント:SOAPメッセージの送信に失敗したか、認識できない応答が受信されました。HRESULT = 0x800A1529 - クライアント:不明なクライアントエラー。 HRESULT = 0x800A1529

SSLを必要とするVFPおよびWebサービスに問題はありますか?

ここでは、接続をテストするために使用したコードです。

ここでサンプルコードのビットが...

CLEAR

LOCAL lcEndPointURL 

lcEndPointURL = "https://geocoding.bit-co.com/WS_Geo_v1/Service1.asmx?WSDL" 

o = CREATEOBJECT("MSSoap.Soapclient30") 
? o.MSSoapInit(lcEndPointURL) 
? o.GetGeoCoderVersion 

これは、上記のエラーが生じます。

VB.NETのコードビハインドは、(Webサービスが参照されると)うまく動作します。

Public Class About 
    Inherits System.Web.UI.Page 
    Dim wsGeo As New wsGeo.Service1 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Dim GCVersion As String = wsGeo.GetGeoCoderVersion 
     lblGCVersion.Text = GCVersion 
    End Sub 
End Class 

は、このコードは、予想される結果

を生成
+1

VFPに問題はないはずです.VFP経由でサービスをどのように呼び出そうとしていますか。 HTTPS://yourWebServiceSite.com/を介して具体的に接続しようとするとSSL接続をしていますか?あなたの接続にいくつかのコードを表示してください(実際のURL、ユーザー、および情報を保護します)。ここ – DRapp

+0

は、サンプル・コードのビット... CLEAR LOCAL lcEndPointURL lcEndPointURL = "https://geocoding.bit-co.com/WS_Geo_v1/Service1.asmx?WSDL" O = CREATEOBJECT( "MSSOAP .Soapclient30 ") ? o.MSSoapInit(lcEndPointURL) ? o.GetGeoCoderVersion – Gwen

+0

フィドラーのヒントをありがとう。私は今それを調べます。 – Gwen

答えて

1

私がURLにアップしているかわからないが、私は前に処理するための完全なSOAPパッケージ/封筒を渡されることを期待していると思われるだけことができます応答を取り戻す。このようなデバッグ作業中にインターネット通信を追跡できる興味深いツールは、Fiddlerと呼ばれています。私はさまざまなプロジェクトのトラブルシューティングの問題でそれを使用しましたが、それもあなたを助けるかもしれません。

タイムアウトの問題もあります。私はリクエストを入れ、Fiddlerをチェックして何も戻ってこない...サイト自体のように反応しない。つまり、私はWSDLリンクを直接ブラウザに入れているだけですが、私の最後にもブロックされたサイトにすることができます。フィドラーは、「生の」データが戻ってくるものと何が失われているのかをより良く助けることができます。

さらに、加入者型サービスの場合、接続によって適切なユーザー/ pwd情報が提供されない限り、接続を積極的に拒否する必要があります。場合によっては、登録されていない特定のIPアドレスに基づいて積極的にブロックすることもできます。

UPDATE .. OPTION 2

this siteに行く...あなたのためによく働くかもしれないもう一つの選択肢。そのWest-Wind Technologiesは、Rick Strahlが所有/運営しています。私が覚えている限り、彼はFoxproとWebの教祖でした(1993-94年に戻る)。彼はSOAPオブジェクトを扱うためのwwSOAPダウンロードツールを持っています。私はあなたが走っていると思うのは、xmlns:entries用の拡張soap/xaml/nested includeのMSが必ずしもサポート/アップデートしていないOLD SOAPユーティリティです。これは、あなたが打っているものかもしれません。 wwSOAPはVFPで書かれており、彼のドキュメントとサンプルは一般的に優れています。私もそれを強く見ています。

+0

@Gwen、別のオプションを見て...修正された答えを見てください。 – DRapp

+0

更新オプション2は私を稼働させました。ありがとうございました。 – Gwen

+0

@Gwen、VFPの世界とインターネットからの多くのものを手伝ってうれしい...他のものも彼のサイトを見てください...彼はブラックボックスだけの偉大でシンプルなインターネットツールであるたくさんのものを持っています物事をあなたのために終わらせてください。 – DRapp

関連する問題