0

PHP 用の Wso2 Web Services Framework (WSF) を Zend Server CE 5.5 と共に使用していますが、何らかの理由で、Web サービスへの接続フェーズの最終段階で問題が発生します。

Web サービス (.NET に組み込まれていると思います) は、ユーザー/パスワード認証やクライアント証明書を必要とせずに、HTTPS 経由の呼び出しを受け入れます。また、WSClient で WSDL を使用します。

したがって、接続するときは、以下のパラメーターを設定するだけです。

$settings = array(
    "wsdl" => realpath(dirname(__FILE__) . "/resources/wsdl.xml"),
    "classmap" => $classMap, // classMap maps the WSDL names to corresponding PHP classes
    "CACert" => realpath(dirname(__FILE__) . "/resources/cert.pem"),
    "timeout" => 40,
    "useSOAP" => "1.2",
    "useWSA" => 1.0
);

WSDL 内にあるポリシーは次のとおりです。

<wsp:Policy wsu:Id="BasicHttpBinding_IApplication_policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
  <wsp:ExactlyOne>
    <wsp:All>
      <sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
        <wsp:Policy>
          <sp:TransportToken>
            <wsp:Policy>
              <sp:HttpsToken RequireClientCertificate="false"/>
            </wsp:Policy>
          </sp:TransportToken>
          <sp:AlgorithmSuite>
            <wsp:Policy>
              <sp:Basic256/>
            </wsp:Policy>
          </sp:AlgorithmSuite>
          <sp:Layout>
            <wsp:Policy>
              <sp:Strict/>
            </wsp:Policy>
          </sp:Layout>
        </wsp:Policy>
      </sp:TransportBinding>
    </wsp:All>
  </wsp:ExactlyOne>
</wsp:Policy>

wsf_php_client.log接続が確立されていないことがわかりましたが、問題がどこにあるのかを正確に特定することは困難です. [info]ログの行は、[error]後で開始するものですか?

[warning] msg_ctx.c(1384) RampartClientConfiguration not set in message context
[info]  [ssl client] Client certificate chain filenot specified
[error] http_sender.c(1355) Error occurred in transport
[error] engine.c(171) Transport sender invoke failed
[error] wso2-wsf-php-src-2.1.0/src/wsf_wsdl.c(1226) [wsf_wsdl] Response envelope not found

すべての段階で、すべてが順調に見えます。wsf_process_wsdlの関数によって返されたデータを確認しましたが、収集されたwsf_wsdl.phpデータは問題ないようです。

少なくとも私の問題に触れているように見えるほとんどのwso2フォーラムスレッドを掘り下げましたが、これに正確に対応するものはありません. 問題がどこにあり、どのように解決するかについての選択肢が本当に不足しています。設定配列を使用して WSClient を設定するときに何か不足していますか?

4

1 に答える 1