다른 서비스의 데이터를 전달하는 SoapServer 용 WSDL을 작성해야합니다.무제한 매개 변수가있는 wsdl 조작
<operationName>
<parameterHeader></parameterHeader>
<parameterData1></parameterData1>
<parameterData2></parameterData2>
...
<parameterDataN></parameterDataN>
</operationName>
이 나는 방법
function operationName(parameterHeader, parameterData1, parameterData2, ... parameterDataN){
...
}
내 동작으로 제공 될 것입니다 얼마나 많은 매개 변수를 알고 불가능을 만들 필요가 있음을 의미합니다 : 나에게 제공 한 데이터는 다음과 같은 구조를 가지고 있습니다.
해결 방법으로, 매개 변수없이 메서드에 대해 WSDL을 만들려고하지만이 메서드 안에는 func_get_args()
함수를 사용하여 모든 매개 변수를 가져옵니다.
나는 여전히 적절한 WSDL을 만들 수 없으며 이것이 가능한지 확실하지 않습니다. 내 웹 서비스에 의해 수신한다
정확한 데이터 (예)입니다 다음
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header/>
<env:Body>
<tns:operationResponse xmlns:tns="http://somedomain.com/demo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://anotherdomain.com/anotherdemo">
<tns:ResponseHeader attrName1="data1" attrName2="data2" attrName3="data3" />
<tns:ObjectData>
<tns:ElementData ElementAttr1="data1" ElementAttr2="data2" ElementAttr3="data3"/>
</tns:ObjectData>
<tns:ObjectData>
<tns:ElementData ElementAttr1="data21" ElementAttr2="data22" ElementAttr3="data23"/>
</tns:ObjectData>
<tns:ObjectData>
<tns:ElementData ElementAttr1="data31" ElementAttr2="data32" ElementAttr3="data33"/>
</tns:ObjectData>
<tns:ObjectData>
<tns:ElementData ElementAttr1="data41" ElementAttr2="data42" ElementAttr3="data43"/>
</tns:ObjectData>
</tns:operationResponse>
</env:Body>
</env:Envelope>
당신에게 어쩌면 어떤 WSDL 같은 종류의 경험이나 데이터의 방법을 제공받을 수있는 구조에 대한 몇 가지 아이디어를 가지고 ?
매개 변수 이름을 고려할 가능성이 있으므로 complexType으로 다른 데이터를 사용할 수 있습니다. 어쩌면 WSDL은 몇 가지 트릭을 제공합니다 ...
WSDL 사양이 이것을 지원하는지 모르겠습니다. 하나의 컬렉션 매개 변수를 갖고 배열을 전달하는 것이 잘못된 이유는 무엇입니까? –