PHP5에서의 WSDL 및 SOAP 호출 구현 프로세스
1. 기본 개념
SOAP(Simple Object Access Protocol)은 분산형 또는 분산형 환경에서 정보를 교환하기 위한 간단한 프로토콜로 XML 기반 프로토콜이며 SOAP 엔벨롭(envelop), 캡슐화(encapsulation)의 네 부분으로 구성됩니다. 메시지에는 누가 이를 수락하고 처리해야 하는지, 그리고 애플리케이션이 표현해야 하는 데이터 유형의 인스턴스를 나타내는 데 사용되는 SOAP 인코딩 규칙(인코딩 규칙)이 포함됩니다. 원격 프로시저 호출 및 응답을 위한 프로토콜은 기본 프로토콜을 사용하여 정보를 교환합니다.
WSDL(Web Service Description Language)은 XML 웹 서비스를 설명하기 위한 표준 XML 형식입니다. Ariba, Intel, IBM, Microsoft 등의 개발자가 제안했습니다. 이는 특정 언어와 관계없이 추상적인 방식으로 특정 웹 서비스에서 보내고 받는 관련 작업과 메시지를 정의합니다. 정의에 따르면 아직 WSDL을 객체 인터페이스 정의 언어로 생각할 수 없습니다. 예를 들어 CORBA 또는 COM과 같은 애플리케이션 아키텍처는 객체 인터페이스 정의 언어를 사용합니다. WSDL은 프로토콜 중립성을 유지하지만 SOAP 바인딩을 기본적으로 지원하므로 SOAP와 분리할 수 없는 링크를 설정합니다. 따라서 이 기사에서 WSDL을 논의할 때 SOAP를 통신 프로토콜로 사용한다고 가정합니다.
SOAP와 WSDL은 웹 서비스의 두 가지 주요 표준이지만 반드시 연결되어 있지는 않으며 독립적으로 사용할 수 있습니다. 이들 사이의 관계는 HTTP와 HTML 사이의 관계와 유사합니다. 전자는 프로토콜이고 후자는 웹 서버에 대한 설명입니다.
2. PHP5에서의 구성
php 구성 파일 php.ini에서
를 찾습니다.
extension=php_soap.dll
앞의 ";" 기호를 제거한 후 웹 서비스를 다시 시작하세요
3. 웹 서비스 메서드, 매개변수, 데이터 유형 쿼리
지방 통신사의 주문 입력 인터페이스는 http://***.******.com/services/AcceptedBusiness?wsdl입니다.
우리는 SoapClient의 __geunctions() 및 __getTypes() 메소드 뷰를 사용합니다. 인터페이스의 메소드, 매개변수 및 데이터 유형
__getFunctions에 나열된 인터페이스만 비누로 호출할 수 있습니다.
루트 디렉토리에 비누.php 코드를 생성하세요
<?php header("content-type:text/html;charset=utf-8"); try { $client = new SoapClient("http://***.******.com/services/AcceptedBusiness?wsdl"); print_r($client->__getFunctions()); print_r($client->__getTypes()); } catch (SOAPFault $e) { print $e; } ?>
브라우저에서 http://localhost/soap.php를 실행한 후 반환 결과는 다음과 같습니다
Array ( [0] => ArrayOf_xsd_anyType introduceAcceptedBusiness(string $c3, string $c4, string $linkman, string $linknum, string $num, string $idcard, string $remark, string $address) [1] => ArrayOf_xsd_anyType introduceAcceptedBusinessByAiZhuangWei(string $subname, string $linkphone, string $idcard, string $address, string $businesstype, string $marketcode, string $surveycode, string $commanager, string $commanagerphone, string $bendiwang, string $fenju, string $zhiju, string $remark) [2] => string introduceAcceptedBusinessByStandardInterface(string $xmlStr) [3] => string introduceAcceptedBusinessByCallOut(string $xmlStr) [4] => string introduceAcceptedBusinessByYddj(string $xmlParam) [5] => ArrayOf_xsd_anyType queryAcceptedBusinessByAiZhuangWei(string $surveycode, string $starttime, string $endtime) [6] => string queryCallOutOrderByConfig(string $xmlParam) ) Array ( [0] => anyType ArrayOf_xsd_anyType[] )
개발문서에 언급된 인터페이스로 사용되는 IntroductionAcceptedBusinessByStandardInterface(string $xmlStr) 메소드가 있고, 매개변수는 xml 문자열입니다
또한 일부 인터페이스에는 __setSoapHeaders 메서드를 추가해야 하는 SoapHeader 인증이 언급되어 있습니다. 자세한 내용은 http://php.net/manual/zh/soapclient.setsoapheaders.php를 참조하세요
4. 주문 제출
이 단계는 개발 문서에 따라 xml 문자열을 연결한 후 이를 informedAcceptedBusinessByStandardInterface
의 매개변수로 전달하여 다음 내용으로 acceptbusiness.php를 생성하는 것입니다
<?php header("content-type:text/html;charset=utf-8"); try { $client = new SoapClient('http://***.*******.com/services/AcceptedBusiness?wsdl'); $xml = " <?xml version='1.0' encoding='UTF-8' ?> <PACKAGE> <C3>**电信</C3> <C4></C4> <LINKMAN>张三</LINKMAN> <LINKNUM>13412341234</LINKNUM> <LINKADDRESS>广东深圳</LINKADDRESS> <REMARK>iPhone 6</REMARK> <CHANNEL></CHANNEL> <GRIDCODE>1111111111111111111111111111111</GRIDCODE> <AGENTCODE>2111</AGENTCODE> <KEY>1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</KEY> </PACKAGE> "; $return = $client->introduceAcceptedBusinessByStandardInterface($xml); print_r($return); } catch (SOAPFault $e) { print_r('Exception:'.$e); } ?>
브라우저에서 실행 후 return
<?xml version="1.0" encoding="UTF-8"?> <PACKAGE> <STATUS>0</STATUS> <REASON>入单成功!</REASON> <ORDERSEQ>2014100905523549742</ORDERSEQ> </PACKAGE>
참고: http://www.cnblogs.com/txw1958/p/php5-soap-wsdl.html
위 내용은 관련 내용을 포함하여 PHP5에서의 WSDL 및 SOAP 호출 구현 프로세스를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









