2011-03-15 8 views
2

몇 사람이이 질문을했지만, 만족스러운 대답을 찾을 수 없었습니다. gSOAP을 사용하여 wsdl 문서에서 C++ 스텁을 만듭니다. 문제는 비누 메시지를 보낼 때 비누 메서드 이름에 네임 스페이스를 접두어로 붙이는 것입니다. 예를 들어, 보낼 때gSOAP 네임 스페이스 접두어 문제

을 보낼 때 <ns2:Inform></ns2:Inform>을 보내고 있습니다. 누구든지이 문제를 해결하는 방법을 알고 있습니까?

편집 :

나는 C++ 프록시 버전을 사용하고 있기 때문에 선택한 답은 아래 처음 나를 위해 작동하지 않았다 하지만 내가했던 일은, 다음 코드를 사용하여 내 서비스 객체를 생성했다,

exampleSOAPProxy service=exampleSOAPProxy(SOAP_XML_DEFAULTNS,SOAP_XML_DEFAULTNS); SOAP_XML_DEFAULTNS는 실제로 모든 요소에 네임 스페이스 접두사를 제거하고 각 요소에 명시 적으로 네임 스페이스를 추가하는 모든 것에 기본 네임 스페이스를 사용하지 않기 때문에 혼란스러운 이름입니다.

내 응용 프로그램을 컴파일 할 때 내 컴파일/링크 문에 -DWITH_SOAPDEFS_H를 추가해야했습니다. 참고 -DWITH_SOAPDEFS_H 플래그를 설정할 때 가져 오기 때문에/usr/local/include /에 soapdefs.h라는 파일을 만들어야합니다. stdsoap2.h에 포함 및 선언을 추가하는 데 사용하는 헤더 파일

답변