문제
내장 PHP
에 대한 확장 SOAP
지 확인하지 않는 모든 것에는 수신 SOAP
요청에 대하여 XML Schema
에 WSDL
.그것은 체크의 존재에 대한 기본적인 엔지만,당신이 무언가가 있 같은 복잡한 simpleType
제약 확장 꽤 많은 무시하는 존재이다.
는 가장 좋은 방법은 무엇입하여 유효성을 검증 SOAP
요청에 대하여 XML Schema
에 포함된 WSDL
?
해결책
되었고 이 문제에 대기 시간입니다.도 원 PHP SoapServer nore NuSOAP 라이브러리는 모든 유효성 검사를 수행합니다.PHP SoapServer 단순히 형식이다.예를 들어 정의한 경우에는
<xsd:element name="SomeParameter" type="xsd:boolean" />
제출
<get:SomeParameter>dfgdfg</get:SomeParameter>
당신을 얻을 것 php 유형 boolean(true)
NuSOAP 단순히 모든 캐스팅을 문자열이 비록 그것을 인식하는 간단하 종류:
에서 nuSOAP debug 로그:
nusoap_xmlschema: processing typed element SomeParameter of type http://www.w3.org/2001/XMLSchema:boolean
그래서 가장 좋은 방법은 joelhardi 솔루션을 검증하는 자신 또는 일부를 사용 xml 파서 같은 집
다른 팁
외 native PHP5 비누 libs,나는 알 수 있습니다 당신도 배나 젠 비누 libs 할 것이키의 유효성 검사에 메시지를 존재합니다.(I 지 않는 어떤 PHP 비누 구현는 않습니다.)
내가 무엇을 할 것입니다드 XML 메시지 DOMDocument 개체와 사용 DOMDocument 의하는 방법에 대해 유효성을 검사합니다.
일반적으로 하지 않는 유효성 검사에 대한 WSDL.는 경우 WSDL 제대로 설계가 될 기본 xml 스키마(XSD)검증하는 몸의를 요청합니다.XML parser 할 수 있어야 합니다.
나머지는 어떻게 당신을 구현하는 웹 서비스로는 비누 엔진을 사용하고 있습니다.나는 바로 친밀 PHP 엔진입니다.WSDL/인터페이스 레벨의"유효"나는 보통 다음과 같은 것이 가능합니다.
- 은 몸의 요구에 맞는 알려진 요청은 종류 및 유효합(의 XSD)?
- 는 메시지해 이 상황에서 수 있습니다지도는 그것을 작동/처리기?
- 그렇다면,시작 처리
- 그렇지 않으면:류
나를 찾을 수 없는 어떤 간단한 방법으로 수행하는 유효성 검사에서 말했증 코드 사업에서 논리입니다.