java - ksoap2 具有相似命名空间但类型不同的嵌套项

标签 java android soap ksoap2

请求信封应该是这样的:

<v:Envelope xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://www.w3.org/2001/XMLSchema" xmlns:c="http://schemas.xmlsoap.org/soap/encoding/" xmlns:v="http://schemas.xmlsoap.org/soap/envelope/">
  <v:Header />
  <v:Body>
    <getLijst xmlns="http://OAM/OMZETAPPMETHODS.xsd">
      <selectie i:type="n1:OAM_ArtstructselobjUser" xmlns:n1="http://OAM/OMZETAPPMETHODS.xsd">
        <filiaal i:type="d:decimal">4</filiaal>
        <artnivsel i:type="n1:OAM_ArtstructobjUser">
          <asonummer i:type="d:decimal">1</asonummer>
          <asotype i:type="d:string">P</asotype>
        </artnivsel>
      </selectie>
    </getLijst>
  </v:Body>
</v:Envelope>

这是我的代码的一部分:

String nameSpace = "http://OAM/OMZETAPPMETHODS.xsd";
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setAddAdornments(false);
SoapObject request = new SoapObject(nameSpace, _soapMethod);

OAM_ArtstructselobjUser obj = new OAM_ArtstructselobjUser();
// .. This is where the properties are added, irrelevant
request.addProperty("selectie", obj);

OAM_ArtstructobjUser obj2 = new OAM_ArtstructobjUser();
// .. This is where the properties are added, irrelevant
request.addProperty("artnivsel", obj2);

envelope.setOutputSoapObject(request);

Marshal floatMarshal = new MarshalFloat();
floatMarshal.register(envelope);

envelope.addMapping(nameSpace, "OAM_ArtstructselobjUser", OAM_ArtstructselobjUser.class);   
envelope.addMapping(nameSpace, "OAM_ArtstructobjUser", OAM_ArtstructobjUser.class);     

所以我想让artnivsel有一个自定义类型,但是继承了selectie的命名空间。 如果我运行上面的代码,我会得到一个 05-07 14:22:21.034: ERROR/AndroidRuntime(16417): Caused by: java.lang.RuntimeException: Unknown Property: asotype

如果我将第二个 addMappingnameSpace 更改为其他任何内容,我的代码运行正常。但是我的信封 XML 不正确。不再。

谁能给我指点,我对 ksoap2 或 soap 的经验不多。

最佳答案

好的,看起来更新到 ksoap2.6.4 可以解决这个问题。 只需在 SoapSerializationEnvelope

上将 avoidExceptionForUnknownProperty 添加到 true

关于java - ksoap2 具有相似命名空间但类型不同的嵌套项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10482090/

相关文章:

java - 流口水 Guvnor : How do dates and times work?

java - 如何在java中获取文件内容?

android - 在 App Inventor 中制作高分屏幕

android - Google Plus 集成以获取个人资料帖子

java - 生成 SOAP Web 服务客户端表单 (Java)

java - Spring boot MongoDB Change Streams 不起作用

java - 如何在 while 循环中添加多个用户提示?

android - 如何在android中进行同步网络调用?

java - OTRS:使用 wsdl 生成 Java SEI 时出错

java - 运行时动态 Web 服务调用