如何从gSoap消息中删除xsi:type信息?

我在Windows平台上工作,gSoap工作正常,但它在soap消息中集成了复杂类型的定义。

如何从soap消息中删除这些复杂类型定义

的xsi:type = “NS4:MYServerRequestDto”

的xsi:type = “NS4:MySettingDto”

如何重新生成gsoap文件,以便它不包含类型信息?

     2  2 2  192.168.1.199     

如果您使用的是由gSOAP工具生成的代理,则需要使用SOAP_XML_NOTYPE标志设置代理的输出模式。

它可以通过两种方式完成:

  1. 在代理本身的init函数中的一个位置,但是每次生成代理时它都将被覆盖。

     void nsTestBindingProxy::nsTestBindingProxy_init(soap_mode imode, soap_mode omode) { omode |= SOAP_XML_NOTYPE; //removes xsi:type soap_imode(this->soap, imode); soap_omode(this->soap, omode); soap_endpoint = NULL; ... } 
  2. 通过调用soap_omode函数在代码中每次初始化代理之后

     nsTestBindingProxy proxy(); soap_omode(proxy.soap, proxy.soap->omode | SOAP_XML_NOTYPE);