2014-01-17 2 views
0

PHP SOAP을 사용하여 WSDL 웹 서비스에 연결하려고합니다. 이제 전송되는 XML에서 SOAP 요소를 제거해야합니다. 이 작업을 수행 할 수있는 방법이전화에서 SOAP 네임 스페이스를 제거하는 방법

<?xml version="1.0" encoding="UTF-8"?> 
<ns1:Calculate xmlns:ns1="http://service.com"> 
    //Content 
</ns1:Calculate> 

있습니까 :

<?xml version="1.0" encoding="UTF-8"?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
       xmlns:ns1="http://service.com"> 
<SOAP-ENV:Body> 
    <ns1:Calculate> 
     //Content 
    </ns1:Calculate> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

내가 원하는 것은 다음과 같다 : 다음은 내가 지금 가지고있는 무엇입니까? SOAP은 그러한 요청을 보내는 데 필요한 것입니까?

+0

만들려는 XML이 유효한 비누 요청 xml이 아닙니다. 원래 하나입니다. 'SOAP-ENV'를'soapenv'로 바꾸면 원래의 XML을 시도 할 수 있습니다. 그것은 과거에 저에게 도움이되었습니다. –

+0

예를 들어 주시겠습니까? – stixx

답변

-1

SOAP 요청을하려면이 태그가 필요합니다. 그것은 정말로 당신의 반대 요청에 SOAP 서버가 있습니까?

+0

SOAP 서버가 아니기 때문에 IIS 서버라고 생각합니다. webservice는 이러한 네임 스페이스를 이해하지 못하기 때문에 PHP 비누를 사용할 수 없다고 생각했습니다. – stixx

0

SOAP은 프로토콜이며 SOAP 요청을 원할 경우 클라이언트와 서버 측 모두이 프로토콜에 따라 요청을 수락하고 다시 보내야합니다. 그냥 위의 설정을 확인 :

$client = new SoapClient("some.wsdl", array('soap_version' => SOAP_1_2)); 

서버 5 월 1_2 또는 1_1 버전을 사용

. 그리고 웹 서비스 구현과 관련된 설명서를 보려면 웹 서비스 공급자에게 문의하십시오.

관련 문제