몇 가지 문제가 있습니다. 예, 아마 리그에서 벗어났습니다.하지만 학습을 위해이 작업을 수행합니다.복잡한 wsdl을 사용하기위한 배열 구성 - PHP
SOAP 서비스를 사용하려고하는데 서버 수명을 고려하여 서버에서 허용하는 배열을 빌드 할 수 없습니다.
http://metrolive.telenor.no/kapaks-facade-soap-web/services/KapaksFacade70SoapWrapper/wsdl
내가이 작업을 수행 할 수 있으며, 그것은 완벽하게 잘 작동 :
WSDL은 볼 수 여기
$tlf = new SoapVar(
array(
new SoapVar(
array(
'ns2:connectionNumber' => 12345678,
'ns2:connectionNumberType' => "T",
'ns2:requestedProduct' => "OA"
), SOAP_ENC_OBJECT, null, null, null, 'http://web.soap.v70.kapaks.facade.metro2.telenor.com'
)
), SOAP_ENC_OBJECT, null, null, null, 'http://dto.common.v70.kapaks.facade.metro2.telenor.com'
);
$client = new SoapClient($kapaks_wsdl, $wsdl_options);
$result = $client->validateProductSoap($tlf);
이이 XML을 생성합니다 (와이어 샤크에서)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org /soap/envelope/"
xmlns:ns1="http://web.soap.v70.kapaks.facade.metro2.telenor.com"
xmlns:ns2="http://dto.common.v70.kapaks.facade.metro2.telenor.com">
<SOAP-ENV:Header/><SOAP-ENV:Body><ns1:validateProductSoap><ns1:BOGUS>
<ns2:connectionNumber>12345678</ns2:connectionNumber>
<ns2:connectionNumberType>T</ns2:connectionNumberType>
<ns2:requestedProduct>OA</ns2:requestedProduct></ns1:BOGUS>
</ns1:validateProductSoap></SOAP-ENV:Body></SOAP-ENV:Envelope>
하지만 "주소"노드에서 속성을 요청해야합니다 (노드입니까?) ?). 컬 방식 (SOAP-UI에서 Straigt)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:web="http://web.soap.v70.kapaks.facade.metro2.telenor.com"
xmlns:dto="http://dto.common.v70.kapaks.facade.metro2.telenor.com">
<soapenv:Header/>
<soapenv:Body>
<web:validateProductSoap>
<web:arg_0_0>
<dto:address>
<dto:houseLetter>A</dto:houseLetter>
<dto:houseNumber>12</dto:houseNumber>
<dto:municipalityNumber>0000</dto:municipalityNumber>
<dto:streetCodeType>V</dto:streetCodeType>
<dto:streetName>Street</dto:streetName>
</dto:address>
<dto:requestedProduct>OA</dto:requestedProduct>
</web:arg_0_0>
</web:validateProductSoap>
</soapenv:Body>
</soapenv:Envelope>
: 나는
이 XML은 컬 작동 ... 배열, 내가 일이에왔다에이를 매핑하는 방법을 알아낼 수 없습니다 나에게 XML 응답을 제공하지만 프론트 엔드보기로 전달할 수 있도록 soapclient가 생성하는 배열/객체가 필요합니다.
주소 태그 안에 무엇이 있는지를 요청하는 soapclient 요청을 어떻게 만들 수 있습니까? 또는 soapclient가 제공하는 것과 동일한 배열/객체를 만드시겠습니까?
DOMDocument :: loadXML()과 비슷한가요? – frz3993
흠, 이것은 curl-xml 응답을 array/object로 변환하는 것입니까? – kimhaak
$ wsdl_options을 제공해 주시겠습니까? 서비스를 호출하려고하는데 권한이 없다고 표시되어 있습니다. –