0
내가 WSDL을 기반으로 클래스지도 클래스를 만들 wsdl2php.php을 사용 매핑합니다. 그것은 하나의 계정을 생성하고 하나의 이름 값 쌍을위한 두 개의 클래스를 생성했습니다. PHP 중첩 된 SOAP 태그
나는 비누 요청을 만들 클래스 (들)을 사용하는 방법을 알아 내려고 노력하고있어. 비누 서버는 .Net입니다. 나는 NameValue 태그에 이름과 값 쌍을 중첩의 몇 가지 방법을 사용하여 시도했다<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateAccount xmlns="https://www.mywsdlsitehere.com/Account">
<parameters>
<NameValue>
<name>string</name>
<value>string</value>
</NameValue>
<NameValue>
<name>string</name>
<value>string</value>
</NameValue>
</parameters>
</CreateAccount>
</soap:Body>
</soap:Envelope>
: 여기
는 CreateAccount.asmx 페이지가 제시 한 비누 요청입니다. 당신은 구조 서비스 요구를 생성하지 않는Fatal error: Uncaught SoapFault exception: [soap:Server] Server was unable to process request. ---> Value cannot be null.
감사 스벤 :
나는 이런 식으로 뭔가를 기대. 여러 NameValue 쌍에 대해 무엇을 할 수 있습니까? 예를 들어, 3 개의 다른 이름과 값이 있습니까? $ nameValue1의 세 줄을 복사 한 다음 각 $ create-> parameters [] = $ nameValue1에 대해 새 줄을 추가하겠습니까? – fowbar
나는 이것을 가지고있다 :'$ create = new CreateAccount(); $ create-> parameters = array(); $ nameValue1 = 새 NameValue(); $ nameValue1-> name = "Name1"; $ nameValue1-> value = "Value1"; $ create-> parameters [] = $ nameValue1; $ cr_result = $ account-> CreateAccount ($ create); var_dump ($ cr_result) 다음 오류가 발생합니다. 서버가 요청을 처리 할 수 없습니다. ---> 원격 작업을 실행하는 중 오류가 발생했습니다. (XML 문서 (1, 2)에 오류가 있습니다 (이 (가) 예상하지 못했습니다.))) – fowbar
나는 $ 계정이 soapcall이 시작된 AccountService 클래스의 인스턴스라고 언급하는 것을 잊었습니다. GetAccount 및 UsernameAvailable과 같은 다른 비누 호출에 사용했기 때문에 작동하는 것으로 알고 있습니다. – fowbar