2012-08-07 3 views
2

변수에 선행 밑줄이있는 SOAP 서비스로 작업하고 있습니다 (개인은 비공개로 간주되지만 문서에는 반드시 사용해야하는 특정 예제가 있습니다). WSDL에 그것은 다음과 같습니다파이썬에서 선행 밑줄이있는 매개 변수 suds

<xsd:element maxOccurs="1" minOccurs="0" name="__encoded_query" type="xsd:string"/> 

을 내 client.service 통화에서 명명 된 매개 변수를 사용하여 내가 밑줄이 사람을 제외하고, 정상으로 변수를 할당 할 수 오전 것으로 확인되었습니다 몇 가지 실험을 통해. 예를 들어

:

client.service.getRecords(name='server1') 

올바른 XML 생성합니다 :

client.service.getRecords(__encoded_query='name=server1') 

는 XML 생성됩니다

<ns1:getRecords> 
    <name>server1</name> 
</ns1:getRecords> 

을하지만 밑줄로 매개 변수를 사용하려고하면 매개 변수를 전혀 포함하지 않습니다 :

<ns1:getRecords/> 

개인 변수 컨벤션을 기반으로 변수를 보호하여 "스마트"하려고 시도하는 suds 또는 필자가 익숙하지 않은 구문 뉘앙스인지 확실하지 않습니다. 어쨌든 이것은이 웹 서비스를 사용하는 문서화 된 방법이므로 __encoded_query 블록을 포함하여 XML을 생성하는 비눗물을 얻는 방법을 알아야합니다.

답변

1

귀하의 잘못이 아니며, documented suds issue입니다.

+0

감사합니다.이 응답을 보지 못했습니다 (또는 티켓을 보았습니다). – valdarin