On the web service there is the following method:

<xs:element name="ModifyInformationRegister"> <xs:complexType> <xs:sequence> <xs:element name="Name" type="xs:string"/> <xs:element name="DimensionsSelect" type="xs1:ParameterList"/> <xs:element name="DimensionsResources" type="xs1:ParameterList" nillable="true"/> </xs:sequence> </xs:complexType> </xs:element> 

As I explained 1snik nill means that I can not pass a parameter. In php example, it is also not transmitted. If I try not to insert this parameter into the request, I get the following answer:

 SoapFault - faultcode: 'soap:Client' faultstring: 'Неизвестная ошибка. Недостаточно параметров операции по причине: Недостаточно параметров операции' faultactor: 'null' detail: org.kxml2.kdom.Node@2c72282a 

I use ksoap2-android 3.6.0

    1 answer 1

    Understood it turned out it was necessary to create an empty object (a complex type in terms of 1c) to add an attribute with the correct type and name. And this attribute explicitly prescribe namespace: http://www.w3.org/2001/XMLSchema-instance . In this passage, I form a parameter for queries which can be nillable = "true"

      ParameterList listInsert = new ParameterList(Auth.NAMESPACE_COMPLEX_TYPE,"DimensionsResources"); AttributeInfo nilAttribut = new AttributeInfo(); nilAttribut.setName("nil"); nilAttribut.setValue(true); nilAttribut.setNamespace(SoapEnvelope.XSI); nilAttribut.setType(PropertyInfo.BOOLEAN_CLASS); listInsert.addAttribute(nilAttribut); request.addProperty("DimensionsResources",listInsert);