2010-05-24 2 views
1

Zend_Soap_Client를 사용하여 다음 요청을 모방하고 싶습니다.SOAP 요청 본문에 해시 된 데이터를 보내는 방법은 무엇입니까?

<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
<SOAP-ENV:Header> 
<h3:__MethodSignature xsi:type="SOAP-ENC:methodSignature" 
xmlns:h3="http://schemas.microsoft.com/clr/soap/messageProperties" SOAP-ENC:root="1" 
xmlns:a2="http://schemas.microsoft.com/clr/ns/System.Collections">xsd:string a2:Hashtable</h3:__MethodSignature> 
</SOAP-ENV:Header> 

<SOAP-ENV:Body> 
    <i4:ReturnDataSet id="ref-1" xmlns:i4="http://schemas.microsoft.com/clr/nsassem/Interface.IRptSchedule/Interface"> 
    <sProc id="ref-5">BU</sProc> 
    <ht href="#ref-6"/> 
    </i4:ReturnDataSet><br/> 

    <a2:Hashtable id="ref-6" xmlns:a2="http://schemas.microsoft.com/clr/ns/System.Collections"> 
    <LoadFactor>0.72</LoadFactor> 
    <Version>1</Version> 
    <Comparer xsi:null="1"/> 
    <HashCodeProvider xsi:null="1"/> 
    <HashSize>11</HashSize> 
    <Keys href="#ref-7"/> 
    <Values href="#ref-8"/> 
    </a2:Hashtable> 

    <SOAP-ENC:Array id="ref-7" SOAP-ENC:arrayType="xsd:anyType[1]"> 
    <item id="ref-9" xsi:type="SOAP-ENC:string">@AppName</item> 
    </SOAP-ENC:Array><br/> 

    <SOAP-ENC:Array id="ref-8" SOAP-ENC:arrayType="xsd:anyType[1]"> 
    <item id="ref-10" xsi:type="SOAP-ENC:string">AAGENT</item> 
    </SOAP-ENC:Array> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

내가 해시 보내도록했습니다 든 것 같다 "REF-7""REF-8"몸 안에 내장 배열? 어떻게해야합니까?

기능 ReturnDataSet 내가 "REF-7""REF-8" 배열 데이터를 추가로 전송할 수있는 방법, 두 개의 매개 변수?

$client = new SoapClient($wsdl_url, array('soap_version' => SOAP_1_1)); 
$result = $client->ReturnDataset("BU", $ht); 

그 해시 된 데이터가 다른 신체 항목으로 전송되도록, $의 HT을 설정하는 방법을 모르겠어요.

감사합니다.

답변

0

2 차원 배열을 $ ht로 보내 봤습니까? 코드를 살펴보면, $ ht는 해시 테이블에 해당합니다. ref-7과 ref-8은 배열 자체입니다.

Visual Studio에서이 서비스를 열어 매개 변수 유형을 알았으나 몇 가지 스키마 오류가 발생했습니다. 주로 dataTypes가 누락되었습니다. 이 웹 서비스가 구성되어 있고 다른 사람들처럼 작동해야한다고 확신합니까?

+0

2 차원 어레이를 전송하려고했지만 오류가 발생했습니다. 테스트 목적으로 CURL을 사용하여 전체 요청을 보냈는데 예상대로 작동했습니다. – understack

관련 문제