PHP SoapServer에서 SoapFault를 반환하려고하지만 올바른 응답 형식을 만드는 데 어려움이 있습니다.PHP SoapFault 세부 네임 스페이스
$detail = "message";
return new SoapFault("Client", "ValidationException", null, $detail, "ValidationException");
및 응답이 다음과 같습니다 : 예외를 처리 할 때
, 나는 반환하고 그러나<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>ValidationException</faultstring>
<detail>
<ValidationException>
<message>message</message>
</ValidationException>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
,이처럼 보이도록 응답을 싶습니다
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>ValidationException</faultstring>
<detail>
<ns2:ValidationException xmlns:ns2="http://service.applicationsnet.com/soap/">
<message>message</message>
</ns2:ValidationException>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
여러 가지 시도를했지만 실패했습니다. 저를 도와주세요?
네임 스페이스가있는 또 다른 사항은 "SOAP-ENV"봉투 네임 스페이스를 변경할 수 있습니까? 감사.
이고 그 안에이
같은 SOAPFault에 함께 작업을 쓰기? 이름을 "ENV-SOAP"또는 "ENVELOPE"또는 기타 뭐라고할까요? – hakre
가능한지 (PHP *도 SOAP도 아님), PHP 매뉴얼 페이지는 http://php.net/soapfault.soapfault를 참고하십시오. – hakre
그래, 내가 그 페이지에 대해 알고있다. 나는 SoapServer 클래스를 확장하고 각 응답을 보내기 전에 부분 문자열을 변경함으로써 "SOAP-ENV"접두어를 변경할 수있다. 그러나 내가 물었던 주된 질문은 SoapFault의 "ns2"네임 스페이스에 관한 것이었다. . 생각에 감사드립니다. –