>  기사  >  백엔드 개발  >  PHP를 사용하여 WS-Security 보호 웹 서비스에 연결하는 방법은 무엇입니까?

PHP를 사용하여 WS-Security 보호 웹 서비스에 연결하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-07 02:45:03648검색

How to Connect to a WS-Security Protected Web Service Using PHP?

PHP를 사용하여 WS-Security 보호 웹 서비스에 연결

문제:

PHP를 사용하여 비밀번호로 보호된 웹 서비스에 연결하고 만들기 전에 인증 요청이 어려운 것으로 판명되었습니다. 서비스를 SoapClient 또는 SoapServer로 정의해도 원격 사이트에 성공적으로 연결되지 않는 것 같습니다.

해결책:

WS-Security로 보호되는 웹 서비스에 대한 연결을 설정하려면 SoapHeader를 활용하여 WS-Security 호환 인증 헤더를 생성합니다.

구현:

WS-Security 헤더 세부 사항을 정의하는 사용자 정의 클래스를 생성하여 SoapHeader 클래스를 확장합니다.

class WsseAuthHeader extends SoapHeader {
  // ... (your code to generate the WS-Security header)
}

필요한 자격 증명(사용자 이름, 비밀번호)을 사용하여 사용자 정의 헤더 클래스를 인스턴스화하고 이를 SoapClient 생성자에 전달합니다.

$wsse_header = new WsseAuthHeader($username, $password);
$client = new SoapClient('service URL', ['__setSoapHeaders' => [$wsse_header]]);

추가 참고 사항:

  • WS-Security와 관련된 경우 nonce와 타임스탬프가 있는 경우 답변 섹션에서 다른 구현을 참조하세요.
  • 답변에 지정된 링크에서 Stack Overflow에서 제공하는 방법과 메서드를 비교하세요.

위 내용은 PHP를 사용하여 WS-Security 보호 웹 서비스에 연결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.