2012-01-31 5 views
1

私は機能にアクセスするためのwsdlファイルを提供しているWebサービスと統合しています。 Webサービスは最終的にはローカルで実行されますが、現在はリモートでサーバー上でテストしています。 (彼らは、リモート・サーバへのアクセスを許可する必要があると主張)WSDLファイルは、サービスのセクション内に次のようにあります。WSDLファイル内のsoap:address変数にWebサービスの場所が含まれていますか?

 <soap:address location="http://localhost/webservices/15/login.asmx" /> 

アムは、私が狂ったか、これは、ローカルマシン上でWebサービスを探していますという意味ではありませんリモートではありません(実際にはリモートマシンのWebサーバーを指しているはずです)。

答えて

1

いいえ、soap:addressは、サービスがどこに配置されるかについてのヒントです。

+0

どこにあるのかに関する具体的な定義はありません。これはWDSLの外で別途定義する必要があります(私はPHPを途中で使用しています)。 – deshg

+0

異なるURLに同じWSDLを持つ複数のサービスが存在する可能性があります。どこでも_defined_ではありません。 –

+0

だから(PHPで)場所変数が接続時に指定されている場合はそれを使用し、それ以外の場合はsoap:address変数を使ってアドレスを使用します(またはこれは決して使用されません)?それ以外の場合は、WSDLファイルの場所を指定するだけでなく、WebサービスのURLをlocation変数内で指定する必要があります。新しいSoapClient( "some.wsdl"、array( 'location' => "http://remotedomain.com/soap.php"))?ありがとう:) – deshg

関連する問題