많은 사용자들이 스마트 시계를 선택할 때 Huawei 브랜드를 선택하게 됩니다. 그 중 Huawei GT3pro와 GT4가 가장 인기 있는 선택입니다. 두 제품의 차이점을 궁금해하는 사용자가 많습니다. Huawei GT3pro와 GT4의 차이점은 무엇입니까? 1. 외관 GT4: 46mm와 41mm, 재질은 유리 거울 + 스테인레스 스틸 본체 + 고해상도 섬유 후면 쉘입니다. GT3pro: 46.6mm 및 42.9mm, 재질은 사파이어 유리 + 티타늄 본체/세라믹 본체 + 세라믹 백 쉘입니다. 2. 건강한 GT4: 최신 Huawei Truseen5.5+ 알고리즘을 사용하면 결과가 더 정확해집니다. GT3pro: ECG 심전도, 혈관 및 안전성 추가

Java의 String.valueOf() 함수를 사용하여 기본 데이터 유형을 문자열로 변환 Java 개발에서 기본 데이터 유형을 문자열로 변환해야 할 때 일반적인 방법은 String 클래스의 valueOf() 함수를 사용하는 것입니다. 이 함수는 기본 데이터 유형의 매개변수를 허용하고 해당 문자열 표현을 반환할 수 있습니다. 이 기사에서는 기본 데이터 유형 변환을 위해 String.valueOf() 함수를 사용하는 방법을 살펴보고 다음과 같은 몇 가지 코드 예제를 제공합니다.

char 배열을 문자열로 변환하는 방법: 할당을 통해 달성할 수 있습니다. char 배열이 문자열에 직접 값을 할당하고 실행하도록 하려면 {char a[]=" abc d\0efg ";string s=a;} 구문을 사용합니다. 변환을 완료하는 코드입니다.

Windows 11에서 캡처 도구가 작동하지 않는 이유 문제의 근본 원인을 이해하면 올바른 솔루션을 찾는 데 도움이 될 수 있습니다. 캡처 도구가 제대로 작동하지 않는 주요 이유는 다음과 같습니다. 초점 도우미가 켜져 있습니다. 이렇게 하면 캡처 도구가 열리지 않습니다. 손상된 응용 프로그램: 캡처 도구가 실행 시 충돌하는 경우 응용 프로그램이 손상되었을 수 있습니다. 오래된 그래픽 드라이버: 호환되지 않는 드라이버가 캡처 도구를 방해할 수 있습니다. 다른 응용 프로그램의 간섭: 실행 중인 다른 응용 프로그램이 캡처 도구와 충돌할 수 있습니다. 인증서가 만료되었습니다. 업그레이드 프로세스 중 오류로 인해 이 문제가 발생할 수 있습니다. 이 문제는 대부분의 사용자에게 적합하며 특별한 기술 지식이 필요하지 않습니다. 1. Windows 및 Microsoft Store 앱 업데이트

Java의 String.replace() 함수를 사용하여 문자열의 문자(문자열) 바꾸기 Java에서 문자열은 불변 객체입니다. 즉, 문자열 객체가 생성되면 해당 값을 수정할 수 없습니다. 그러나 문자열에서 특정 문자나 문자열을 바꿔야 하는 상황이 발생할 수 있습니다. 이때 Java의 String 클래스에 있는 replacement() 메소드를 사용하여 문자열 교체를 구현할 수 있습니다. String 클래스의 replacement() 메소드에는 두 가지 유형이 있습니다.

안녕하세요 여러분, 오늘은 Java: String에 대한 기본 지식을 여러분과 공유하겠습니다. String 클래스의 중요성은 말할 필요도 없이 우리 백엔드 개발에서 가장 많이 사용되는 클래스라고 할 수 있으므로 이에 대해 이야기할 필요가 있다.

문자열의 길이를 얻으려면 Java의 String.length() 함수를 사용하십시오. Java 프로그래밍에서 문자열은 문자열의 길이, 즉 문자열의 문자 수를 가져와야 하는 경우가 많습니다. Java에서는 String 클래스의 length() 함수를 사용하여 문자열의 길이를 얻을 수 있습니다. 다음은 간단한 예제 코드입니다: publicclassStringLengthExample{publ

1. String1. JDK의 문자열 이해 먼저 JDK의 String 클래스 소스 코드를 살펴보면 String 클래스가 final로 수정되는 것을 볼 수 있습니다. String 클래스의 하위 클래스가 없으므로 JDK를 사용하는 모든 사람들이 동일한 String 클래스를 사용합니다. String 상속이 허용되면 모든 사람이 사용하는 String 클래스가 동일한 버전이 아닙니다. 서로 다른 두 사람이 동일한 메서드를 사용하면 결과가 달라져 코드 개발이 불가능해집니다. 상속과 메서드 재정의는 유연성을 제공할 뿐만 아니라 많은 하위 클래스가 다르게 동작하게 만듭니다.
