如何调用空“soapAction”?

问题描述 投票:0回答:1

我在WSDL工作,我使用Ksoap2为我的android项目。但我有一个问题。我们知道,我们使用soapAciton URL调用任何操作。此网址为NAMESPACE + METHOD_NAME。我的Web服务有很多操作,但soapActions是空的。

WSDL来源:

<wsdl:operation name="PLTR1">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="PLTR1">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="PLTR1Response">
<soap:body use="literal"/>
</wsdl:output></wsdl:operation>

所以,我在我的android项目中给出了这个值;

   private static final String METHOD_NAME = "PLITR1";
   private static final String NAMESPACE = "http://****.com/";
   private static final String SOAP_ACTION = "";
   private static final String URL = "http://**.**.**.**/***/*****?WSDL";

我为操作设置了值并将它们包起来。当我打包包装;信封bodyOut保存我的价值观。但是,当我使用SoapPrimitive设置时,我会取空值。我想,这将是我的SOAP_ACTION是空的。

HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
        try {
            androidHttpTransport.debug=true;
            androidHttpTransport.call(SOAP_ACTION,envelope);
            SoapPrimitive result =  (SoapPrimitive) envelope.getResponse();
            textView.setText(result.toString());

        } catch (IOException e) {
            e.printStackTrace();
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        }

我们如何解决这个问题?

android soap android-ksoap2
1个回答
0
投票

我解决了这个问题。如果你住这个问题;你应该为信封添加这个。

envelope.dotNet = false;
envelope.setAddAdornments(false);
© www.soinside.com 2019 - 2024. All rights reserved.