0

Web サービスにリクエストを送信しようとしています。これは WSDL です: http://www.smsmelli.com/class/sms/webservice/server.php?wsdl

長い間調査した結果、型指定されていない配列を文字列の配列の配列に置き換える必要があることを理解しました。ここまでは解決しましたが、SOAP が正しく動作していないことに気付きました。まったく同じように動作する PHP アクションを確認したところ、SOAP からの HTTP のヘッダーに認証情報が設定されていることがわかりました。

in WireShark:
-HyperText Transfer Protocol
--Authorization: Basic Y3LIZ577838sdf=
---Credentials: YourUserName:YourPassWord

HTTPRIO SOAPを使用してDelphi 7でそれを設定するにはどうすればよいですか?

4

1 に答える 1

0

Delphi 7 についてはわかりませんが、XE2 では THTTPRIO に HTTPWebNode プロパティがあり、ユーザー名とパスワードの設定があります。

HTTPWebNode の BeforePost では、次のような HTTP ヘッダーの詳細な操作を行うことができます。

procedure TFrmTestEWS.HTTPRIO1HTTPWebNode1BeforePost(
  const HTTPReqResp: THTTPReqResp; Data: Pointer);
const
   CONTENT_HEADER_EX2010 = 'Content-Type: text/xml; charset=utf-8';
begin
   // http://forum.delphi-treff.de/archive/index.php/t-31817.html
   // Need to exchange the Content-Type Header, because Exchange 2010 expects
   // 'Content-Type: text/xml; charset=utf-8' instead of
   // 'Content-Type: text/xml; charset="utf-8"' which is RFC conform and used by XE2
   HttpAddRequestHeaders(Data, PChar(CONTENT_HEADER_EX2010), Length(CONTENT_HEADER_EX2010), HTTP_ADDREQ_FLAG_REPLACE);
end;

これが役立つことを願ってい
ます

于 2013-01-07T15:39:50.987 に答える